// RUN: %clang_cc1 %s -fsyntax-only -Wmicrosoft -verify -fms-extensions
// expected-no-diagnostics
structType{};voidtest_if_exists_stmts(void){int b =0;__if_exists(Type){
b++;
b++;}__if_exists(Type_not){
this will not compile.}__if_not_exists(Type){
this will not compile.}__if_not_exists(Type_not){
b++;
b++;}}intif_exists_creates_no_scope(void){__if_exists(Type){int x;// 'x' is declared in the parent scope.
}__if_not_exists(Type_not){
x++;}return x;}__if_exists(Type){int var23;}__if_exists(Type_not){
this will not compile.}__if_not_exists(Type){
this will not compile.}__if_not_exists(Type_not){int var244;}voidtest_if_exists_init_list(void){int array1[]={0,__if_exists(Type){2,}3};int array2[]={0,__if_exists(Type_not){ this will not compile }3};int array3[]={0,__if_not_exists(Type_not){2,}3};int array4[]={0,__if_not_exists(Type){ this will not compile }3};}voidtest_nested_if_exists(void){__if_exists(Type){int x =42;__if_not_exists(Type_not){
x++;}}}