1*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -Wall -Wshift-sign-overflow -ffreestanding -fsyntax-only -verify %s 2*f4a2713aSLionel Sambuc 3*f4a2713aSLionel Sambuc #include <limits.h> 4*f4a2713aSLionel Sambuc 5*f4a2713aSLionel Sambuc #define WORD_BIT (sizeof(int) * CHAR_BIT) 6*f4a2713aSLionel Sambuc f()7*f4a2713aSLionel Sambuctemplate <int N> void f() { 8*f4a2713aSLionel Sambuc (void)(N << 30); // expected-warning {{bits to represent, but 'int' only has}} 9*f4a2713aSLionel Sambuc (void)(30 << N); // expected-warning {{bits to represent, but 'int' only has}} 10*f4a2713aSLionel Sambuc } 11*f4a2713aSLionel Sambuc test()12*f4a2713aSLionel Sambucvoid test() { 13*f4a2713aSLionel Sambuc f<30>(); // expected-note {{instantiation}} 14*f4a2713aSLionel Sambuc } 15