brintos

brintos / llvm-project-archived public Read only

0
0
Text · 597 B · 3e3af67 Raw
24 lines · cpp
1// RUN: %clang_cc1 -Wconditional-uninitialized -fsyntax-only %s -verify2 3class Foo {4public:5  Foo();6  ~Foo();7  operator bool();8};9 10int bar();11int baz();12int init(double *);13 14// This case flags a false positive under -Wconditional-uninitialized because15// the destructor in Foo fouls about the minor bit of path-sensitivity in16// -Wuninitialized.17double test() {18  double x; // expected-note{{initialize the variable 'x' to silence this warning}}19  if (bar() || baz() || Foo() || init(&x))20    return 1.0;21 22  return x; // expected-warning {{variable 'x' may be uninitialized when used here}}23}24