blob: ed8b0e5cf35f7252ef2d77c673976092bd047932 [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 Xuef8b28e2008-10-17 05:19:52 +000013void f(void) {
14 int a[10];
15 int (*p)[10];
16 p = &a;
17 (*p)[3] = 1;
18
19 struct s d;
20 struct s *q;
21 q = &d;
Zhongxing Xu72e16822008-10-24 08:51:58 +000022 q->data = 3;
23 d.data_array[9] = 17;
Zhongxing Xuef8b28e2008-10-17 05:19:52 +000024}
Zhongxing Xu2e971202008-10-25 14:11:23 +000025
26void f2() {
27 char *p = "/usr/local";
28 char (*q)[4];
29 q = &"abc";
30}
Zhongxing Xu234a7d22008-10-27 09:19:25 +000031
32void f3() {
33 STYPE s;
34}
Zhongxing Xudf2aa1e2008-10-31 10:23:14 +000035
36void f4() {
37 int a[] = { 1, 2, 3};
38 int b[3] = { 1, 2 };
39}