This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: gcc error: warning: pasting "syn" and ")" does not give a valid preprocessing token
- To: Kiet Tran <ktran at extremenetworks dot com>
- Subject: Re: gcc error: warning: pasting "syn" and ")" does not give a valid preprocessing token
- From: Neil Booth <neil at daikokuya dot demon dot co dot uk>
- Date: Thu, 5 Jul 2001 07:11:04 +0100
- Cc: Alexandre Oliva <aoliva at redhat dot com>, gcc-bugs at gcc dot gnu dot org
Kiet Tran wrote:-
> The attachment is b.c . I have embbeded all the header files except
> those common to a unix system. The file now will compile but if you
> remove the space character as decribed in my earlier message, the
> preprocessor will not replace the 'state' string. The compiling
> instruction:
I was looking for a one or two line concrete example.
If I do
#define TCP_EXTERN(state) \
extern pspec_t *state##_rcv_rst(tcb_t *,pspec_t *),
TCP_EXTERN (foo)
I get
# 3 "/tmp/foo.c"
extern pspec_t *foo_rcv_rst(tcb_t *,pspec_t *),
With a space I get:-
# 3 "/tmp/foo.c"
extern pspec_t * foo_rcv_rst(tcb_t *,pspec_t *),
Which looks identical, modulo the space, to me. I can't reproduce
what you claim, and I don't think there is a bug.
Neil.