Intel C++ 9.0 (Linux)
type_assert
[johan@mintoshiba redhat9-intel]$ make c=icc
linux intel32 debug icc
../recurse.hpp(27): error: class "tests::too_deep_in_function<5>" has no member "assert"
template<typename if_, int assert_ = if_::assert> struct
^
detected during:
processing of template argument list for "tests::type_assert" based on template argument <tests::too_deep_in_function<5>> at line 80
instantiation of "int tests::recurse<void>::function(const tests::depth<depth_> &) [with depth_=5]" at line 67
instantiation of "int tests::recurse<next_>::function(const tests::depth<depth_> &) [with next_=tests::recurse<void>, depth_=4]" at line 67
instantiation of "int tests::recurse<next_>::function(const tests::depth<depth_> &) [with next_=tests::recurse<tests::recurse<void>>, depth_=3]" at line 67
instantiation of "int tests::recurse<next_>::function(const tests::depth<depth_> &) [with next_=tests::recurse<tests::recurse<tests::recurse<void>>>, depth_=2]" at line 67
instantiation of "int tests::recurse<next_>::function(const tests::depth<depth_> &) [with next_=tests::recurse<tests::recurse<tests::recurse<tests::recurse<void>>>>, depth_=1]" at line 70
instantiation of "tests::recurse<next_>::operator int() const [with next_=tests::recurse<tests::recurse<tests::recurse<tests::recurse<void>>>>]"
compilation aborted for ../main.cpp (code 2)
make: *** [debug] Error 2
BOOST_MPL_ASSERT
[johan@mintoshiba redhat9-intel]$ make c=icc
linux intel32 debug icc
../recurse.hpp(79): error: no instance of function template "boost::mpl::assertion_failed" matches the argument list
argument types are: (boost::mpl::failed ************tests::too_deep_in_function<5>::************)
BOOST_MPL_ASSERT(( too_deep_in_function<depth_> ));
^
detected during:
instantiation of "int tests::recurse<void>::function(const tests::depth<depth_> &) [with depth_=5]" at line 67
instantiation of "int tests::recurse<next_>::function(const tests::depth<depth_> &) [with next_=tests::recurse<void>, depth_=4]" at line 67
instantiation of "int tests::recurse<next_>::function(const tests::depth<depth_> &) [with next_=tests::recurse<tests::recurse<void>>, depth_=3]" at line 67
instantiation of "int tests::recurse<next_>::function(const tests::depth<depth_> &) [with next_=tests::recurse<tests::recurse<tests::recurse<void>>>, depth_=2]" at line 67
instantiation of "int tests::recurse<next_>::function(const tests::depth<depth_> &) [with next_=tests::recurse<tests::recurse<tests::recurse<tests::recurse<void>>>>, depth_=1]" at line 70
instantiation of "tests::recurse<next_>::operator int() const [with next_=tests::recurse<tests::recurse<tests::recurse<tests::recurse<void>>>>]"
compilation aborted for ../main.cpp (code 2)
make: *** [debug] Error 2
BOOST_STATIC_ASSERT
[johan@mintoshiba redhat9-intel]$ make c=icc
linux intel32 debug icc
../recurse.hpp(78): error: incomplete type is not allowed
BOOST_STATIC_ASSERT(( too_deep_in_function<depth_>::value ));
^
detected during:
instantiation of "int tests::recurse<void>::function(const tests::depth<depth_> &) [with depth_=5]" at line 67
instantiation of "int tests::recurse<next_>::function(const tests::depth<depth_> &) [with next_=tests::recurse<void>, depth_=4]" at line 67
instantiation of "int tests::recurse<next_>::function(const tests::depth<depth_> &) [with next_=tests::recurse<tests::recurse<void>>, depth_=3]" at line 67
instantiation of "int tests::recurse<next_>::function(const tests::depth<depth_> &) [with next_=tests::recurse<tests::recurse<tests::recurse<void>>>, depth_=2]" at line 67
instantiation of "int tests::recurse<next_>::function(const tests::depth<depth_> &) [with next_=tests::recurse<tests::recurse<tests::recurse<tests::recurse<void>>>>, depth_=1]" at line 70
instantiation of "tests::recurse<next_>::operator int() const [with next_=tests::recurse<tests::recurse<tests::recurse<tests::recurse<void>>>>]"
compilation aborted for ../main.cpp (code 2)
make: *** [debug] Error 2