• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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