
Hi Chris, Thanx for reporting. The warnings were all trivial, I'm working on the remaining error. Would you mind if a send you privately a modified version to retest? I don't want to upload it at the Files section right now Joaquín M López Muñoz Telefónica, Investigación y Desarrollo Chris Little ha escrito:
on 3/8/04 4:15 PM, Joaquin M Lopez Munoz at joaquin@tid.es wrote:
Beman Dawes <bdawes <at> acm.org> writes:
Last version of the library (9.2) available at
Metrowerks CodeWarrior 9.2 is also a really good compiler to test with, if you can find a volunteer.
Not you, perhaps? :)
Joaquín,
Now that Codewarrior 9.2 for Mac has been released I can test indexed_set for you.
I tried the index_set 9.2 today and there were a number of warnings and one error that causes most of the tests to fail.
The warning falls into three categories:
- illegal empty declaration
There are a number of functions that have a semi-colon after the closing brace.
- return value expected
index_base::final_max_size_ is missing a return statement.
- variable / argument is not used in function
There are a number of functions that have unused parameters.
The error is an illegal access of the final method in header_holder:base_from_member.
I've appended a complete list of warnings for test_basic.cpp. If you need anything (preprocessed files, ...) let me know. I will away starting tomorrow morning (Friday) until Sunday night.
Chris
Here is the complete list of warnings for test_basic.cpp:
Warning : illegal empty declaration (included from: boost/indexed_set.hpp:23 employee.hpp:14 test_basic.cpp:16) allocator.hpp line 109 };
Warning : illegal empty declaration (included from: boost/indexed_set.hpp:23 employee.hpp:14 test_basic.cpp:16) allocator.hpp line 109 };
Warning : illegal empty declaration (included from: boost/indexed_set.hpp:23 employee.hpp:14 test_basic.cpp:16) allocator.hpp line 115 };
Warning : illegal empty declaration (included from: boost/indexed_set.hpp:23 employee.hpp:14 test_basic.cpp:16) allocator.hpp line 115 };
Warning : illegal empty declaration (included from: boost/indexed_set.hpp:23 employee.hpp:14 test_basic.cpp:16) allocator.hpp line 121 };
Warning : illegal empty declaration (included from: boost/indexed_set.hpp:23 employee.hpp:14 test_basic.cpp:16) allocator.hpp line 121 };
Warning : illegal empty declaration (included from: boost/indexed_set.hpp:23 employee.hpp:14 test_basic.cpp:16) allocator.hpp line 127 };
Warning : illegal empty declaration (included from: boost/indexed_set.hpp:23 employee.hpp:14 test_basic.cpp:16) allocator.hpp line 127 };
Warning : illegal empty declaration (included from: boost/indexed_set.hpp:23 employee.hpp:14 test_basic.cpp:16) allocator.hpp line 137 };
Warning : illegal empty declaration (included from: boost/indexed_set.hpp:23 employee.hpp:14 test_basic.cpp:16) allocator.hpp line 137 };
Warning : illegal empty declaration (included from: boost/indexed_set.hpp:23 employee.hpp:14 test_basic.cpp:16) allocator.hpp line 143 };
Warning : illegal empty declaration (included from: boost/indexed_set.hpp:23 employee.hpp:14 test_basic.cpp:16) allocator.hpp line 143 };
Warning : return value expected (included from: boost/indexed_set/base_type.hpp:19 boost/indexed_set.hpp:31 employee.hpp:14 test_basic.cpp:16) index_base.hpp line 102 _size_()const{final.max_size_();}
Warning : variable / argument 'x' is not used in function (included from: boost/indexed_set/base_type.hpp:19 boost/indexed_set.hpp:31 employee.hpp:14 test_basic.cpp:16) index_base.hpp line 84 bool modify_(node_type* x){return tr
Warning : variable / argument 'position' is not used in function (included from: boost/indexed_set/base_type.hpp:19 boost/indexed_set.hpp:31 employee.hpp:14 test_basic.cpp:16) index_base.hpp line 64 node_type* insert_(value_param_type v,nod
Error : illegal access from 'boost::indexed_sets::indexed_set<employee, boost::indexed_sets::index_list<boost::indexed_sets::unique<boost::indexed_s ets::identity<employee>, boost::indexed_sets::detail::null_arg, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::non_unique<boost::indexed_sets::tag<name, by_name, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, boost::indexed_sets::member<employee, std::basic_string<char, std::char_traits<char>, std::allocator<char>>, {targ_expr}>, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::non_unique<boost::indexed_sets::tag<age, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, boost::indexed_sets::member<employee, int, {targ_expr}>, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::sequenced<boost::indexed_sets::tag<as_inserted, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>>, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, std::allocator<employee>>' to protected/private member 'boost::indexed_sets::detail::header_holder<boost::indexed_sets::detail::ind ex_node<boost::indexed_sets::detail::index_node<boost::indexed_sets::detail: :index_node<boost::indexed_sets::detail::sequenced_index_node<boost::indexed _sets::detail::index_node_base<employee>>>>>, boost::indexed_sets::indexed_set<employee, boost::indexed_sets::index_list<boost::indexed_sets::unique<boost::indexed_s ets::identity<employee>, boost::indexed_sets::detail::null_arg, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::non_unique<boost::indexed_sets::tag<name, by_name, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, boost::indexed_sets::member<employee, std::basic_string<char, std::char_traits<char>, std::allocator<char>>, {targ_expr}>, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::non_unique<boost::indexed_sets::tag<age, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, boost::indexed_sets::member<employee, int, {targ_expr}>, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::sequenced<boost::indexed_sets::tag<as_inserted, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>>, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, std::allocator<employee>>>::' (point of instantiation: 'test_basic()') (instantiating: 'boost::indexed_sets::indexed_set<employee, boost::indexed_sets::index_list<boost::indexed_sets::unique<boost::indexed_s ets::identity<employee>, boost::indexed_sets::detail::null_arg, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::non_unique<boost::indexed_sets::tag<name, by_name, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, boost::indexed_sets::member<employee, std::basic_string<char, std::char_traits<char>, std::allocator<char>>, {targ_expr}>, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::non_unique<boost::indexed_sets::tag<age, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, boost::indexed_sets::member<employee, int, {targ_expr}>, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::sequenced<boost::indexed_sets::tag<as_inserted, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>>, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, std::allocator<employee>>::indexed_set(const boost::tuples::cons<boost::tuples::tuple<boost::indexed_sets::identity<emplo yee>, std::less<employee>, 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::cons<boost::tuples::tuple<boost::indexed_sets::member<employe e, std::basic_string<char, std::char_traits<char>, std::allocator<char>>, {targ_expr}>, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char>>>, 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::cons<boost::tuples::tuple<boost::indexed_sets::member<employe e, int, {targ_expr}>, std::less<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::cons<boost::tuples::null_type, boost::tuples::null_type>>>> &, const std::allocator<employee> &)') (instantiating: 'boost::indexed_sets::detail::header_holder<boost::indexed_sets::detail::ind ex_node<boost::indexed_sets::detail::index_node<boost::indexed_sets::detail: :index_node<boost::indexed_sets::detail::sequenced_index_node<boost::indexed _sets::detail::index_node_base<employee>>>>>, boost::indexed_sets::indexed_set<employee, boost::indexed_sets::index_list<boost::indexed_sets::unique<boost::indexed_s ets::identity<employee>, boost::indexed_sets::detail::null_arg, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::non_unique<boost::indexed_sets::tag<name, by_name, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, boost::indexed_sets::member<employee, std::basic_string<char, std::char_traits<char>, std::allocator<char>>, {targ_expr}>, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::non_unique<boost::indexed_sets::tag<age, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, boost::indexed_sets::member<employee, int, {targ_expr}>, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::sequenced<boost::indexed_sets::tag<as_inserted, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>>, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, std::allocator<employee>>>::header_holder()') (instantiating: 'boost::indexed_sets::detail::header_holder<boost::indexed_sets::detail::ind ex_node<boost::indexed_sets::detail::index_node<boost::indexed_sets::detail: :index_node<boost::indexed_sets::detail::sequenced_index_node<boost::indexed _sets::detail::index_node_base<employee>>>>>, boost::indexed_sets::indexed_set<employee, boost::indexed_sets::index_list<boost::indexed_sets::unique<boost::indexed_s ets::identity<employee>, boost::indexed_sets::detail::null_arg, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::non_unique<boost::indexed_sets::tag<name, by_name, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, boost::indexed_sets::member<employee, std::basic_string<char, std::char_traits<char>, std::allocator<char>>, {targ_expr}>, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::non_unique<boost::indexed_sets::tag<age, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, boost::indexed_sets::member<employee, int, {targ_expr}>, boost::indexed_sets::detail::null_arg>, boost::indexed_sets::sequenced<boost::indexed_sets::tag<as_inserted, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>>, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_, boost::mpl::void_>, std::allocator<employee>>>::final()') header_holder.hpp line 37 Final& final(){return *static_cast<Final*>(this);}
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost