http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56047
--- Comment #7 from janus at gcc dot gnu.org 2013-01-20 11:36:52 UTC --- (In reply to comment #5) > Btw, while the ICE is obviously a 4.8 regression, 4.6 and 4.7 are not much > more > helpful, either: > > if (template%type_string () == name) return > 1 > Error: Operands of comparison operator '==' at (1) are > TYPE(string_t)/TYPE(string_t) ... but that is just due to the absence of the full iso_varying_string code (in comment 3), which defines an equality operator for string_t. Both 4.6 and 4.7 cleanly compile the full test case in comment 0.