1 /* { dg-do compile } */ 2 /* { dg-options "-fgnu-tm" } */ 3 4 extern int foo(int) __attribute__((transaction_safe)); bar(void)5void bar(void) 6 { 7 __transaction_atomic { 8 if (foo(1)) 9 __transaction_atomic { 10 if (foo(2)) 11 __transaction_atomic { 12 if (foo(3)) 13 __transaction_atomic { 14 if (foo(4)) 15 foo(5); 16 else 17 __transaction_cancel; 18 } 19 else 20 __transaction_cancel; 21 } 22 else 23 __transaction_cancel; 24 } 25 else 26 __transaction_cancel; 27 } 28 } 29