1 /* { dg-do link } */ 2 /* { dg-options "-O -fdump-tree-optimized" } */ 3 4 extern void link_error (void); foo(int n)5void foo(int n) 6 { 7 int * f = (int*) __builtin_malloc (n * sizeof (int)); 8 int * ff = (int*) __builtin_malloc (n * sizeof (int)); 9 int i; 10 11 for (i = 0; i < n; ++i) 12 { 13 f[i] = 1; 14 ff[i] = 2; 15 if (f[i] != 1) 16 link_error (); 17 if (ff[i] != 2) 18 link_error (); 19 } 20 21 __builtin_free (f); 22 __builtin_free (ff); 23 } main()24int main() 25 { 26 return 0; 27 } 28 29 /* We should have removed the calls to link_error () and all stores 30 to the allocated memory. */ 31 32 /* { dg-final { scan-tree-dump-times "\\\*D" 0 "optimized" } } */ 33