blob: 88c3a55b9689fc12b66340387a86fb2ad971da37 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O2 -fsplit-paths -fdump-tree-split-paths-details -w" } */
const extern signed char *__ctype_ptr__;
typedef unsigned char uchar;
static int patlen;
static int skip[(0x7f * 2 + 1) + 1];
static uchar *pat = ((void *) 0);
void
bmhi_init (const signed char *pattern)
{
int i, lastpatchar;
patlen = __builtin_strlen (pattern);
for (i = 0; i < patlen; i++)
pat[i] = (
{
__typeof__ (pattern[i]) __x = (pattern[i]);
((((__ctype_ptr__ +
sizeof (""[__x]))[(int) (__x)]) & (01 | 02))
== 02) ? (int) __x - 'a' + 'A' : (int) __x;
});
for (i = 0; i < patlen - 1; ++i)
{
skip[(
{
__typeof__ (pat[i]) __x = (pat[i]);
((((__ctype_ptr__ +
sizeof (""[__x]))[(int) (__x)]) & (01 | 02)) ==
01) ? (int) __x - 'A' + 'a' : (int) __x;
})] = patlen - i - 1;
}
skip[(
{
__typeof__ (lastpatchar) __x = (lastpatchar);
((((__ctype_ptr__ +
sizeof (""[__x]))[(int) (__x)]) & (01 | 02)) ==
01) ? (int) __x - 'A' + 'a' : (int) __x;
})] = 32767;
for (i = 0; i < patlen - 1; ++i)
{
}
}
/* { dg-final { scan-tree-dump-times "join point for if-convertable half-diamond" 1 "split-paths" } } */