1 /* { dg-do compile } */
2 /* { dg-options "-fgnu-tm -fdump-tree-optimized -O2" } */
3 
candy()4 static void candy() { candycane(); }
5 
6 static void tootsie_roll () __attribute__((transaction_wrap (candy)));
tootsie_roll()7 static void tootsie_roll () { bark(); }
8 
foo()9 void foo()
10 {
11   __transaction_relaxed { candy(); }
12 }
13 
14 /* We still have one call to candy()-- on the uninstrumented path
15    everything is as usual.  */
16 /* { dg-final { scan-tree-dump-times "candy \\(\\);" 1 "optimized" } } */
17 
18 /* { dg-final { cleanup-tree-dump "optimized" } } */
19