/* PR tree-optimization/71707 */ | |
/* { dg-do run } */ | |
/* { dg-options "-O2 -fdump-tree-strlen" } */ | |
#include "strlenopt.h" | |
char a[32]; | |
size_t b; | |
__attribute__((noinline, noclone)) char * | |
foo (void) | |
{ | |
char *p = memcpy (a, "a", 2) + 1; | |
memcpy (&a[1], "b", 2); | |
b = strlen (a) + strlen (&a[1]) + strlen (p); | |
return p; | |
} | |
int | |
main () | |
{ | |
if (foo () != &a[1] || b != 4) | |
abort (); | |
return 0; | |
} | |
/* { dg-final { scan-tree-dump-times "strlen \\(" 0 "strlen1" } } */ |