Daily bump.
[official-gcc.git] / gcc / testsuite / objc.dg / try-catch-11.m
blobc792c83062f09b95d10e51e096c3a5447b3c6794
1 /* Ensure that typeof()-typed variables inside the @try { } block that
2    "inherit" their EH-volatileness from other variables in the stack frame
3    do not trigger "discards qualifiers from target pointer type" warnings.  */
5 /* { dg-options "-fobjc-exceptions" } */
6 /* { dg-do compile } */
7 /* { dg-additional-options "-Wno-objc-root-class" } */
9 typedef volatile int IOSharedLockData;
11 @interface TestMyTests
12 - (void) testSpoon;
13 @end
15 extern void some_func (int *);
17 @implementation TestMyTests
18 - (void) testSpoon {
19   int i = 5;
21   do {
22     @try {
23       typeof(i) j = 6;
24       some_func (&j);
25     }
26     @catch (id exc) {
27       @throw;
28     }
29   } while(0);
31   do {
32     @try {
33       typeof(i) j = 7;
34       some_func (&j);
35     }
36     @catch (id exc) {
37       @throw;
38     }
39   } while(0);
41   do {
42     @try {
43       typeof(i) j = 8;
44       some_func (&j);
45     }
46     @catch (id exc) {
47       @throw;
48     }
49   } while(0);
50       
52 @end