1 /* This testcase is from PR43012. 2 You will need CLooG-PPL 0.15.8 or later to have this testcase fixed. */ 3 4 /* { dg-do run } */ 5 /* { dg-options "-O2 -floop-strip-mine" } */ 6 7 extern void abort (void); 8 9 #ifdef DBG 10 extern int printf (const char *, ...); 11 #endif 12 13 #define LAST_TOKEN 534 14 #define FLOAT_FUNCT_TOKEN 64 15 #define VECTOR_FUNCT_TOKEN 77 16 #define COLOUR_KEY_TOKEN 89 17 18 int Table[LAST_TOKEN]; 19 20 void pre_init_tokenizer()21pre_init_tokenizer () 22 { 23 int i; 24 25 for (i = 0; i < LAST_TOKEN; i++) 26 { 27 Table[i] = i; 28 if (i < FLOAT_FUNCT_TOKEN) 29 Table[i] = FLOAT_FUNCT_TOKEN; 30 else 31 { 32 if (i < VECTOR_FUNCT_TOKEN) 33 Table[i] = VECTOR_FUNCT_TOKEN; 34 else 35 { 36 if (i < COLOUR_KEY_TOKEN) 37 Table[i] = COLOUR_KEY_TOKEN; 38 } 39 } 40 } 41 } 42 43 void check()44check () 45 { 46 int i; 47 48 for (i = 0; i < FLOAT_FUNCT_TOKEN; i++) 49 if (Table[i] != FLOAT_FUNCT_TOKEN) 50 abort (); 51 for (i = FLOAT_FUNCT_TOKEN; i < VECTOR_FUNCT_TOKEN; i++) 52 if (Table[i] != VECTOR_FUNCT_TOKEN) 53 abort (); 54 for (i = VECTOR_FUNCT_TOKEN; i < COLOUR_KEY_TOKEN; i++) 55 if (Table[i] != COLOUR_KEY_TOKEN) 56 abort (); 57 for (i = COLOUR_KEY_TOKEN; i < LAST_TOKEN; i++) 58 if (Table[i] != i) 59 abort (); 60 } 61 62 int main()63main () 64 { 65 int i; 66 67 pre_init_tokenizer (); 68 #ifdef DBG 69 for (i = 0; i < LAST_TOKEN; i++) 70 printf ("%3d: %d\n", i, Table[i]); 71 #endif 72 check (); 73 return 0; 74 } 75