PR tree-optimization/81303
[official-gcc.git] / gcc / testsuite / gcc.dg / tree-ssa / split-path-5.c
blob95aabdaf6be645c012457d1d04c732ce0ba11cda
1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fsplit-paths -fdump-tree-split-paths-details -w" } */
4 const extern char *__ctype_ptr__;
5 typedef unsigned char uchar;
6 static int patlen;
7 static int skip[(0x7f * 2 + 1) + 1];
8 static uchar *pat = ((void *) 0);
9 void
10 bmhi_init (const char *pattern)
12 int i, lastpatchar;
13 patlen = strlen (pattern);
14 for (i = 0; i < patlen; i++)
15 pat[i] = (
17 __typeof__ (pattern[i]) __x = (pattern[i]);
18 ((((__ctype_ptr__ +
19 sizeof (""[__x]))[(int) (__x)]) & (01 | 02))
20 == 02) ? (int) __x - 'a' + 'A' : (int) __x;
21 });
22 for (i = 0; i < patlen - 1; ++i)
24 skip[(
26 __typeof__ (pat[i]) __x = (pat[i]);
27 ((((__ctype_ptr__ +
28 sizeof (""[__x]))[(int) (__x)]) & (01 | 02)) ==
29 01) ? (int) __x - 'A' + 'a' : (int) __x;
30 })] = patlen - i - 1;
32 skip[(
34 __typeof__ (lastpatchar) __x = (lastpatchar);
35 ((((__ctype_ptr__ +
36 sizeof (""[__x]))[(int) (__x)]) & (01 | 02)) ==
37 01) ? (int) __x - 'A' + 'a' : (int) __x;
38 })] = 32767;
39 for (i = 0; i < patlen - 1; ++i)
44 /* { dg-final { scan-tree-dump-times "Duplicating join block" 1 "split-paths" } } */