| // { dg-do compile } | |
| // { dg-options "-O2 -fno-inline" } | |
| import gcc.attributes; | |
| extern int t(); | |
| int func() | |
| { | |
| __gshared int var = 42; | |
| int nested_1() @no_icf | |
| { | |
| return var++; | |
| } | |
| int nested_2() | |
| { | |
| return var++; | |
| } | |
| int nested_3() | |
| { | |
| return var++; | |
| } | |
| return nested_1() + nested_2() + nested_3(); | |
| } | |
| @no_icf int var = 0; // { dg-warning ".no_icf. attribute ignored" } | |
| // { dg-final { scan-assembler "nested_1" } } | |
| // { dg-final { scan-assembler "nested_2" } } | |
| // { dg-final { scan-assembler-not "nested_3" } } |