------- Additional Comments From steven at gcc dot gnu dot org 2005-02-11 22:50 ------- And there was great rejoicing... In c-typeck.c: 3253 ovalue = value; (gdb) p debug_generic_expr (value) (intD.0) aD.1454 // Good. (gdb) next 3254 value = convert (type, value); (gdb) p debug_generic_expr (ovalue) (intD.0) aD.1454 (gdb) next 3257 if (TREE_CODE (value) == INTEGER_CST) (gdb) p debug_generic_expr (value) (unsigned intD.3) aD.1454 (gdb) p debug_generic_expr(type) unsigned intD.3 So "convert (<unsigned int>, <(int) a>)" results in "<(unsigned int) a>" which is wrong.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19606