http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50901
Bug #: 50901 Summary: [4.6/4.7 Regression] ICE: in build_new_op, at cp/call.c:5016 Classification: Unclassified Product: gcc Version: 4.6.2 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: amona...@gcc.gnu.org cat > t.cc template<class T> int foo(int a) { const unsigned b = a < 0 ? -a : a; return 0; } gcc/cc1plus -std=c++0x t.cc int foo(int) t2.cc:4:35: internal compiler error: in build_new_op, at cp/call.c:5016 4.5 and 4.6.1 work, 4.6.2 and trunk break. Seems like build_new_op is missing a case for ABS_EXPR.