
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);}