------- Comment #4 from rguenth at gcc dot gnu dot org 2010-04-20 09:45 ------- Fails at -O -fipa-cp -fwhole-program
typedef float scoord_t; typedef scoord_t sdist_t; typedef sdist_t dist_t; template<typename T> class TRay { }; typedef TRay<dist_t> Ray; class BBox { }; class RenderContext { }; class RefCounted { public: void deref () const { if (--ref_count <= 0) { delete this; } } mutable int ref_count; }; template<class T> class Ref { public: ~Ref () { if (obj) obj->deref (); } T *obj; }; class Material : public RefCounted { }; class Surface { public: virtual ~Surface () { } class IsecInfo { }; virtual const IsecInfo *intersect (Ray &ray, RenderContext &context) const; Ref<const Material> material; }; class LocalSurface : public Surface { virtual BBox bbox () const; }; BBox LocalSurface::bbox () const { } -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |hubicka at gcc dot gnu dot | |org, jamborm at gcc dot gnu | |dot org Keywords| |ice-on-valid-code Known to fail| |4.5.0 Known to work| |4.4.3 Summary|compiling .cc file with - |[4.5/4.6 Regression] |fwhole-program results in |compiling .cc file with - |ICE, in ipcp_iterate_stage, |fwhole-program results in |at ipa-cp.c:760 |ICE, in ipcp_iterate_stage, | |at ipa-cp.c:760 Target Milestone|--- |4.5.1 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43812