------- Comment #3 from pinskia at gcc dot gnu dot org 2005-10-14 12:05 ------- Here is the source for the 4.1 regression: typedef __complex__ double cdouble; inline cdouble to_complex(const double &r, const double &i = 0.0) { cdouble z; __real__ z = r; return z; } template<class value_type, bool simple_copy = true, bool atomic = true> class RefPointer { }; template<typename elt_t> class Vector : public RefPointer<elt_t> { public: typedef elt_t number; static elt_t elt_zero(); }; template <typename t> inline t min(t a, t b) { } template<> inline cdouble Vector<cdouble>::elt_zero() { return to_complex(0.0); } template<typename elt_t> class Tensor : public Vector<elt_t> { }; cdouble trace(const Tensor<cdouble> &t) { cdouble output = t.elt_zero(); }
---- Note There are two problems here, one for 4.1 and one for 4.0. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24362