Hi,
I have a reduced testcase from BOOST that fails with yesterdays CVS (4.0.0 20050214 (experimental)), but compiles under 3.4. I don't know if this is a bug in BOOST or in g++:
------------------ begin testcase template< typename T, T N > struct integral_c { static const T value = N;
typedef integral_c< T, static_cast<T>((value + 1)) > next; // typedef integral_c< T, static_cast<T>((value - 1)) > prior;
// operator T() const { return static_cast<T>(this->value); } }; ------------------- end testcase % g++-cvs testcase.C c.C:6: error: template argument 2 is invalid
Note that simply replacing 'value' by 'N' make this compile.
The original error was obtained by including <boost/numeric/ublas/matrix.hpp>
The following error was recieved:
In file included from /usr/include/boost/config.hpp:35,
from /usr/include/boost/numeric/ublas/config.hpp:24,
from /usr/include/boost/numeric/ublas/matrix.hpp:20,
from a.C:1:
/usr/include/boost/config/compiler/gcc.hpp:92:7: warning: #warning "Unknown compiler version - please run the configure tests and report the results"
/usr/include/boost/mpl/aux_/integral_wrapper.hpp:72: error: template argument 2 is invalid
/usr/include/boost/mpl/aux_/integral_wrapper.hpp:73: error: template argument 2 is invalid
Please let me know if I should file a PR
thanks! -BenRI