This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/50622] [4.7 Regression] ICE: verify_gimple failed for std::complex<double>
- From: "vincenzo.innocente at cern dot ch" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 09 Oct 2011 08:40:07 +0000
- Subject: [Bug tree-optimization/50622] [4.7 Regression] ICE: verify_gimple failed for std::complex<double>
- Auto-submitted: auto-generated
- References: <bug-50622-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50622
vincenzo Innocente <vincenzo.innocente at cern dot ch> changed:
What |Removed |Added
----------------------------------------------------------------------------
Severity|normal |blocker
--- Comment #4 from vincenzo Innocente <vincenzo.innocente at cern dot ch> 2011-10-09 08:40:07 UTC ---
reduced to this (no std)
typedef __complex__ double Value;
struct LorentzVector
{
LorentzVector & operator+=(const LorentzVector & a) {
theX += a.theX;
theY += a.theY;
theZ += a.theZ;
theT += a.theT;
return *this;
}
Value theX;
Value theY;
Value theZ;
Value theT;
};
inline LorentzVector
operator+(LorentzVector a, const LorentzVector & b) {
return a += b;
}
Value ex, et;
LorentzVector sum() {
LorentzVector v1; v1.theX =ex; v1.theY =ex+et; v1.theZ =ex-et; v1.theT =et;
return v1+v1;
}
c++ -O2 -c ice47c.cc
ice47c.cc: In function âLorentzVector sum()â:
ice47c.cc:24:15: error: invalid rhs for gimple memory store
a$theX
v1$theX
# .MEM_53 = VDEF <.MEM_13>
a$theX = v1$theX;
ice47c.cc:24:15: error: invalid rhs for gimple memory store
a$theY
v1$theY
# .MEM_54 = VDEF <.MEM_53>
a$theY = v1$theY;
ice47c.cc:24:15: error: invalid rhs for gimple memory store
a$theZ
v1$theZ
# .MEM_55 = VDEF <.MEM_54>
a$theZ = v1$theZ;
ice47c.cc:24:15: error: invalid rhs for gimple memory store
a$theT
v1$theT
# .MEM_56 = VDEF <.MEM_55>
a$theT = v1$theT;
ice47c.cc:24:15: internal compiler error: verify_gimple failed
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.