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