Boost logo

Boost :

From: starlett (andrei.verovski_at_[hidden])
Date: 2000-10-06 01:23:28


Hi,

I have boost (CVS snapshot Oct 4, 2000) and there seem to be problems
with CW6 Mac.

First of all, I added prefix file with the following macros:

#define BOOST_NO_SLIST
#define BOOST_NO_HASH

Although MSL includes hash class, it is defined outside namespace std and
I am always try to rely only on standartized features.

Problematic files listed below:

Error : expression syntax error
array3.cpp line 13 boost::array<std::string,4> seasons = {

Error : function call 'array(long)' does not match
'boost::array<std::basic_string<char, std::char_traits<char>,
std::allocator<char>>, 4>::array()'
'boost::array<std::basic_string<char, std::char_traits<char>,
std::allocator<char>>, 4>::array(const
boost::array<std::basic_string<char, std::char_traits<char>,
std::allocator<char>>, 4> &)'
array3.cpp line 14 { "spring", "summer", "autumn", "winter" }

**********************************************************************

Error : expression syntax error
array4.cpp line 12 boost::array<boost::array<std::string,4>,2>
seasons_i18n = {

Error : function call 'array(long)' does not match
'boost::array<boost::array<std::basic_string<char,
std::char_traits<char>, std::allocator<char>>, 4>, 2>::array()'
'boost::array<boost::array<std::basic_string<char,
std::char_traits<char>, std::allocator<char>>, 4>, 2>::array(const
boost::array<boost::array<std::basic_string<char, std::char_traits<char>,
std::allocator<char>>, 4>, 2> &)'
array4.cpp line 13 { { { "spring", "summer", "autumn", "winter", } },

Error : expression syntax error
array4.cpp line 14 { { "Fruehling", "Sommer", "Herbst", "Winter" } }

**********************************************************************

Error : function call 'ptr_fun(int (int))' does not match
'std::ptr_fun<...>(T2 (*)(const T0 &, const T1 &))'
'std::ptr_fun<...>(T2 (*)(T0, T1))'
'std::ptr_fun<...>(T1 (*)(const T0 &))'
'std::ptr_fun<...>(T1 (*)(T0))'
'boost::ptr_fun<...>(T0 (*)())'
compose3.cpp line 30 ptr_fun(::toupper),

Error : function call 'ptr_fun(int (int))' does not match
'std::ptr_fun<...>(T2 (*)(const T0 &, const T1 &))'
'std::ptr_fun<...>(T2 (*)(T0, T1))'
'std::ptr_fun<...>(T1 (*)(const T0 &))'
'std::ptr_fun<...>(T1 (*)(T0))'
'boost::ptr_fun<...>(T0 (*)())'
compose3.cpp line 31 ptr_fun(::toupper)));

Error : illegal use template argument dependent type 'T::argument_type'
 (instantiating: 'boost::compose_f_gx_hy_t<std::equal_to<int>, long,
long>')
compose.hpp line 164 typename OP1::result_type>

Error : illegal use template argument dependent type 'T::argument_type'
 (instantiating: 'boost::compose_f_gx_hy_t<std::equal_to<int>, long,
long>')
compose.hpp line 179 const typename OP3::argument_type& y) const {

**********************************************************************
*** Graph package is the most problematic. Only bucket_sorter, ***
*** container_gen, fibonacci_heap have been succesfully ***
*** compiled. ***
**********************************************************************

Error : illegal implicit conversion from
'boost::detail::stored_edge_property<unsigned long,
boost::property<edge_id_t, unsigned long, boost::no_property>> *const ' to
'const T0 &'
 (instantiating:
'boost::operator!=<boost::detail::stored_edge_property<unsigned long,
boost::property<edge_id_t, unsigned long, boost::no_property>> *,
boost::detail::stored_edge_property<unsigned long,
boost::property<edge_id_t, unsigned long, boost::no_property>> *,
boost::detail::out_edge_iter_policies<unsigned long>,
boost::detail::edge_iter_traits<boost::detail::edge_desc_impl<boost::direct
ed_tag, unsigned long>,
std::iterator_traits<boost::detail::stored_edge_property<unsigned long,
boost::property<edge_id_t, unsigned long, boost::no_property>> *>>,
boost::detail::edge_iter_traits<boost::detail::edge_desc_impl<boost::direct
ed_tag, unsigned long>,
std::iterator_traits<boost::detail::stored_edge_property<unsigned long,
boost::property<edge_id_t, unsigned long, boost::no_property>> *>>,
boost::detail::stored_edge_property<unsigned long,
boost::property<edge_id_t, unsigned long, boost::no_property>> *>(const
boost::iterator_adaptor<boost::detail::stored_edge_property<unsigned
long, boost::property<edge_id_t, unsigned long, boost::no_property>> *,
boost::detail::out_edge_iter_policies<unsigned long>,
boost::detail::edge_iter_traits<boost::detail::edge_desc_impl<boost::direct
ed_tag, unsigned long>,
std::iterator_traits<boost::detail::stored_edge_property<unsigned long,
boost::property<edge_id_t, unsigned long, boost::no_property>> *>>,
boost::detail::stored_edge_property<unsigned long,
boost::property<edge_id_t, unsigned long, boost::no_property>> *> &,
const boost::iterator_adaptor<boost::detail::stored_edge_property<unsigned
long, boost::property<edge_id_t, unsigned long, boost::no_property>> *,
boost::detail::out_edge_iter_policies<unsigned long>,
boost::detail::edge_iter_traits<boost::detail::edge_desc_impl<boost::direct
ed_tag, unsigned long>,
std::iterator_traits<boost::detail::stored_edge_property<unsigned long,
boost::property<edge_id_t, unsigned long, boost::no_property>> *>>,
boost::detail::stored_edge_property<unsigned long,
boost::property<edge_id_t, unsigned long, boost::no_property>> *> &)')
iterator_adaptors.hpp line 326 return !x.policies().equal(x.iter(),
y.iter());

Error : illegal implicit conversion from 'unsigned long' to
'T0 &'
 (instantiating: 'boost::iterator_adaptor<unsigned long,
boost::counting_iterator_policies,
boost::counting_iterator_traits<unsigned long>, unsigned
long>::operator++()')
iterator_adaptors.hpp line 226 policies().increment(iter());

Error : declaration syntax error
queue.hpp line 23 friend bool operator== (const queue<_Tp1, _Seq1>&,

Error : declaration syntax error
queue.hpp line 24 const queue<_Tp1, _Seq1>&);

Error : declaration syntax error
queue.hpp line 26 friend bool operator< (const queue<_Tp1, _Seq1>&,

Error : illegal implicit conversion from
'boost::detail::stored_edge_iter<unsigned long,
std::list<boost::undir_edge<unsigned long,
boost::property<boost::edge_weight_t, double, boost::no_property>>,
std::allocator<boost::undir_edge<unsigned long,
boost::property<boost::edge_weight_t, double,
boost::no_property>>>>::iterator, boost::property<boost::edge_weight_t,
double, boost::no_property>> *' to
'T0 &'
 (instantiating:
'boost::iterator_adaptor<boost::detail::stored_edge_iter<unsigned long,
std::list<boost::undir_edge<unsigned long,
boost::property<boost::edge_weight_t, double, boost::no_property>>,
std::allocator<boost::undir_edge<unsigned long,
boost::property<boost::edge_weight_t, double,
boost::no_property>>>>::iterator, boost::property<boost::edge_weight_t,
double, boost::no_property>> *,
boost::detail::out_edge_iter_policies<unsigned long>,
boost::detail::edge_iter_traits<boost::detail::edge_desc_impl<boost::undire
cted_tag, unsigned long>,
std::iterator_traits<boost::detail::stored_edge_iter<unsigned long,
std::list<boost::undir_edge<unsigned long,
boost::property<boost::edge_weight_t, double, boost::no_property>>,
std::allocator<boost::undir_edge<unsigned long,
boost::property<boost::edge_weight_t, double,
boost::no_property>>>>::iterator, boost::property<boost::edge_weight_t,
double, boost::no_property>> *>>,
boost::detail::stored_edge_iter<unsigned long,
std::list<boost::undir_edge<unsigned long,
boost::property<boost::edge_weight_t, double, boost::no_property>>,
std::allocator<boost::undir_edge<unsigned long,
boost::property<boost::edge_weight_t, double,
boost::no_property>>>>::iterator, boost::property<boost::edge_weight_t,
double, boost::no_property>> *>::operator++()')
iterator_adaptors.hpp line 226 policies().increment(iter());

AND MANY MANY MORE ...

**********************************************************************

Warning : division by 0
 (instantiating: 'boost::random::const_mod<unsigned long,
0>::mult_add(unsigned long, unsigned long, unsigned long)')
random.hpp line 147 return (a*x+c) % m;

Error : undefined identifier 'sqrt'
 (instantiating:
'boost::triangle_distribution<boost::random::mersenne_twister<unsigned
long, 624, 397, 31, 2567483615, 11, 7, 2636928640, 15, 4022730752, 18,
3346425566>,
double>::triangle_distribution(boost::random::mersenne_twister<unsigned
long, 624, 397, 31, 2567483615, 11, 7, 2636928640, 15, 4022730752, 18,
3346425566> &, double, double, double)')
random.hpp line 1251 d3 = sqrt(d3);

Error : illegal constructor/destructor declaration
nondet_random.hpp line 49 explicit random_device(const std::string&
token = default_token);

Error : illegal constructor/destructor declaration
nondet_random.hpp line 49 explicit random_device(const std::string&
token = default_token);

Error : illegal function overloading
random_device.cpp line 93 : pimpl(new impl(token))

PS. Only random_demo do not have compilation problems.

**********************************************************************

Error : undefined identifier 'memset'
 (instantiating: 'opt::detail::filler<1>::do_fill<char *, char>(char *,
char *, char)')
algo_opt_examples.cpp line 199 memset(first, val, last-first);

Error : illegal function definition
call_traits_test.cpp line 330 void call_traits_test<T,
true>::assert_construct(boost::call_traits<T>::param_type val)

Warning : cannot instantiate 'call_traits_test<int[2],
1>::assert_construct()'
call_traits_test.cpp line 363 template struct call_traits_test<int[2],
true>;

Error : illegal explicit template instantiation
compressed_pair_test.cpp line 109 template double&
compressed_pair<double, int&>::first();

Error : the file 'boost/iterator_adaptors.hpp' cannot be opened
iterator_adaptor_examples.cpp line 10 #include
<boost/iterator_adaptors.hpp>

<--------- incomplete pathnames are not allowed !!! Andrei

Error : illegal access from
'@unnamed_at_noncopyable_test_cpp@::DontTreadOnMe' to protected/private
member
'@unnamed_at_noncopyable_test_cpp@::DontTreadOnMe::DontTreadOnMe(const @unname
d_at_noncopyable_test_cpp@::DontTreadOnMe &)'
noncopyable_test.cpp line 34 DontTreadOnMe object2(object1);

Error : illegal access from
'@unnamed_at_noncopyable_test_cpp@::DontTreadOnMe' to protected/private
member '@unnamed_at_noncopyable_test_cpp@::DontTreadOnMe::operator=(const
@unnamed_at_noncopyable_test_cpp@::DontTreadOnMe &)'
noncopyable_test.cpp line 35 object1 = object2;

**********************************************************************

Preprocessing config_test.cpp reveals the following:

/* #line 11 "config_test.cpp" /* stack depth 0 */
using std::cout;
int main()
{
cout << "BOOST_NO_MEMBER_TEMPLATE_FRIENDS defined\n";
cout << "BOOST_SYSTEM_HAS_STDINT_H defined\n";
cout << "__MWERKS__ defined as "<< 0x2400 << "\n";
return 0;
}

*****************************************************
*** Best Regards --- Andrei Verovski ***
*** e-mail --- mac.guru_at_[hidden] ***
*** Personal Home Page - MacGuru Temple ***
*** http://homepage.mac.com/macgurutemple/ ***
*****************************************************


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