xref: /llvm-project/clang/test/Sema/shift-count-negative.c (revision de029943cc5ad0028f16e6ecaffa03e32ffd1a6f)
1e4163c09SBudimir Aranđelović // RUN: %clang_cc1 -x c -fsyntax-only -verify=expected,c -pedantic %s
2e4163c09SBudimir Aranđelović // RUN: %clang_cc1 -x c++ -fsyntax-only -verify=expected,cpp %s
3e4163c09SBudimir Aranđelović 
4*de029943STimm Bäder // RUN: %clang_cc1 -x c -fsyntax-only -verify=expected,c -pedantic %s -fexperimental-new-constant-interpreter
5*de029943STimm Bäder // RUN: %clang_cc1 -x c++ -fsyntax-only -verify=expected,cpp %s -fexperimental-new-constant-interpreter
6*de029943STimm Bäder 
7e4163c09SBudimir Aranđelović enum shiftof {
8e4163c09SBudimir Aranđelović     X = (1<<-29) // c-warning {{expression is not an integer constant expression; folding it to a constant is a GNU extension}}
9e4163c09SBudimir Aranđelović                  // cpp-error@-1 {{expression is not an integral constant expression}}
10e4163c09SBudimir Aranđelović                  // expected-note@-2 {{negative shift count -29}}
11e4163c09SBudimir Aranđelović };
12