http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60849
Bug ID: 60849 Summary: bogus comparison result type Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: dehao at gcc dot gnu.org Created attachment 32605 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32605&action=edit testcase In execute_fold_all_builtins, the builtin is expanded to UNORDERED_EXPR, but its lhs is not updated to boolean type. #gcc -c test.cc -O2 test.cc: In function ‘void foo(float)’: test.cc:10:1: error: bogus comparison result type } ^ int _7 = _4 unord _4; test.cc:10:1: internal compiler error: verify_gimple failed 0xbadd91 verify_gimple_in_cfg(function*) ../../gcc/tree-cfg.c:4942 0xad3d94 execute_function_todo ../../gcc/passes.c:1853 0xad47c3 execute_todo ../../gcc/passes.c:1887 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions.