2018-05-15 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / gcc.dg / graphite / pr43012.c
blob6d0f3b0413892e4c8be668eb3890bf8a2c0f97a1
1 /* This testcase is from PR43012.
2 You will need CLooG-PPL 0.15.8 or later to have this testcase fixed. */
4 /* { dg-do run } */
5 /* { dg-options "-O2 -floop-strip-mine" } */
7 extern void abort (void);
9 #ifdef DBG
10 extern int printf (const char *, ...);
11 #endif
13 #define LAST_TOKEN 534
14 #define FLOAT_FUNCT_TOKEN 64
15 #define VECTOR_FUNCT_TOKEN 77
16 #define COLOUR_KEY_TOKEN 89
18 int Table[LAST_TOKEN];
20 void
21 pre_init_tokenizer ()
23 int i;
25 for (i = 0; i < LAST_TOKEN; i++)
27 Table[i] = i;
28 if (i < FLOAT_FUNCT_TOKEN)
29 Table[i] = FLOAT_FUNCT_TOKEN;
30 else
32 if (i < VECTOR_FUNCT_TOKEN)
33 Table[i] = VECTOR_FUNCT_TOKEN;
34 else
36 if (i < COLOUR_KEY_TOKEN)
37 Table[i] = COLOUR_KEY_TOKEN;
43 void
44 check ()
46 int i;
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 ();
62 int
63 main ()
65 int i;
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;