1*67e74705SXin Li // RUN: %clang_cc1 -fsyntax-only -Wuninitialized -verify %s 2*67e74705SXin Li // RUN: %clang_cc1 -fsyntax-only -Wuninitialized -fdiagnostics-parseable-fixits %s 2>&1 | FileCheck %s 3*67e74705SXin Li test_bool_no_false()4*67e74705SXin Li_Bool test_bool_no_false() { 5*67e74705SXin Li _Bool var; // expected-note {{initialize}} 6*67e74705SXin Li // CHECK: fix-it:"{{.*}}":{[[@LINE-1]]:12-[[@LINE-1]]:12}:" = 0" 7*67e74705SXin Li return var; // expected-warning {{uninitialized}} 8*67e74705SXin Li } 9*67e74705SXin Li 10*67e74705SXin Li #define bool _Bool 11*67e74705SXin Li #define false (bool)0 12*67e74705SXin Li #define true (bool)1 test_bool_with_false()13*67e74705SXin Libool test_bool_with_false() { 14*67e74705SXin Li bool var; // expected-note {{initialize}} 15*67e74705SXin Li // CHECK: fix-it:"{{.*}}":{[[@LINE-1]]:11-[[@LINE-1]]:11}:" = false" 16*67e74705SXin Li return var; // expected-warning {{uninitialized}} 17*67e74705SXin Li } 18*67e74705SXin Li test_bool_with_false_undefined()19*67e74705SXin Libool test_bool_with_false_undefined() { 20*67e74705SXin Li bool 21*67e74705SXin Li #undef false 22*67e74705SXin Li var; // expected-note {{initialize}} 23*67e74705SXin Li // CHECK: fix-it:"{{.*}}":{[[@LINE-1]]:10-[[@LINE-1]]:10}:" = 0" 24*67e74705SXin Li return var; // expected-warning {{uninitialized}} 25*67e74705SXin Li } 26