1 /* PR c/3581 */
2 /* { dg-do compile } */
3 /* { dg-options "" } */
4 
5 /* Intended as a compile-time test for string literal concatenation.  */
6 
7 #define e0	"a"
8 #define e1	e0 e0 e0 e0 e0 e0 e0 e0 e0 e0
9 #define e2	e1 e1 e1 e1 e1 e1 e1 e1 e1 e1
10 #define e3	e2 e2 e2 e2 e2 e2 e2 e2 e2 e2
11 #define e4	e3 e3 e3 e3 e3 e3 e3 e3 e3 e3
12 #define e5	e4 e4 e4 e4 e4 e4 e4 e4 e4 e4
13 
foo()14 void foo() { (void)(e5); }  /* { dg-error "size of string literal is too large" "" { target { ! size20plus } } } */
15