// RUN: %clang_cc1 -analyze -analyzer-checker=core -verify %s int f1(char *dst) { char *p = dst + 4; char *q = dst + 3; return !(q >= p); } long f2(char *c) { return long(c) & 1; } bool f3() { return !false; } void *f4(int* w) { return reinterpret_cast<void*&>(w); } namespace { struct A { }; struct B { operator A() { return A(); } }; A f(char *dst) { B b; return b; } } namespace { struct S { void *p; }; void *f(S* w) { return &reinterpret_cast<void*&>(*w); } } namespace { struct C { void *p; static void f(); }; void C::f() { } }