URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Subversion Repositories openrisc_me
[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [testsuite/] [gcc.c-torture/] [execute/] [pr16790-1.c] - Rev 297
Compare with Previous | Blame | View Log
/* PR middle-end/16790. */ extern void abort (); static void test1(unsigned int u1) { unsigned int y_final_1; signed short y_middle; unsigned int y_final_2; y_final_1 = (unsigned int)( (signed short)(u1 * 2) * 3 ); y_middle = (signed short)(u1 * 2); y_final_2 = (unsigned int)( y_middle * 3 ); if (y_final_1 != y_final_2) abort (); } static void test2(unsigned int u1) { unsigned int y_final_1; signed short y_middle; unsigned int y_final_2; y_final_1 = (unsigned int)( (signed short)(u1 << 1) * 3 ); y_middle = (signed short)(u1 << 1); y_final_2 = (unsigned int)( y_middle * 3 ); if (y_final_1 != y_final_2) abort (); } int main() { test1(0x4000U); test2(0x4000U); return 0; }