1 /* { dg-do compile } */
2 /* { dg-options "-O2 -finstrument-functions" } */
3 /* { dg-additional-options "-mno-explicit-relocs" { target alpha*-*-* } } */
4 /* { dg-additional-options "-mno-relax-pic-calls" { target mips*-*-* } } */
5 /* { dg-final { scan-assembler-times "__cyg_profile_func_enter" 1} } */
7 #define NOINSTR __attribute__((no_instrument_function))
12 /* Function code should be instrumented */
13 __attribute__((noinline)) t() {}
15 /* Function t::a() should not be instrumented */
18 /* Function t::b() should not be instrumented */
21 /* Function t::c() should not be instrumented */
24 /* Function t::d() should not be instrumented */
32 /* Function call_all_functions() should not be instrumented */
33 struct t call_all_functions() __attribute__((no_instrument_function));
34 struct t call_all_functions()
36 struct t a; /* Constructor not inlined */
37 a.a(); /* Inlined t::a() should not be instrumented */
38 a.b(); /* Inlined t::b() should not be instrumented */
39 a.c(); /* Inlined t::c() should not be instrumented */
40 a.d(); /* Inlined t::d() should not be instrumented */