--- 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|-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