view gcc/testsuite/g++.dg/ubsan/cxx11-shift-2.C @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 1830386684a0
children
line wrap: on
line source

/* { dg-do run } */
/* { dg-options "-fsanitize=shift -w -std=c++11" } */

int
main ()
{
  int a = -42;
  a <<= 1;
  a = -43;
  a <<= 0;
  a = -44;
  a <<= (__SIZEOF_INT__ * __CHAR_BIT__ - 1);
  a = 32;
  a <<= (__SIZEOF_INT__ * __CHAR_BIT__ - 3);
}
/* { dg-output "left shift of negative value -42.*" } */
/* { dg-output "left shift of negative value -43.*" } */
/* { dg-output "left shift of negative value -44.*" } */
/* { dg-output "left shift of 32 by \[0-9]* places cannot be represented in type 'int'" } */