/* Make sure that @synchronized parses and a very basic test runs. */ /* { dg-options "-fobjc-exceptions -fgnu-runtime" } */ #include "../objc-obj-c++-shared/TestsuiteObject.h" int main (void) { TestsuiteObject *a = [TestsuiteObject new]; TestsuiteObject *b = [TestsuiteObject new]; TestsuiteObject *c = [TestsuiteObject new]; /* This single-threaded test just checks that @synchronized() uses a recursive mutex, and that the runtime at least doesn't crash immediately upon finding it. */ @synchronized (a) { @synchronized (a) { @synchronized (b) { @synchronized (b) { @synchronized (c) { @synchronized (c) { return 0; } } } } } } }