// RUN: %clang_analyze_cc1 -analyzer-checker=core -Wno-uninitialized -verify %s int if_cond(void) { int foo; if (foo) //expected-warning {{Branch condition evaluates to a garbage value}} return 1; return 2; } int logical_op_and_if_cond(void) { int foo, bar; if (foo && bar) //expected-warning {{Branch condition evaluates to a garbage value}} return 1; return 2; } int logical_op_cond(int arg) { int foo; if (foo && arg) //expected-warning {{Branch condition evaluates to a garbage value}} return 1; return 2; } int if_cond_after_logical_op(int arg) { int foo; if (arg && foo) //expected-warning {{Branch condition evaluates to a garbage value}} return 1; return 2; } int ternary_cond(void) { int foo; return foo ? 1 : 2; //expected-warning {{Branch condition evaluates to a garbage value}} } int while_cond(void) { int foo; while (foo) //expected-warning {{Branch condition evaluates to a garbage value}} return 1; return 2; } int do_while_cond(void) { int foo, bar; do { foo = 43; } while (bar); //expected-warning {{Branch condition evaluates to a garbage value}} return foo; } int switch_cond(void) { int foo; switch (foo) { //expected-warning {{Branch condition evaluates to a garbage value}} case 1: return 3; case 2: return 440; default: return 6772; } }