[patch] bug in cpp's #ident handling in gcc 3.4 [Was: ccache
with buildworld]
Maxim Sobolev
sobomax at portaone.com
Thu Aug 26 09:10:47 PDT 2004
Pointless. Instead of fixing the problem we will remove condition when
this problem evidences itself. I am not advocating about keeping #ident,
since it is completely orthogonal question. gcc claims that it supports
#ident, there are problems in this support - they have to be fixed.
Remember, there are lot of software out of /usr/src over which we have
no control (e.g. /usr/ports), so that removing #ident will really be
only half-measure, especially considering that the patch is readily
available.
-Maxim
Jun Su wrote:
> Maxim Sobolev wrote:
>
>> Hi there,
>>
>> I was looking into the problem with building world using ccache. It
>> was failing with the following error message:
>>
>> /usr/src/lib/libc/rpc/key_call.c:33:10: extra tokens at end of #ident
>> directive
>>
> <emit>
>
>>
>> It would be nice to get it committed before 5.3 is out.
>>
>> Regards,
>>
>> Maxim
>>
>>
>> ------------------------------------------------------------------------
>>
>> --- src/contrib/gcc/c-ppoutput.c 2004/08/26 14:10:04 1.1
>> +++ src/contrib/gcc/c-ppoutput.c 2004/08/26 14:10:32
>> @@ -292,7 +292,7 @@
>> const cpp_string *str)
>> {
>> maybe_print_line (print.map, line);
>> - fprintf (print.outf, "#ident \"%s\"\n", str->text);
>> + fprintf (print.outf, "#ident %s\n", str->text);
>> print.line++;
>> }
>>
>
>
> In the files of the same folder, '#ident' are all in the /* */. I think
> fix key_call.c to put #ident into comments makes more sense than change
> gcc behaivr.
>
> Jun Su
>
>
> %grep -r '#ident' /usr/src/lib/libc/*
> /usr/src/lib/libc/rpc/clnt_bcast.c:/* #ident "@(#)clnt_bcast.c
> 1.18 94/05/03 SMI" */
> /usr/src/lib/libc/rpc/clnt_dg.c:/* #ident "@(#)clnt_dg.c 1.23
> 94/04/22 SMI" */
> /usr/src/lib/libc/rpc/clnt_generic.c:/* #ident "@(#)clnt_generic.c
> 1.40 99/04/21 SMI" */
> /usr/src/lib/libc/rpc/key_call.c:#ident "@(#)key_call.c 1.25 94/04/24
> SMI"
> /usr/src/lib/libc/rpc/rpc_soc.c:/* #ident "@(#)rpc_soc.c 1.17
> 94/04/24 SMI" */
> /usr/src/lib/libc/rpc/rpcb_clnt.c:/* #ident "@(#)rpcb_clnt.c 1.27
> 94/04/24 SMI" */
> /usr/src/lib/libc/rpc/rpcb_prot.c:/* #ident "@(#)rpcb_prot.c 1.13
> 94/04/24 SMI" */
> /usr/src/lib/libc/rpc/svc_auth.c:/* #ident "@(#)svc_auth.c 1.16
> 94/04/24 SMI" */
> /usr/src/lib/libc/rpc/svc_dg.c:/* #ident "@(#)svc_dg.c 1.17
> 94/04/24 SMI" */
> /usr/src/lib/libc/rpc/svc_generic.c:/* #ident "@(#)svc_generic.c
> 1.19 94/04/24 SMI" */
> /usr/src/lib/libc/rpc/svc_raw.c:/* #ident "@(#)svc_raw.c 1.16
> 94/04/24 SMI" */
>
>
>
More information about the freebsd-current
mailing list