diff gcc/testsuite/c-c++-common/Wshift-overflow-6.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gcc/testsuite/c-c++-common/Wshift-overflow-6.c	Fri Oct 27 22:46:09 2017 +0900
@@ -0,0 +1,37 @@
+/* PR c++/55095 */
+/* { dg-do compile { target int32 } } */
+/* { dg-options "-Wshift-overflow=1" } */
+/* { dg-additional-options "-std=c++11" { target c++ } } */
+
+int i00 = 0b1 << 31;
+int i01 = 0b10 << 30;
+int i02 = 0b100 << 29;
+int i03 = 0b1000 << 28;
+int i04 = 0b10000 << 27;
+int i05 = 0b100000 << 26;
+int i06 = 0b1000000 << 25;
+int i07 = 0b10000000 << 24;
+int i08 = 0b100000000 << 23;
+int i09 = 0b1000000000 << 22;
+int i10 = 0b10000000000 << 21;
+int i11 = 0b100000000000 << 20;
+int i12 = 0b1000000000000 << 19;
+int i13 = 0b10000000000000 << 18;
+int i14 = 0b100000000000000 << 17;
+int i15 = 0b1000000000000000 << 16;
+int i16 = 0b10000000000000000 << 15;
+int i17 = 0b100000000000000000 << 14;
+int i18 = 0b1000000000000000000 << 13;
+int i19 = 0b10000000000000000000 << 12;
+int i20 = 0b100000000000000000000 << 11;
+int i21 = 0b1000000000000000000000 << 10;
+int i22 = 0b10000000000000000000000 << 9;
+int i23 = 0b100000000000000000000000 << 8;
+int i24 = 0b1000000000000000000000000 << 7;
+int i25 = 0b10000000000000000000000000 << 6;
+int i26 = 0b100000000000000000000000000 << 5;
+int i27 = 0b1000000000000000000000000000 << 4;
+int i28 = 0b10000000000000000000000000000 << 3;
+int i29 = 0b100000000000000000000000000000 << 2;
+int i30 = 0b1000000000000000000000000000000 << 1;
+int i31 = (int) 0b10000000000000000000000000000000u << 1; /* { dg-warning "requires 33 bits to represent" } */