1 /* { dg-do compile } */ 2 /* { dg-options "-O2 -fdump-ipa-pure-const-details -fdelete-null-pointer-checks" } */ 3 4 __attribute__((noinline, used, no_icf)) foo(__SIZE_TYPE__ n)5static void *foo (__SIZE_TYPE__ n) 6 { 7 return __builtin_malloc (n * 10); 8 } 9 10 __attribute__((noinline, used, no_icf)) bar(__SIZE_TYPE__ n,int cond)11static void *bar(__SIZE_TYPE__ n, int cond) 12 { 13 void *p; 14 if (cond) 15 p = foo (n); 16 else 17 p = __builtin_malloc (n); 18 19 return p; 20 } 21 22 /* { dg-final { scan-ipa-dump "Function foo found to be malloc" "pure-const" } } */ 23 /* { dg-final { scan-ipa-dump "Function bar found to be malloc" "pure-const" } } */ 24