OSDN Git Service

2011-01-08 Dominique d'Humieres <dominiq@lps.ens.fr>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / objc.dg / sync-2.m
1 /* Make sure that @synchronized parses and a very basic test runs.  */
2 /* { dg-options "-fobjc-exceptions -fgnu-runtime" } */
3
4 #include "../objc-obj-c++-shared/Object1.h"
5
6 int main (void)
7 {
8   Object *a = [Object new];
9   Object *b = [Object new];
10   Object *c = [Object new];
11
12   /* This single-threaded test just checks that @synchronized() uses a
13      recursive mutex, and that the runtime at least doesn't crash
14      immediately upon finding it.
15   */
16   @synchronized (a)
17     {
18       @synchronized (a)
19         {
20           @synchronized (b)
21             {
22               @synchronized (b)
23                 {
24                   @synchronized (c)
25                     {
26                       @synchronized (c)
27                         {
28                           return 0;
29                         }
30                     }
31                 }
32             }
33         }
34     }
35 }