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