------- Comment #3 from rguenth at gcc dot gnu dot org 2010-06-27 08:27 ------- Reduced testcase:
class Array { template <typename T, class Op> static inline Array UnaryOp(const Array &Ain) { return Array::Array(); } template <class Op> static inline Array UnaryOp(const Array &Ain) { return UnaryOp<float,Op>(Ain); } struct OpAbs { Array AbsFunction(int nargout, const Array& arg) { return UnaryOp<OpAbs>(arg); } }; }; does not exhibit the repeated error though. Same backtrace with less tsubst_expr calls though. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44040