fields.c revision c037eac3bda3c636c961aab6377beea3242e81e4
1// RUN: clang-cc -analyze -checker-cfref %s --analyzer-store=basic -verify &&
2// RUN: clang-cc -analyze -checker-cfref %s --analyzer-store=basic-old-cast -verify &&
3// RUN: clang-cc -analyze -checker-cfref %s --analyzer-store=region -verify
4
5unsigned foo();
6typedef struct bf { unsigned x:2; } bf;
7void bar() {
8  bf y;
9  *(unsigned*)&y = foo();
10  y.x = 1;
11}
12
13struct s {
14  int n;
15};
16
17void f() {
18  struct s a;
19  int *p = &(a.n) + 1;
20}
21