| /* { dg-do compile } */ |
| /* { dg-options "-O2 -fdump-tree-optimized" } */ |
| |
| int n, nn; |
| void* f() |
| { |
| char *p = __builtin_calloc (n, 1); |
| p[42] = '\n'; |
| __builtin_memset (p, 0, nn); |
| return p; |
| } |
| |
| void* g(int m1, int m2) |
| { |
| char *p = __builtin_malloc (m2); |
| while (--m1) |
| { |
| __builtin_memset (p, 0, m2); |
| p[n] = 'b'; |
| } |
| return p; |
| } |
| |
| /* { dg-final { scan-tree-dump-times "malloc" 1 "optimized" } } */ |
| /* { dg-final { scan-tree-dump-times "calloc" 1 "optimized" } } */ |
| /* { dg-final { scan-tree-dump-times "memset" 2 "optimized" } } */ |