xref: /aosp_15_r20/external/clang/test/SemaCXX/cxx1z-init-statement-warn-unused.cpp (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: %clang_cc1 -std=c++1z -verify -Wuninitialized %s
2*67e74705SXin Li 
testIf()3*67e74705SXin Li void testIf() {
4*67e74705SXin Li   if (bool b; b) // expected-warning {{uninitialized}} expected-note {{to silence}}
5*67e74705SXin Li     ;
6*67e74705SXin Li   if (int a, b = 2; a) // expected-warning {{uninitialized}} expected-note {{to silence}}
7*67e74705SXin Li     ;
8*67e74705SXin Li   int a;
9*67e74705SXin Li   if (a = 0; a) {} // OK
10*67e74705SXin Li }
11*67e74705SXin Li 
testSwitch()12*67e74705SXin Li void testSwitch() {
13*67e74705SXin Li   switch (bool b; b) { // expected-warning {{uninitialized}} expected-warning {{boolean value}} expected-note {{to silence}}
14*67e74705SXin Li     case 0:
15*67e74705SXin Li       break;
16*67e74705SXin Li   }
17*67e74705SXin Li   switch (int a, b = 7; a) { // expected-warning {{uninitialized}} expected-note {{to silence}}
18*67e74705SXin Li     case 0:
19*67e74705SXin Li       break;
20*67e74705SXin Li   }
21*67e74705SXin Li   int c;
22*67e74705SXin Li   switch (c = 0; c) { // OK
23*67e74705SXin Li     case 0:
24*67e74705SXin Li       break;
25*67e74705SXin Li   }
26*67e74705SXin Li }
27