URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [testsuite/] [gcc.c-torture/] [execute/] [shiftopt-1.c] - Rev 816
Compare with Previous | Blame | View Log
/* 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 (); if (-1 >> x != -1) 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