1 // { dg-do compile } 2 // { dg-options "-O2 -fno-inline" } 3 4 import gcc.attributes; 5 6 extern int t(); 7 func()8int func() 9 { 10 __gshared int var = 42; 11 int nested_1() @no_icf 12 { 13 return var++; 14 } 15 int nested_2() 16 { 17 return var++; 18 } 19 int nested_3() 20 { 21 return var++; 22 } 23 return nested_1() + nested_2() + nested_3(); 24 } 25 26 @no_icf int var = 0; // { dg-warning ".no_icf. attribute ignored" } 27 28 // { dg-final { scan-assembler "nested_1" } } 29 // { dg-final { scan-assembler "nested_2" } } 30 // { dg-final { scan-assembler-not "nested_3" } } 31