2010-06-16 Mikael Pettersson <mikpe@it.uu.se>
[official-gcc.git] / gcc / testsuite / g++.dg / cpp / stringop-1.C
blob071a1009c381f7bcb5aa6420aa6d462f4e90e39f
1 /* Test for buffer overrun stringizing named operators longer than 4
2    characters.  */
3 /* { dg-do compile } */
5 #define str(x) #x
6 #define var(v,a,b,c,d) static const char v##a##b##c##d[] = str(xor_eq)
7 #define var1(v,a,b,c)                                                   \
8   var(v,a,b,c,0); var(v,a,b,c,1); var(v,a,b,c,2); var(v,a,b,c,3);       \
9   var(v,a,b,c,4); var(v,a,b,c,5); var(v,a,b,c,6); var(v,a,b,c,7);       \
10   var(v,a,b,c,8); var(v,a,b,c,9)
11 #define var2(v,a,b)                                             \
12   var1(v,a,b,0); var1(v,a,b,1); var1(v,a,b,2); var1(v,a,b,3);   \
13   var1(v,a,b,4); var1(v,a,b,5); var1(v,a,b,6); var1(v,a,b,7);   \
14   var1(v,a,b,8); var1(v,a,b,9)
15 #define var3(v,a)                                       \
16   var2(v,a,0); var2(v,a,1); var2(v,a,2); var2(v,a,3);   \
17   var2(v,a,4); var2(v,a,5); var2(v,a,6); var2(v,a,7);   \
18   var2(v,a,8); var2(v,a,9)
20 var3(v,0);
21 var3(v,1);
22 var3(v,2);
23 var3(v,3);
24 var3(v,4);
25 var3(v,5);
26 var3(v,6);
27 var3(v,7);
28 var3(v,8);
29 var3(v,9);