/* Copyright (C) 2001 Free Software Foundation, Inc. */ /* { dg-do run } */ /* Tests we stringify without inserting a space. GCC 2.95.x and earlier would insert a bogus space before bar in the string, simply because a space was there in the invocation. Neil Booth, 24 Sep 2001. */ extern int strcmp (const char *, const char *); extern int puts (const char *); extern void abort (void); #define err(str) do { puts(str); abort(); } while (0) #define str(x) #x #define xstr(x) str(x) #define glibc_hack(x, y) x@y int main (int argc, char *argv[]) { /* The space before "bar" here is vital. */ char a[] = xstr(glibc_hack(foo, bar)); if (strcmp (a, "foo@bar")) err ("stringification without spaces"); return 0; }