fields.c revision 65d39251ff57b8e33cf6d3a7fcc6aa1c6f8cdc68
1// RUN: %clang_cc1 -analyze -analyzer-checker=core.experimental -analyzer-check-objc-mem %s -analyzer-store=basic -verify 2// RUN: %clang_cc1 -analyze -analyzer-checker=core.experimental -analyzer-check-objc-mem %s -analyzer-store=region -verify 3 4unsigned foo(); 5typedef struct bf { unsigned x:2; } bf; 6void bar() { 7 bf y; 8 *(unsigned*)&y = foo(); 9 y.x = 1; 10} 11 12struct s { 13 int n; 14}; 15 16void f() { 17 struct s a; 18 int *p = &(a.n) + 1; 19} 20 21typedef struct { 22 int x,y; 23} Point; 24 25Point getit(void); 26void test() { 27 Point p; 28 (void)(p = getit()).x; 29} 30