https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83608
Bug ID: 83608 Summary: [7/8 Regression] ICE in convert_move, at expr.c:229 in GIMPLE store merging pass Product: gcc Version: unknown Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org CC: jakub at gcc dot gnu.org, ktkachov at gcc dot gnu.org Target Milestone: --- Starting from r241649 we ICE on: $ cat ice.ii template <typename> class b; template <> struct b<float> { float c () { return __real__ d; } _Complex d; }; void e (int, const char *); template <class f> void g () { b<f> h; f *a = (f *) &h; a[0] = a[1] = 6; h.c () ? void() : e (7, __PRETTY_FUNCTION__); } int main () { g<float> (); return 0; } $ g++ -O2 -c ice.ii ice.ii: In function ‘int main()’: ice.ii:18:3: internal compiler error: in convert_move, at expr.c:229 a[0] = a[1] = 6; ^ Please submit a full bug report, with preprocessed source if appropriate. See <http://bugs.opensuse.org/> for instructions.