1 | // RUN: %clang_analyze_cc1 -analyzer-checker=core,alpha.core -analyzer-store=region -verify -Wno-objc-root-class %s |
2 | // expected-no-diagnostics |
3 | |
4 | typedef struct Foo { int x; } Bar; |
5 | |
6 | @interface MyClass {} |
7 | - (Bar)foo; |
8 | @end |
9 | @implementation MyClass |
10 | - (Bar)foo { |
11 | struct Foo f = { 0 }; |
12 | return f; |
13 | } |
14 | @end |
15 | |
16 | void createFoo() { |
17 | MyClass *obj = 0; |
18 | Bar f = [obj foo]; // no-warning |
19 | } |
20 | |
21 | void createFoo2() { |
22 | MyClass *obj = 0; |
23 | [obj foo]; // no-warning |
24 | Bar f = [obj foo]; // no-warning |
25 | } |
26 | |
27 | |