32 lines
685 B
C
32 lines
685 B
C
/* { dg-do compile } */
|
|
/* { dg-options "-O2 -fdump-tree-optimized" } */
|
|
/* { dg-final { scan-tree-dump-not "link_error" "optimized" } } */
|
|
/* { dg-final { scan-tree-dump-not "__builtin_strstr" "optimized" } } */
|
|
/* { dg-final { scan-tree-dump-times "return p_\[0-9]*.D.;" 1 "optimized" } } */
|
|
/* { dg-final { scan-tree-dump-times "__builtin_strchr" 1 "optimized" } } */
|
|
|
|
extern void link_error (void);
|
|
|
|
void
|
|
foo (void)
|
|
{
|
|
const char *p = "abcdef";
|
|
const char *q = "def";
|
|
p++;
|
|
q++;
|
|
if (__builtin_strstr (p, q) != p + 3)
|
|
link_error ();
|
|
}
|
|
|
|
char *
|
|
bar (const char *p)
|
|
{
|
|
return __builtin_strstr (p, "");
|
|
}
|
|
|
|
char *
|
|
baz (const char *p)
|
|
{
|
|
return __builtin_strstr (p, "d");
|
|
}
|