This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

preprocessor/2264: Macro expansion failure with ## pre-processor operator



>Number:         2264
>Category:       preprocessor
>Synopsis:       Macro expansion failure with ## pre-processor operator
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Mar 11 12:06:01 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     Redhat 7.0
>Release:        2.96
>Organization:
>Environment:
Linux x86.  Redhat 7.0
>Description:
#define BAR   bar
#define FOO(a) a ## BAR
FOO(foo) 

Would expect to get 'foobar' but get 'fooBAR' instead.

If we omit the ## operator, we get 'foo bar', which is inconsistent behavior IMHO.

See attachment for example and preprocessor output.
>How-To-Repeat:
See attachment.
>Fix:
Would expect example to give 'foobar'.
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="typescript"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="typescript"

U2NyaXB0IHN0YXJ0ZWQgb24gU3VuIE1hciAxMSAxOTo0ODo1MiAyMDAxChtdMDttbTczMjNAbWlr
ZTogL2hvbWUvbW03MzIzL2J1ZwdbbW03MzIzQG1pa2UgYnVnXSQgY2F0IGJ1Zy5oIA0KDQovKiBU
ZXN0IDEgKi8NCiNkZWZpbmUgQkFSICAgYmFyDQojZGVmaW5lIEZPTyhhKSBhICMjIEJBUg0KDQov
KiBFeHBlY3QgdG8gYmUgJ2Zvb2JhcicgKi8NCkZPTyhmb28pIA0KDQoNCg0KLyogVGVzdCAyICov
DQojZGVmaW5lIENCUyAgY2JzDQojZGVmaW5lIEdQUChiKSBiIENCUw0KDQovKiBFeHBlY3QgdG8g
YmUgJ2dwcCBjYnMnICovDQpHUFAoZ3BwKQ0KDQoNChtdMDttbTczMjNAbWlrZTogL2hvbWUvbW03
MzIzL2J1ZwdbbW03MzIzQG1pa2UgYnVnXSQgZ2NjIC1DIC1FIGJ1Zy5oIA0KIyAxICJidWcuaCIN
Cg0KLyogVGVzdCAxICovDQoNCg0KDQovKiBFeHBlY3QgdG8gYmUgJ2Zvb2JhcicgKi8NCmZvb0JB
Ug0KDQoNCg0KLyogVGVzdCAyICovDQoNCg0KDQovKiBFeHBlY3QgdG8gYmUgJ2dwcCBjYnMnICov
DQpncHAgY2JzDQobXTA7bW03MzIzQG1pa2U6IC9ob21lL21tNzMyMy9idWcHW21tNzMyM0BtaWtl
IGJ1Z10kIGdjYyAtLXZlcnNpb24NCjIuOTYNChtdMDttbTczMjNAbWlrZTogL2hvbWUvbW03MzIz
L2J1ZwdbbW03MzIzQG1pa2UgYnVnXSQgZXhpdA0KClNjcmlwdCBkb25lIG9uIFN1biBNYXIgMTEg
MTk6NDk6MDggMjAwMQo=


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]