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
14 void foo() { (void)(e5); } /* { dg-error "size of string literal is too large" "" { target { ! size20plus } } } */