------- Comment #3 from rguenth at gcc dot gnu dot org 2009-08-24 10:29 ------- Confirmed. Mine.
struct rgba8; template<class ColorT> class span_gouraud { public: struct coord_type { }; coord_type m_coord[3]; }; template<class ColorT> class span_gouraud_rgba : public span_gouraud<ColorT> { typedef ColorT color_type; typedef span_gouraud<color_type> base_type; typedef typename base_type::coord_type coord_type; public: void prepare() { coord_type coord[3]; } }; void the_application() { typedef span_gouraud_rgba<rgba8> gouraud_span_gen_type; gouraud_span_gen_type span_gouraud; span_gouraud.prepare(); } ICEs at -fstrict-aliasing. -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at gcc dot gnu |rguenth at gcc dot gnu dot |dot org |org Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Keywords| |ice-on-valid-code Last reconfirmed|0000-00-00 00:00:00 |2009-08-24 10:29:36 date| | Summary|ice for legal code with -O2 |[4.5 Regression] ice for |in get_alias_set |legal code with -O2 in | |get_alias_set Target Milestone|--- |4.5.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41144