/* Ensure that typeof()-typed variables inside the @try { } block that "inherit" their EH-volatileness from other variables in the stack frame do not trigger "discards qualifiers from target pointer type" warnings. */ /* { dg-options "-fobjc-exceptions" } */ /* { dg-do compile } */ typedef volatile int IOSharedLockData; @interface TestMyTests - (void) testSpoon; @end extern void some_func (int *); @implementation TestMyTests - (void) testSpoon { int i = 5; do { @try { typeof(i) j = 6; some_func (&j); } @catch (id exc) { @throw; } } while(0); do { @try { typeof(i) j = 7; some_func (&j); } @catch (id exc) { @throw; } } while(0); do { @try { typeof(i) j = 8; some_func (&j); } @catch (id exc) { @throw; } } while(0); } @end