| /* { dg-options "-O2 -fdump-tree-dse-details -fno-tree-fre" } */ | |
| struct S { int i; char n[128]; int j; }; | |
| void f (char*); | |
| void g (struct S *p) | |
| { | |
| char a[sizeof p->n + 1]; | |
| __builtin_memset (a, 0, sizeof a); // dead store, can be eliminated | |
| __builtin_strncpy (a, p->n, sizeof a - 1); | |
| a[sizeof a - 1] = '\0'; | |
| f (a); | |
| } | |
| /* { dg-final { scan-tree-dump-times "Deleted dead call" 1 "dse1" } } */ |