reopen 157416 thanks Nope, still not right. Here's a new case where it breaks: == aps100@cyclone:~/tmp$ cat foo.c #define ALPHA(A) alpha_ ## A #define BETA(B) beta_ ## B #define GAMMA(C) _Pragma("moose") ALPHA(C) BETA(C) GAMMA(baz); aps100@cyclone:~/tmp$ cpp-3.2 foo.c # 1 "foo.c" # 1 "<built-in>" # 1 "<command line>" # 1 "foo.c" # 4 "foo.c" #pragma moose # 4 "foo.c" alpha_baz beta_alpha_baz; aps100@cyclone:~/tmp$ cpp-2.95 foo.c # 1 "foo.c" _Pragma("moose") alpha_baz beta_baz ; == Note how beta_baz has become beta_alpha_baz in 3.2. This only happens when the _Pragma is present, so I presume it's the same bug in another form. But wait! It gets better: == aps100@cyclone:~/tmp$ cat foo.c #define ALPHA #define BETA(B) beta_ ## B #define GAMMA(C) _Pragma("moose") ALPHA BETA(C) GAMMA(baz); aps100@cyclone:~/tmp$ cpp-3.2 foo.c # 1 "foo.c" # 1 "<built-in>" # 1 "<command line>" # 1 "foo.c" # 4 "foo.c" #pragma moose # 4 "foo.c" cpp-3.2: Internal error: Aborted (program cpp0) Please submit a full bug report. == -- .''`. ** Debian GNU/Linux ** | Andrew Suffield : :' : http://www.debian.org/ | Dept. of Computing, `. `' | Imperial College, `- -><- | London, UK
Attachment:
pgpYJrSMRLxnc.pgp
Description: PGP signature