2 /* { dg-options "-O2 -fdump-tree-strlen" } */
6 /* Yes, there are people who write code like this. */
8 __attribute__((noinline
, noclone
)) char *
12 strcat (buf
, r
? "r" : "w");
17 __attribute__((noinline
, noclone
)) char *
21 strcat (buf
, r
? "r" : "w");
46 /* { dg-final { scan-tree-dump-times "strlen \\(" 0 "strlen" } } */
47 /* { dg-final { scan-tree-dump-times "memcpy \\(" 4 "strlen" } } */
48 /* { dg-final { scan-tree-dump-times "strcpy \\(" 0 "strlen" } } */
49 /* { dg-final { scan-tree-dump-times "strcat \\(" 0 "strlen" } } */
50 /* { dg-final { scan-tree-dump-times "strchr \\(" 0 "strlen" } } */
51 /* { dg-final { scan-tree-dump-times "stpcpy \\(" 0 "strlen" } } */
52 /* { dg-final { cleanup-tree-dump "strlen" } } */