Boost logo

Boost :

From: Markus Schöpflin (markus.schoepflin_at_[hidden])
Date: 2005-04-13 01:49:11


Arkadiy Vertleyb wrote:

> If anybody can try or has recently tried the proposed typeof library with
> any compilelr, other than GCC or MSVC, can you please let me know what the
> results are?

Tried it on Tru64, CXX 6.5. Run script and results are attached. Especially
interesting are the compile times I think. :-)

HTH, Markus

CXX="cxx -version V6.5-042 -ieee -model ansi -timplicit_local -noimplicit_include -D__USE_STD_IOSTREAM -nousing_std"
time $CXX -O0 -I $HOME/net/src/boost/boost_1_32_0 -I ../../../.. test_compliant.cpp odr1.cpp odr2.cpp ../main.cpp
time $CXX -O0 -I $HOME/net/src/boost/boost_1_32_0 -I ../../../.. test_compliant.cpp odr1.cpp odr2.cpp ../main.cpp -DBOOST_TYPEOF_COMPLIANT

test_compliant.cpp:
cxx: Error: test_compliant.cpp, line 26: no instance of function template
          "boost::type_of::at" matches the argument list
            argument types are: (const
                      boost::lambda::lambda_functor<boost::lambda::lambda_funct
                      or_base<boost::lambda::logical_action<boost::lambda::and_
                      action>,
                      boost::tuples::tuple<boost::lambda::lambda_functor<boost:
                      :lambda::lambda_functor_base<boost::lambda::relational_ac
                      tion<boost::lambda::greater_action>,
                      boost::tuples::tuple<boost::lambda::lambda_functor<boost:
                      :lambda::placeholder<1>>, const int,
                      boost::tuples::null_type, boost::tuples::null_type,
                      boost::tuples::null_type, boost::tuples::null_type,
                      boost::tuples::null_type, boost::tuples::null_type,
                      boost::tuples::null_type, boost::tuples::null_type>>>,
                      boost::lambda::lambda_functor<boost::lambda::lambda_funct
                      or_base<boost::lambda::relational_action<boost::lambda::l
                      ess_action>,
                      boost::tuples::tuple<boost::lambda::lambda_functor<boost:
                      :lambda::placeholder<2>>, const int,
                      boost::tuples::null_type, boost::tuples::null_type,
                      boost::tuples::null_type, boost::tuples::null_type,
                      boost::tuples::null_type, boost::tuples::null_type,
                      boost::tuples::null_type, boost::tuples::null_type>>>,
                      boost::tuples::null_type, boost::tuples::null_type,
                      boost::tuples::null_type, boost::tuples::null_type,
                      boost::tuples::null_type, boost::tuples::null_type,
                      boost::tuples::null_type, boost::tuples::null_type>>>)
    BOOST_AUTO(fun, _1 > 15 && _2 < 20);
----^
cxx: Info: Error limit reached.
cxx: Info: 30 errors detected in the compilation of "test_compliant.cpp".
cxx: Info: Compilation terminated.
odr1.cpp:
cxx: Error: odr.hpp, line 19: no instance of function template
          "boost::type_of::at" matches the argument list
            argument types are: (double)
          detected during instantiation of class
                    "sum_t<T, U> [with T=double, U=char]" at line 17 of
                    "odr1.cpp"
    typedef BOOST_TYPEOF_TPL(T() + U()) result_type;
------------^
cxx: Info: Error limit reached.
cxx: Info: 30 errors detected in the compilation of "odr1.cpp".
cxx: Info: Compilation terminated.
odr2.cpp:
cxx: Error: odr.hpp, line 19: no instance of function template
          "boost::type_of::at" matches the argument list
            argument types are: (double)
          detected during instantiation of class
                    "sum_t<T, U> [with T=double, U=char]" at line 17 of
                    "odr2.cpp"
    typedef BOOST_TYPEOF_TPL(T() + U()) result_type;
------------^
cxx: Info: Error limit reached.
cxx: Info: 30 errors detected in the compilation of "odr2.cpp".
cxx: Info: Compilation terminated.
../main.cpp:
cxx: Error: ../main.cpp, line 55: no instance of function template
          "boost::type_of::at" matches the argument list
            argument types are: (
                      boost::mpl::vector1<template_template::tt_test<template_t
                      emplate::C, 4>>)
          detected during instantiation of class "typeof_test<T> [with
                    T=template_template::tt_test<template_template::C, 4>]" at
                    line 89
        BOOST_TYPEOF_TPL(typeof_test_helper(reinterpret_cast<mpl::vector1<T>*>(0))),
--------^
cxx: Info: Error limit reached.
cxx: Info: 30 errors detected in the compilation of "../main.cpp".
cxx: Info: Compilation terminated.

real 17108.3
user 8393.6
sys 13.5
test_compliant.cpp:
cxx: Error: test_compliant.cpp, line 26: no instance of function template
          "boost::type_of::at" matches the argument list
            argument types are: (const
                      boost::lambda::lambda_functor<boost::lambda::lambda_funct
                      or_base<boost::lambda::logical_action<boost::lambda::and_
                      action>,
                      boost::tuples::tuple<boost::lambda::lambda_functor<boost:
                      :lambda::lambda_functor_base<boost::lambda::relational_ac
                      tion<boost::lambda::greater_action>,
                      boost::tuples::tuple<boost::lambda::lambda_functor<boost:
                      :lambda::placeholder<1>>, const int,
                      boost::tuples::null_type, boost::tuples::null_type,
                      boost::tuples::null_type, boost::tuples::null_type,
                      boost::tuples::null_type, boost::tuples::null_type,
                      boost::tuples::null_type, boost::tuples::null_type>>>,
                      boost::lambda::lambda_functor<boost::lambda::lambda_funct
                      or_base<boost::lambda::relational_action<boost::lambda::l
                      ess_action>,
                      boost::tuples::tuple<boost::lambda::lambda_functor<boost:
                      :lambda::placeholder<2>>, const int,
                      boost::tuples::null_type, boost::tuples::null_type,
                      boost::tuples::null_type, boost::tuples::null_type,
                      boost::tuples::null_type, boost::tuples::null_type,
                      boost::tuples::null_type, boost::tuples::null_type>>>,
                      boost::tuples::null_type, boost::tuples::null_type,
                      boost::tuples::null_type, boost::tuples::null_type,
                      boost::tuples::null_type, boost::tuples::null_type,
                      boost::tuples::null_type, boost::tuples::null_type>>>)
    BOOST_AUTO(fun, _1 > 15 && _2 < 20);
----^
cxx: Info: Error limit reached.
cxx: Info: 30 errors detected in the compilation of "test_compliant.cpp".
cxx: Info: Compilation terminated.
odr1.cpp:
cxx: Error: odr.hpp, line 19: no instance of function template
          "boost::type_of::at" matches the argument list
            argument types are: (double)
          detected during instantiation of class
                    "sum_t<T, U> [with T=double, U=char]" at line 17 of
                    "odr1.cpp"
    typedef BOOST_TYPEOF_TPL(T() + U()) result_type;
------------^
cxx: Info: Error limit reached.
cxx: Info: 30 errors detected in the compilation of "odr1.cpp".
cxx: Info: Compilation terminated.
odr2.cpp:
cxx: Error: odr.hpp, line 19: no instance of function template
          "boost::type_of::at" matches the argument list
            argument types are: (double)
          detected during instantiation of class
                    "sum_t<T, U> [with T=double, U=char]" at line 17 of
                    "odr2.cpp"
    typedef BOOST_TYPEOF_TPL(T() + U()) result_type;
------------^
cxx: Info: Error limit reached.
cxx: Info: 30 errors detected in the compilation of "odr2.cpp".
cxx: Info: Compilation terminated.
../main.cpp:
cxx: Error: ../main.cpp, line 55: no instance of function template
          "boost::type_of::at" matches the argument list
            argument types are: (
                      boost::mpl::vector1<template_template::tt_test<template_t
                      emplate::C, 4>>)
          detected during instantiation of class "typeof_test<T> [with
                    T=template_template::tt_test<template_template::C, 4>]" at
                    line 89
        BOOST_TYPEOF_TPL(typeof_test_helper(reinterpret_cast<mpl::vector1<T>*>(0))),
--------^
cxx: Info: Error limit reached.
cxx: Info: 30 errors detected in the compilation of "../main.cpp".
cxx: Info: Compilation terminated.

real 17459.0
user 8559.1
sys 13.1


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk