PR inline-asm/84742
[official-gcc.git] / gcc / testsuite / objc.dg / sync-2.m
blobc73bbd92fbc728d1ae18253bee16c90c64177174
1 /* Make sure that @synchronized parses and a very basic test runs.  */
2 /* { dg-options "-fobjc-exceptions -fgnu-runtime" } */
4 #include "../objc-obj-c++-shared/TestsuiteObject.h"
6 int main (void)
8   TestsuiteObject *a = [TestsuiteObject new];
9   TestsuiteObject *b = [TestsuiteObject new];
10   TestsuiteObject *c = [TestsuiteObject new];
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     }