annotate gcc/testsuite/gcc.dg/cpp/strify3.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* Copyright (C) 2001 Free Software Foundation, Inc. */
kono
parents:
diff changeset
2
kono
parents:
diff changeset
3 /* { dg-do run } */
kono
parents:
diff changeset
4
kono
parents:
diff changeset
5 /* Tests we stringify without inserting a space. GCC 2.95.x and
kono
parents:
diff changeset
6 earlier would insert a bogus space before bar in the string, simply
kono
parents:
diff changeset
7 because a space was there in the invocation.
kono
parents:
diff changeset
8
kono
parents:
diff changeset
9 Neil Booth, 24 Sep 2001. */
kono
parents:
diff changeset
10
kono
parents:
diff changeset
11 extern int strcmp (const char *, const char *);
kono
parents:
diff changeset
12 #if DEBUG
kono
parents:
diff changeset
13 extern int puts (const char *);
kono
parents:
diff changeset
14 #else
kono
parents:
diff changeset
15 #define puts(X)
kono
parents:
diff changeset
16 #endif
kono
parents:
diff changeset
17 extern void abort (void);
kono
parents:
diff changeset
18 #define err(str) do { puts(str); abort(); } while (0)
kono
parents:
diff changeset
19
kono
parents:
diff changeset
20 #define str(x) #x
kono
parents:
diff changeset
21 #define xstr(x) str(x)
kono
parents:
diff changeset
22 #define glibc_hack(x, y) x@y
kono
parents:
diff changeset
23
kono
parents:
diff changeset
24 int main (int argc, char *argv[])
kono
parents:
diff changeset
25 {
kono
parents:
diff changeset
26 /* The space before "bar" here is vital. */
kono
parents:
diff changeset
27 char a[] = xstr(glibc_hack(foo, bar));
kono
parents:
diff changeset
28
kono
parents:
diff changeset
29 if (strcmp (a, "foo@bar"))
kono
parents:
diff changeset
30 err ("stringification without spaces");
kono
parents:
diff changeset
31
kono
parents:
diff changeset
32 return 0;
kono
parents:
diff changeset
33 }