Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.c-torture/execute/shiftopt-1.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* Copyright (C) 2002 Free Software Foundation Check that constant folding of shift operations is working. Roger Sayle, 10th October 2002. */ extern void abort (void); extern void link_error (void); void utest (unsigned int x) { if (x >> 0 != x) link_error (); if (x << 0 != x) link_error (); if (0 << x != 0) link_error (); if (0 >> x != 0) link_error (); if (-1 >> x != -1) link_error (); if (~0 >> x != ~0) link_error (); } void stest (int x) { if (x >> 0 != x) link_error (); if (x << 0 != x) link_error (); if (0 << x != 0) link_error (); if (0 >> x != 0) link_error (); } int main () { utest(9); utest(0); stest(9); stest(0); return 0; } #ifndef __OPTIMIZE__ void link_error () { abort (); } #endif