xref: /aosp_15_r20/external/clang/test/FixIt/fixit-uninit.c (revision 67e74705e28f6214e480b399dd47ea732279e315)
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 Li bool 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 Li bool 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