------- Additional Comments From pinskia at gcc dot gnu dot org 2005-01-10 15:04 ------- Confirmed, reduced testcase: typedef bool Boolean; extern Boolean is_nil (); void f(void) { unsigned int ilen; if(!((ilen > 0 ? !is_nil () : 1))) {} }
Note if we remove the typedef it works. It also worked in 20050105. I think the following patch caused it: 2005-01-05 Roger Sayle <[EMAIL PROTECTED]> PR middle-end/19100 * c-common.c: Include real.h. (c_common_truthvalue_conversion): Avoid destructively modifying expr. Correctly handle TREE_CONSTANT_OVERFLOW for INTEGER_CST. Correctly handle TREE_CONSTANT_OVERFLOW and NaNs for REAL_CST. * Makefile.in (c-common.o): Update dependencies. -- What |Removed |Added ---------------------------------------------------------------------------- CC| |roger at eyesopen dot com Status|UNCONFIRMED |NEW Ever Confirmed| |1 Last reconfirmed|0000-00-00 00:00:00 |2005-01-10 15:04:40 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19355