unexpected parse error in #define

Erik Talvola talvola@yahoo.com
Thu Oct 5 20:06:00 GMT 2000


I wouldn't normally expect that continuations lines
would be treated differently when using #define with a
macro that takes arguments vs. one which doesn't. 
Didn't see anything in the CPP manual which describes
this, but don't have a copy of the ANSI standard to
know whether this is specified or not:

[etalvo@hobo etalvo]$ more test.c

#define FOO a \
 { a(); }

[etalvo@hobo etalvo]$ more test3.c

#define FOO(r) a \
 { a(); }

[etalvo@hobo etalvo]$ gcc -c test.c
test.c:3: parse error before `{'
[etalvo@hobo etalvo]$ gcc -c test3.c
[etalvo@hobo etalvo]$

[etalvo@hobo etalvo]$ gcc -v
Reading specs from
/usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/specs
gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2
release)

(this happens with 2.95.2 on Sun Solaris 2.6 as well).

--erik
talvola@yahoo.com


__________________________________________________
Do You Yahoo!?
Yahoo! Photos - 35mm Quality Prints, Now Get 15 Free!
http://photos.yahoo.com/


More information about the Gcc-bugs mailing list