58 lines
941 B
C
58 lines
941 B
C
/* PR tree-optimization/89500 */
|
|
/* { dg-do compile } */
|
|
/* { dg-options "-O2 -fdump-tree-optimized" } */
|
|
/* { dg-final { scan-tree-dump-times "return 10;" 2 "optimized" } } */
|
|
/* { dg-final { scan-tree-dump-times "return 5;" 1 "optimized" } } */
|
|
/* { dg-final { scan-tree-dump-times "return 0;" 2 "optimized" } } */
|
|
/* { dg-final { scan-tree-dump-times "strnlen " 1 "optimized" } } */
|
|
|
|
#include "strlenopt.h"
|
|
|
|
void foo (char *);
|
|
|
|
size_t
|
|
f1 (void)
|
|
{
|
|
char a[10] = "0123456789";
|
|
return strnlen (a, 10);
|
|
}
|
|
|
|
size_t
|
|
f2 (void)
|
|
{
|
|
char a[10] = "0123456789";
|
|
return strnlen (a, 5);
|
|
}
|
|
|
|
size_t
|
|
f3 (void)
|
|
{
|
|
char a[10] = "0123456789";
|
|
return strnlen (a, 0);
|
|
}
|
|
|
|
size_t
|
|
f4 (void)
|
|
{
|
|
char a[20];
|
|
foo (a);
|
|
memcpy (a, "0123456789", 10);
|
|
return strnlen (a, 10);
|
|
}
|
|
|
|
size_t
|
|
f5 (void)
|
|
{
|
|
char a[20];
|
|
foo (a);
|
|
memcpy (a, "0123456789", 10);
|
|
return strnlen (a, 14);
|
|
}
|
|
|
|
size_t
|
|
f6 (void)
|
|
{
|
|
char a[20];
|
|
foo (a);
|
|
return strnlen (a, 0);
|
|
}
|