18cba7217SAaron Ballman // RUN: %clang_cc1 -std=c17 -fsyntax-only -verify=ext -Wno-unused %s 28cba7217SAaron Ballman // RUN: %clang_cc1 -std=c2x -fsyntax-only -verify=compat -Wpre-c2x-compat -Wno-unused %s 3*ca1f1c95Sjs324 // RUN: %clang_cc1 -fsyntax-only -verify=cpp -Wbit-int-extension -Wno-unused -x c++ %s 48cba7217SAaron Ballman 59c4ade06SAaron Ballman #if 18446744073709551615uwb // ext-warning {{'_BitInt' suffix for literals is a C23 extension}} \ 69c4ade06SAaron Ballman compat-warning {{'_BitInt' suffix for literals is incompatible with C standards before C23}} \ 78cba7217SAaron Ballman cpp-error {{invalid suffix 'uwb' on integer constant}} 88cba7217SAaron Ballman #endif 98cba7217SAaron Ballman 10*ca1f1c95Sjs324 #if 18446744073709551615__uwb // ext-error {{invalid suffix '__uwb' on integer constant}} \ 11*ca1f1c95Sjs324 compat-error {{invalid suffix '__uwb' on integer constant}} \ 12*ca1f1c95Sjs324 cpp-warning {{'_BitInt' suffix for literals is a Clang extension}} 13*ca1f1c95Sjs324 #endif 14*ca1f1c95Sjs324 func(void)158cba7217SAaron Ballmanvoid func(void) { 169c4ade06SAaron Ballman 18446744073709551615wb; // ext-warning {{'_BitInt' suffix for literals is a C23 extension}} \ 179c4ade06SAaron Ballman compat-warning {{'_BitInt' suffix for literals is incompatible with C standards before C23}} \ 188cba7217SAaron Ballman cpp-error {{invalid suffix 'wb' on integer constant}} 19*ca1f1c95Sjs324 20*ca1f1c95Sjs324 18446744073709551615__wb; // ext-error {{invalid suffix '__wb' on integer constant}} \ 21*ca1f1c95Sjs324 compat-error {{invalid suffix '__wb' on integer constant}} \ 22*ca1f1c95Sjs324 cpp-warning {{'_BitInt' suffix for literals is a Clang extension}} 238cba7217SAaron Ballman } 24