175bd9ed70cec21b4395d701d371356cfe3ec9aaeRichard Smith// RUN: %clang_cc1 -fsyntax-only -Wuninitialized -verify %s 275bd9ed70cec21b4395d701d371356cfe3ec9aaeRichard Smith// RUN: %clang_cc1 -fsyntax-only -Wuninitialized -fdiagnostics-parseable-fixits %s 2>&1 | FileCheck %s 375bd9ed70cec21b4395d701d371356cfe3ec9aaeRichard Smith 475bd9ed70cec21b4395d701d371356cfe3ec9aaeRichard Smith_Bool test_bool_no_false() { 575bd9ed70cec21b4395d701d371356cfe3ec9aaeRichard Smith _Bool var; // expected-note {{initialize}} 675bd9ed70cec21b4395d701d371356cfe3ec9aaeRichard Smith // CHECK: fix-it:"{{.*}}":{[[@LINE-1]]:12-[[@LINE-1]]:12}:" = 0" 775bd9ed70cec21b4395d701d371356cfe3ec9aaeRichard Smith return var; // expected-warning {{uninitialized}} 875bd9ed70cec21b4395d701d371356cfe3ec9aaeRichard Smith} 975bd9ed70cec21b4395d701d371356cfe3ec9aaeRichard Smith 1075bd9ed70cec21b4395d701d371356cfe3ec9aaeRichard Smith#define bool _Bool 1175bd9ed70cec21b4395d701d371356cfe3ec9aaeRichard Smith#define false (bool)0 1275bd9ed70cec21b4395d701d371356cfe3ec9aaeRichard Smith#define true (bool)1 1375bd9ed70cec21b4395d701d371356cfe3ec9aaeRichard Smithbool test_bool_with_false() { 1475bd9ed70cec21b4395d701d371356cfe3ec9aaeRichard Smith bool var; // expected-note {{initialize}} 1575bd9ed70cec21b4395d701d371356cfe3ec9aaeRichard Smith // CHECK: fix-it:"{{.*}}":{[[@LINE-1]]:11-[[@LINE-1]]:11}:" = false" 1675bd9ed70cec21b4395d701d371356cfe3ec9aaeRichard Smith return var; // expected-warning {{uninitialized}} 1775bd9ed70cec21b4395d701d371356cfe3ec9aaeRichard Smith} 1875bd9ed70cec21b4395d701d371356cfe3ec9aaeRichard Smith 1975bd9ed70cec21b4395d701d371356cfe3ec9aaeRichard Smithbool test_bool_with_false_undefined() { 2075bd9ed70cec21b4395d701d371356cfe3ec9aaeRichard Smith bool 2175bd9ed70cec21b4395d701d371356cfe3ec9aaeRichard Smith#undef false 2275bd9ed70cec21b4395d701d371356cfe3ec9aaeRichard Smith var; // expected-note {{initialize}} 2375bd9ed70cec21b4395d701d371356cfe3ec9aaeRichard Smith // CHECK: fix-it:"{{.*}}":{[[@LINE-1]]:10-[[@LINE-1]]:10}:" = 0" 2475bd9ed70cec21b4395d701d371356cfe3ec9aaeRichard Smith return var; // expected-warning {{uninitialized}} 2575bd9ed70cec21b4395d701d371356cfe3ec9aaeRichard Smith} 26