1 /* { dg-do compile } */
2 /* { dg-options "-fgnu-tm -fdump-tree-tmedge" } */
3 
4 /* Test that a direct call to __builtin__ITM_changeTransactionMode()
5    sets the irrevocable bit.  */
6 
7 int global;
8 int george;
9 
foo()10 foo()
11 {
12 	__transaction_relaxed {
13 		global++;
14 		__builtin__ITM_changeTransactionMode (0);
15 		george++;
16 	}
17 }
18 
19 /* { dg-final { scan-tree-dump-times "doesGoIrrevocable" 1 "tmedge" } } */
20 /* { dg-final { scan-tree-dump-times "hasNoIrrevocable" 0 "tmedge" } } */
21 /* { dg-final { cleanup-tree-dump "tmedge" } } */
22