Benjamin Redelings I <[EMAIL PROTECTED]> wrote:

> 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

Please add your testcase to PR19883 and mention that this is breaking boost.

Giovanni Bajo

Reply via email to