------- Comment #3 from rguenth at gcc dot gnu dot org 2006-03-10 13:53 ------- shorter testcase:
extern void abort(void); int main() { int a1 = 40000; int c1 = ( ((int)(short)(a1-10000)) + 10000)*2; if (c1 != 80000) abort(); return 0; } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26630