https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69164
Bug ID: 69164 Summary: [6 Regression] ICE in create_tmp_var, at gimple-expr.c:468 Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: doko at gcc dot gnu.org Target Milestone: --- trunk r232077, i686-linux-gnu, works with -O0 reduced test case: class A { public: class B { friend A; B() {} bool : 1; }; B m_fn1() { B r; return r; } }; class C { public: class D { public: D(C *p1) : m_label(p1->m_assembler.m_fn1()) {} A::B m_label; }; A m_assembler; }; enum YarrCharSize {}; class F : C { D generateDotStarEnclosure_findEOLLoop = this; public: F(int, YarrCharSize) {} }; YarrCharSize a; int b; void fn1() { F(b, a); } $ g++ -c -march=i686 -g -O3 -std=gnu++11 -Wno-invalid-offsetof YarrJIT.ii YarrJIT.ii: In constructor 'C::D::D(C*)': YarrJIT.ii:33:23: internal compiler error: in analyze_access_subtree, at tree-sra.c:2340 void fn1() { F(b, a); } ^ 0x876134e analyze_access_subtree ../../src/gcc/tree-sra.c:2339 0x87610c7 analyze_access_subtree ../../src/gcc/tree-sra.c:2312 0x87669dd analyze_access_trees ../../src/gcc/tree-sra.c:2402 0x87669dd analyze_all_variable_accesses ../../src/gcc/tree-sra.c:2655 0x8766dad perform_intra_sra ../../src/gcc/tree-sra.c:3631 Please submit a full bug report, with preprocessed source if appropriate.