Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.c-torture/execute/20020614-1.c @ 158:494b0b89df80 default tip
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 18:13:55 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* PR c/6677 */ /* Verify that GCC doesn't perform illegal simplifications when folding constants. */ #include <limits.h> extern void abort (void); extern void exit (int); int main (void) { int i; signed char j; unsigned char k; i = SCHAR_MAX; j = ((signed char) (i << 1)) / 2; if (j != -1) abort(); j = ((signed char) (i * 2)) / 2; if (j != -1) abort(); i = UCHAR_MAX; k = ((unsigned char) (i << 1)) / 2; if (k != UCHAR_MAX/2) abort(); k = ((unsigned char) (i * 2)) / 2; if (k != UCHAR_MAX/2) abort(); exit(0); }