1 /* { dg-do compile } */
2 /* { dg-options "-fgnu-tm -fdump-tree-tmedge -fdump-tree-tmlower" } */
3 
4 int global;
5 
foo(int local)6 foo(int local)
7 {
8   __transaction_atomic {
9     local++;
10     if (++global == 10)
11       __transaction_cancel;
12   }
13 }
14 
15 /* { dg-final { scan-tree-dump-times " instrumentedCode" 1 "tmedge" } } */
16 /* { dg-final { scan-tree-dump-times "hasNoAbort" 0 "tmedge" } } */
17 /* { dg-final { scan-tree-dump-times "GTMA_HAVE_ABORT" 1 "tmlower" } } */
18 /* { dg-final { cleanup-tree-dump "tmedge" } } */
19 /* { dg-final { cleanup-tree-dump "tmlower" } } */
20