test(bool x)1*4110967cSIlya Biryukovvoid test(bool x) { 2*4110967cSIlya Biryukov if (x) {} 3*4110967cSIlya Biryukov // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:2:7 %s | FileCheck %s 4*4110967cSIlya Biryukov // CHECK: PREFERRED-TYPE: _Bool 5*4110967cSIlya Biryukov 6*4110967cSIlya Biryukov while (x) {} 7*4110967cSIlya Biryukov // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:6:10 %s | FileCheck %s 8*4110967cSIlya Biryukov 9*4110967cSIlya Biryukov for (; x;) {} 10*4110967cSIlya Biryukov // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:9:10 %s | FileCheck %s 11*4110967cSIlya Biryukov 12*4110967cSIlya Biryukov // FIXME(ibiryukov): the condition in do-while is parsed as expression, so we 13*4110967cSIlya Biryukov // fail to detect it should be converted to bool. 14*4110967cSIlya Biryukov // do {} while (x); 15*4110967cSIlya Biryukov } 16