------- Comment #7 from pinskia at gcc dot gnu dot org 2006-10-23 06:47 ------- Reduced testcase: struct string { struct _Rep{}; static _Rep _S_empty_rep_storage[]; void *_M_rep () const{} void _M_destroy () throw (); ~string () { _Rep *a = (_Rep *)((void *)(&_S_empty_rep_storage)); if (__builtin_expect (_M_rep ()!= a, false)) _M_destroy (); } }; struct ios_base { virtual ~ ios_base (); }; struct ostream : virtual ios_base{}; struct stringbuf { int t()const; string _M_string; string str () const { string __ret; if (t()) return __ret; } }; struct ostringstream : ostream { ostream __ostream_type; stringbuf _M_stringbuf; }; void sizeString () { ostringstream s; s._M_stringbuf.str (); }
-- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Keywords| |ice-on-valid-code Last reconfirmed|0000-00-00 00:00:00 |2006-10-23 06:47:45 date| | Summary|[4.1 regression] ICE: |ICE: output_operand: invalid |output_operand: invalid |expression as operand with - |expression as operand with -|gstabs |gstabs | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29443