blob: c2143a4e95b18a4031ca32f5c2be23a252f5208b [file] [log] [blame]
/* Make sure that @synchronized parses and a very basic test runs. */
/* { dg-options "-fobjc-exceptions -fgnu-runtime" } */
#include "../objc-obj-c++-shared/Object1.h"
int main (void)
{
Object *a = [Object new];
Object *b = [Object new];
Object *c = [Object 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;
}
}
}
}
}
}
}