$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: rogeeff (rogeeff_at_[hidden])
Date: 2001-12-23 10:33:39
--- In boost_at_y..., John Maddock <John_Maddock_at_c...> wrote:
[...]
> to my surprise neither does [compile] gcc!  In fact gcc generates 
quite a few
> warnings and errors - all of which look like they really do need 
fixing,
[...]
> 
> And here is the gcc output:
> 
[...]
> 
>     g++  -c -Wall -ftemplate-depth-100   -g -O0 -fno-inline  
> -I"..\..\..\libs\test\build" -I"d:\boost\btl"   -o
> "..\..\..\libs\test\build\bin\libboost_test.lib\gcc\debug\runtime-
link-dyna
> mic\execution_monitor.obj" 
> "..\..\..\libs\test\build\../src\execution_monitor.cpp" 
> 
> gcc-C++-action
> ..\..\..\libs\test\build\bin\libboost_test.lib\gcc\debug\runtime-
link-dynam
> ic\test_tools.obj 
> 
>     g++  -c -Wall -ftemplate-depth-100   -g -O0 -fno-inline  
> -I"..\..\..\libs\test\build" -I"d:\boost\btl"   -o
> "..\..\..\libs\test\build\bin\libboost_test.lib\gcc\debug\runtime-
link-
dynamic\test_tools.obj"  "..\..\..\libs\test\build\../src\test_tools.c
pp" 
> 
> In file included 
from ..\..\..\libs\test\build\../src\test_tools.cpp:10:
> d:/boost/btl/boost/test/test_tools.hpp: In function `bool
> boost::test_toolbox::detail::compare_and_continue_impl(FPT, FPT,
> ToleranceSource, const boost::test_toolbox::detail::wrapstrstream 
&, const
> char *, int, boost::unit_test_framework::report_level =
> boost::unit_test_framework::report_all_errors)':
> d:/boost/btl/boost/test/test_tools.hpp:289: parse error before `>'
gcc for some reasons trying to instantiate template function
template<typename FPT, typename ToleranceSource>
compare_and_continue_impl(...)
that is not used in test_tools.cpp. Is there compiler option to 
prevent it from doing this? An Alternative would be to include 
<details/floating_point_comparison.hpp>
> ..\..\..\libs\test\build\../src\test_tools.cpp: In method `void
> boost::test_toolbox::output_test_stream::flush()':
> ..\..\..\libs\test\build\../src\test_tools.cpp:222: `::ios_base' 
undeclared
> (first use here)
> ..\..\..\libs\test\build\../src\test_tools.cpp:222: parse error 
before `::'
> ..\..\..\libs\test\build\../src\test_tools.cpp: In method
> `boost::test_toolbox::output_test_stream::output_test_stream(const 
char * =
> 0, bool = true)':
> ..\..\..\libs\test\build\../src\test_tools.cpp:238: parse error 
before `::'
> ..\..\..\libs\test\build\../src\test_tools.cpp:238: parse error 
before `::'
lack of comporming iostreams. What is a gcc alternative for this?
[...]
> d:/boost/btl/boost/test/detail/unit_test_monitor.hpp: In method
> 
`boost::unit_test_framework::detail::unit_test_monitor::unit_test_moni
tor(boost::unit_test_framework::test_case &, void
> (boost::unit_test_framework::test_case::*)())':
> d:/boost/btl/boost/test/detail/unit_test_monitor.hpp:54: warning: 
member
> initializers for `void (boost::unit_test_framework::test_case::*
> 
boost::unit_test_framework::detail::unit_test_monitor::m_test_case_fun
ction
> )()'
> d:/boost/btl/boost/test/detail/unit_test_monitor.hpp:55: warning:   
and
> `class boost::unit_test_framework::test_case &
> boost::unit_test_framework::detail::unit_test_monitor::m_test_case'
> d:/boost/btl/boost/test/detail/unit_test_monitor.hpp:44: warning:   
will be
> re-ordered to match declaration order
OK. Fixed.
[...]
> gcc-C++-action
> ..\..\..\libs\test\test\bin\unit_test_suite_ex_test\gcc\debug\runtim
e-link-
> dynamic\unit_test_suite_ex_test.obj 
> 
>     g++  -c -Wall -ftemplate-depth-100   -g -O0 -fno-inline  
> -I"..\..\..\libs\test\test" -I"." -I"..\..\.."   -o
> "..\..\..\libs\test\test\bin\unit_test_suite_ex_test\gcc\debug\runti
me-link
> -
dynamic\unit_test_suite_ex_test.obj"  "unit_test_suite_ex_test.cpp" 
> 
> In file included from ../../../boost/test/unit_test_suite.hpp:13,
>                  from ../../../boost/test/unit_test_suite_ex.hpp:13,
>                  from unit_test_suite_ex_test.cpp:12:
> ../../../boost/test/detail/unit_test_monitor.hpp: In method
> 
> ../../../boost/bind.hpp: In method `void
> boost::_bi::list2<boost::_bi::arg<2>,boost::_bi::value<int> 
>::operator
> ()<void, void (*)(int, int), boost::_bi::list1<int &>
> >(boost::_bi::type<void>, void (*)(int, int), boost::_bi::list1<int 
&> &)
> const':
> ../../../boost/bind/bind_template.hpp:33:   instantiated from
> `boost::_bi::bind_t<void,void (*)(int,
> int),boost::_bi::list2<boost::_bi::arg<2>,boost::_bi::value<int> >
> >::operator ()<int>(int &)'
> ../../../boost/function/function_template.hpp:122:   instantiated 
from
> 
`boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_
t<voi
> d,void (*)(int,
> int),boost::_bi::list2<boost::_bi::arg<2>,boost::_bi::value<int> >
> >,void,int>::invoke(boost::detail::function::any_pointer, int)'
> ../../../boost/function/function_template.hpp:361:   instantiated 
from
> 
`boost::function1<void,int,boost::empty_function_policy,boost::empty_f
uncti
> on_mixin,allocator<boost::function_base>
> >::assign_to<boost::_bi::bind_t<void,void (*)(int,
> int),boost::_bi::list2<boost::_bi::arg<2>,boost::_bi::value<int> > >
> >(boost::_bi::bind_t<void,void (*)(int,
> int),boost::_bi::list2<boost::_bi::arg<2>,boost::_bi::value<int> > 
>,
> boost::detail::function::function_obj_tag)'
> ../../../boost/function/function_template.hpp:313:   instantiated 
from
> 
`boost::function1<void,int,boost::empty_function_policy,boost::empty_f
uncti
> on_mixin,allocator<boost::function_base>
> >::assign_to<boost::_bi::bind_t<void,void (*)(int,
> int),boost::_bi::list2<boost::_bi::arg<2>,boost::_bi::value<int> > >
> >(boost::_bi::bind_t<void,void (*)(int,
> int),boost::_bi::list2<boost::_bi::arg<2>,boost::_bi::value<int> > 
>)'
> ../../../boost/function/function_template.hpp:209:   instantiated 
from
> 
`boost::function1<void,int,boost::empty_function_policy,boost::empty_f
uncti
> on_mixin,allocator<boost::function_base>
> >::function1<boost::_bi::bind_t<void,void (*)(int,
> int),boost::_bi::list2<boost::_bi::arg<2>,boost::_bi::value<int> > >
> >(boost::_bi::bind_t<void,void (*)(int,
> int),boost::_bi::list2<boost::_bi::arg<2>,boost::_bi::value<int> > 
>)'
> unit_test_suite_ex_test.cpp:58:   instantiated from here
> ../../../boost/bind.hpp:212: no match for `boost::_bi::list1<int &> 
&[const
> boost::_bi::arg<2> &]'
> ../../../boost/bind.hpp:149: candidates are: int & 
boost::_bi::list1<int
> &>::operator [](boost::_bi::arg<1>) const
> ../../../boost/bind.hpp: At top level:
> ../../../boost/bind.hpp: In instantiation of
> `boost::_bi::result_traits<boost::_bi::unspecified,void (*)(int, 
int)>':
> ../../../boost/bind/bind_template.hpp:16:   instantiated from
> `boost::_bi::bind_t<boost::_bi::unspecified,void (*)(int,
> 
int),boost::_bi::list4<boost::_bi::arg<1>,boost::_bi::value<int>,boost
::_bi
> ::arg<2>,boost::_bi::value<int> > >'
> unit_test_suite_ex_test.cpp:80:   instantiated from here
> ../../../boost/bind.hpp:53: `void (*)(int, int)' is not a class, 
struct, or
> union type
> ../../../boost/bind/bind_template.hpp: In instantiation of
> `boost::_bi::bind_t<boost::_bi::unspecified,void (*)(int,
> 
int),boost::_bi::list4<boost::_bi::arg<1>,boost::_bi::value<int>,boost
::_bi
> ::arg<2>,boost::_bi::value<int> > >':
> unit_test_suite_ex_test.cpp:80:   instantiated from here
> ../../../boost/bind/bind_template.hpp:16: no type named `type' in 
`struct
> boost::_bi::result_traits<boost::_bi::unspecified,void (*)(int, int)
>'
> ../../../boost/bind/bind_template.hpp:19: no type named `type' in 
`struct
> boost::_bi::result_traits<boost::_bi::unspecified,void (*)(int, int)
Peter, could you help here. I am a bit confused with this errors. 
Maybe &test2 should be substituted with ptr_fun( &test2 )?
[...]
Everything else is just a repetition.
> - John Maddock
> http://ourworld.compuserve.com/homepages/john_maddock/
Gennadiy.