xref: /llvm-project/clang/test/Sema/shift-count-overflow.c (revision e4163c0927772f2ec73cf16d53e000614c419c45)
1*e4163c09SBudimir Aranđelović // RUN: %clang_cc1 -fsyntax-only -verify=expected,c -pedantic %s
2*e4163c09SBudimir Aranđelović // RUN: %clang_cc1 -x c++ -std=c++98 -fsyntax-only -verify=expected,cpp %s
3*e4163c09SBudimir Aranđelović // RUN: %clang_cc1 -x c++ -std=c++11 -fsyntax-only -verify=expected,cpp %s
4*e4163c09SBudimir Aranđelović 
5*e4163c09SBudimir Aranđelović enum shiftof {
6*e4163c09SBudimir Aranđelović     X = (1<<32) // c-warning {{expression is not an integer constant expression; folding it to a constant is a GNU extension}}
7*e4163c09SBudimir Aranđelović                 // cpp-error@-1 {{expression is not an integral constant expression}}
8*e4163c09SBudimir Aranđelović                 // expected-note@-2 {{shift count 32 >= width of type 'int'}}
9*e4163c09SBudimir Aranđelović };
10