111
|
1 /* { dg-do compile } */
|
|
2 /* { dg-options "-fgnu-tm" } */
|
|
3
|
|
4 extern int foo(int) __attribute__((transaction_safe));
|
|
5 void 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 }
|