26_numerics fails
Paolo Carlini
pcarlini@unitus.it
Fri Jan 11 08:55:00 GMT 2002
Hi,
thanks to the help of Peter's nice "distillation" work, I'm trying to understand
more of the valarray regression.
In Peter PR I find:
template<template<class> class _Oper,
template<class, class> class _Meta, class _Dom> struct _UnClos;
template<template<class> class _Oper,
template<class, class> class _Meta1,
template<class, class> class _Meta2,
class _Dom1, class _Dom2> class _BinClos;
and then:
template<template<class> class _Oper, typename _Tp>
struct _BinClos<_Oper,_ValArray,_Constant,_Tp,_Tp>
: _BinBase2<_Oper,valarray<_Tp> > {
typedef _BinBase2<_Oper,valarray<_Tp> > _Base;
typedef typename _Base::value_type value_type;
_BinClos (const valarray<_Tp>& __v, const _Tp& __t)
: _Base (__v, __t) {}
};
The testcase would become *compilable* with the current compiler if the the
_BinClos declaration were changed to:
template<template<class> class _Oper,
template<class, class> class _Meta1,
template<class, class> class _Meta2,
class _Dom1, class _Dom2> struct _BinClos;
^^^^^^
This change would also make _BinClos declaration analogous to _UnClos
declaration: this sounds /v/e/r/y /n/a/i/v/e/l/y quite good to me...
Thoughts?
Or is it really the compiler wrong (as Peter currently believes)? Why changing
the _BinClos declaration would lead to a not conforming implementation?
Thanks,
Paolo.
More information about the Libstdc++
mailing list