Eric Christopher | b379718 | 2012-07-20 17:42:31 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 -triple x86_64-apple-darwin11 -fobjc-gc -emit-llvm -g -o - %s |
Eric Christopher | 6dba4a1 | 2012-07-19 22:22:51 +0000 | [diff] [blame] | 2 | // Check that this doesn't crash when compiled with debugging on. |
3 | @class Foo; | ||||
4 | typedef struct Bar *BarRef; | ||||
5 | |||||
6 | @interface Baz | ||||
7 | @end | ||||
8 | |||||
9 | @interface Foo | ||||
10 | - (void) setFlag; | ||||
11 | @end | ||||
12 | |||||
13 | @implementation Baz | ||||
14 | |||||
15 | - (void) a:(BarRef)b | ||||
16 | { | ||||
17 | Foo* view = (Foo*)self; | ||||
18 | [view setFlag]; | ||||
19 | } | ||||
20 | |||||
21 | @end | ||||
22 | |||||
23 | |||||
24 | @implementation Foo | ||||
25 | { | ||||
26 | int flag : 1; | ||||
27 | } | ||||
28 | |||||
29 | - (void) setFlag | ||||
30 | { | ||||
31 | if (!flag) | ||||
32 | flag = 1; | ||||
33 | } | ||||
34 | |||||
35 | @end |