1 // RUN: %clang_cc1 -analyze -analyzer-checker=core -verify %s
2
f1(char * dst)3 int f1(char *dst) {
4 char *p = dst + 4;
5 char *q = dst + 3;
6 return !(q >= p);
7 }
8
f2(char * c)9 long f2(char *c) {
10 return long(c) & 1;
11 }
12
f3()13 bool f3() {
14 return !false;
15 }
16
f4(int * w)17 void *f4(int* w) {
18 return reinterpret_cast<void*&>(w);
19 }
20
21 namespace {
22
23 struct A { };
24 struct B {
operator A__anona4dc41250111::B25 operator A() { return A(); }
26 };
27
f(char * dst)28 A f(char *dst) {
29 B b;
30 return b;
31 }
32
33 }
34
35 namespace {
36
37 struct S {
38 void *p;
39 };
40
f(S * w)41 void *f(S* w) {
42 return &reinterpret_cast<void*&>(*w);
43 }
44
45 }
46
47 namespace {
48
49 struct C {
50 void *p;
51 static void f();
52 };
53
f()54 void C::f() { }
55
56 }
57