blob: d6d365d8bb136464c1bb0bfaae6ba5763e8ca428 [file] [log] [blame]
Zhongxing Xuef8b28e2008-10-17 05:19:52 +00001// RUN: clang -checker-simple -verify %s
Zhongxing Xu2e971202008-10-25 14:11:23 +00002// RUN: clang -checker-simple -analyzer-store-region -verify %s
Zhongxing Xuef8b28e2008-10-17 05:19:52 +00003
Zhongxing Xu72e16822008-10-24 08:51:58 +00004struct s {
5 int data;
6 int data_array[10];
7};
Zhongxing Xuef8b28e2008-10-17 05:19:52 +00008
Zhongxing Xu234a7d22008-10-27 09:19:25 +00009typedef struct {
10 int data;
11} STYPE;
12
Zhongxing Xu04b90bc2008-11-02 13:17:44 +000013void g1(struct s* p);
14
Zhongxing Xuef8b28e2008-10-17 05:19:52 +000015void f(void) {
16 int a[10];
17 int (*p)[10];
18 p = &a;
19 (*p)[3] = 1;
20
21 struct s d;
22 struct s *q;
23 q = &d;
Zhongxing Xu72e16822008-10-24 08:51:58 +000024 q->data = 3;
25 d.data_array[9] = 17;
Zhongxing Xuef8b28e2008-10-17 05:19:52 +000026}
Zhongxing Xu2e971202008-10-25 14:11:23 +000027
28void f2() {
29 char *p = "/usr/local";
30 char (*q)[4];
31 q = &"abc";
32}
Zhongxing Xu234a7d22008-10-27 09:19:25 +000033
34void f3() {
35 STYPE s;
36}
Zhongxing Xudf2aa1e2008-10-31 10:23:14 +000037
38void f4() {
39 int a[] = { 1, 2, 3};
40 int b[3] = { 1, 2 };
41}
Zhongxing Xu04b90bc2008-11-02 13:17:44 +000042
43void f5() {
44 struct s data;
45 g1(&data);
46}