OSDN Git Service

Merge remote-tracking branch 'gnu/gcc-4_7-branch' into rework
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / tm / nested-1.c
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 }