[ARM,testsuite] Skip tests incompatible with -mpure-code.
[gcc.git] / gcc / testsuite / obj-c++.dg / try-catch-12.mm
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. */
4
5 /* { dg-options "-fobjc-exceptions" } */
6 /* { dg-do compile } */
7
8 typedef volatile int IOSharedLockData;
9
10 @interface TestMyTests
11 - (void) testSpoon;
12 @end
13
14 extern void some_func (int *);
15
16 @implementation TestMyTests
17 - (void) testSpoon {
18 int i = 5;
19
20 do {
21 @try {
22 typeof(i) j = 6;
23 some_func (&j);
24 }
25 @catch (id exc) {
26 @throw;
27 }
28 } while(0);
29
30 do {
31 @try {
32 typeof(i) j = 7;
33 some_func (&j);
34 }
35 @catch (id exc) {
36 @throw;
37 }
38 } while(0);
39
40 do {
41 @try {
42 typeof(i) j = 8;
43 some_func (&j);
44 }
45 @catch (id exc) {
46 @throw;
47 }
48 } while(0);
49
50 }
51 @end