1 /* { dg-skip-if "ptxas runs out of memory" { nvptx-*-* } } */ 2 /* { dg-skip-if "Array too big" { "pdp11-*-*" } { "-mint32" } } */ 3 4 /* { dg-require-effective-target int32plus } */ 5 /* Inspired by the test case for PR middle-end/52640. */ 6 7 typedef struct 8 { 9 char *value; 10 } REFERENCE; 11 12 /* Add a few "extern int Xxxxxx ();" declarations. */ 13 #undef DEF 14 #undef LIM1 15 #undef LIM2 16 #undef LIM3 17 #undef LIM4 18 #undef LIM5 19 #undef LIM6 20 #define DEF(x) extern int x () 21 #define LIM1(x) DEF(x##0); DEF(x##1); DEF(x##2); DEF(x##3); DEF(x##4); \ 22 DEF(x##5); DEF(x##6); DEF(x##7); DEF(x##8); DEF(x##9); 23 #define LIM2(x) LIM1(x##0) LIM1(x##1) LIM1(x##2) LIM1(x##3) LIM1(x##4) \ 24 LIM1(x##5) LIM1(x##6) LIM1(x##7) LIM1(x##8) LIM1(x##9) 25 #define LIM3(x) LIM2(x##0) LIM2(x##1) LIM2(x##2) LIM2(x##3) LIM2(x##4) \ 26 LIM2(x##5) LIM2(x##6) LIM2(x##7) LIM2(x##8) LIM2(x##9) 27 #define LIM4(x) LIM3(x##0) LIM3(x##1) LIM3(x##2) LIM3(x##3) LIM3(x##4) \ 28 LIM3(x##5) LIM3(x##6) LIM3(x##7) LIM3(x##8) LIM3(x##9) 29 #define LIM5(x) LIM4(x##0) LIM4(x##1) LIM4(x##2) LIM4(x##3) LIM4(x##4) \ 30 LIM4(x##5) LIM4(x##6) LIM4(x##7) LIM4(x##8) LIM4(x##9) 31 #define LIM6(x) LIM5(x##0) LIM5(x##1) LIM5(x##2) LIM5(x##3) LIM5(x##4) \ 32 LIM5(x##5) LIM5(x##6) LIM5(x##7) LIM5(x##8) LIM5(x##9) 33 LIM5 (X); 34 35 /* Add references to them, or GCC will simply ignore the extern decls. */ 36 #undef DEF 37 #undef LIM1 38 #undef LIM2 39 #undef LIM3 40 #undef LIM4 41 #undef LIM5 42 #undef LIM6 43 #define DEF(x) (char *) x 44 #define LIM1(x) DEF(x##0), DEF(x##1), DEF(x##2), DEF(x##3), DEF(x##4), \ 45 DEF(x##5), DEF(x##6), DEF(x##7), DEF(x##8), DEF(x##9), 46 #define LIM2(x) LIM1(x##0) LIM1(x##1) LIM1(x##2) LIM1(x##3) LIM1(x##4) \ 47 LIM1(x##5) LIM1(x##6) LIM1(x##7) LIM1(x##8) LIM1(x##9) 48 #define LIM3(x) LIM2(x##0) LIM2(x##1) LIM2(x##2) LIM2(x##3) LIM2(x##4) \ 49 LIM2(x##5) LIM2(x##6) LIM2(x##7) LIM2(x##8) LIM2(x##9) 50 #define LIM4(x) LIM3(x##0) LIM3(x##1) LIM3(x##2) LIM3(x##3) LIM3(x##4) \ 51 LIM3(x##5) LIM3(x##6) LIM3(x##7) LIM3(x##8) LIM3(x##9) 52 #define LIM5(x) LIM4(x##0) LIM4(x##1) LIM4(x##2) LIM4(x##3) LIM4(x##4) \ 53 LIM4(x##5) LIM4(x##6) LIM4(x##7) LIM4(x##8) LIM4(x##9) 54 #define LIM6(x) LIM5(x##0) LIM5(x##1) LIM5(x##2) LIM5(x##3) LIM5(x##4) \ 55 LIM5(x##5) LIM5(x##6) LIM5(x##7) LIM5(x##8) LIM5(x##9) 56 REFERENCE references[] = { 57 LIM5 (X) 58 0 59 }; 60