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 
10 void
foo()11 foo()
12 {
13 	__transaction_relaxed {
14 		global++;
15 		__builtin__ITM_changeTransactionMode (0);
16 		george++;
17 	}
18 }
19 
20 /* { dg-final { scan-tree-dump-times "doesGoIrrevocable" 1 "tmedge" } } */
21 /* { dg-final { scan-tree-dump-times "hasNoIrrevocable" 0 "tmedge" } } */
22