Home | History | Annotate | Download | only in Analysis
      1 // RUN: %clang_cc1 -analyze -analyzer-checker=core,alpha.core -analyzer-constraints=range -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