Boost logo

Boost Users :

From: Darin Adler (darin_at_[hidden])
Date: 2002-03-30 18:52:06


On Monday, March 25, 2002, at 06:54 PM, Steven Solie wrote:

>>> #define BOOST_DISABLE_THREADS
>>
>> The BOOST_DISABLE_THREADS define shouldn't be set for a platform. If
>> the
>> platform doesn't have threads, we just don't define BOOST_HAS_THREADS
>> for that platform. So you shouldn't need this line. If you do need it,
>> can you explain why?
>
> I set it because in the "User settable options" section it implies I
> should probably do that. AmigaOS doesn't support native multithreading
> but the GCC compiler might assume it does. I was just playing it safe.

OK. You should not set this.

>>> #define BOOST_NO_CWCHAR
>>> #define BOOST_NO_CWCTYPE
>>> #define BOOST_NO_SWPRINTF
>>
>> You only have to define BOOST_NO_CWCHAR. If it's defined,
>> BOOST_NO_CWCTYPE and BOOST_NO_SWPRINTF are both defined for you by
>> suffix.hpp. This should be in the documentation, but perhaps it's not.
>
> I was just going through the "Boost Macro Reference" and picking off
> the macros I thought applied. AmigaOS doesn't support wide characters
> (yet). I didn't see any docs saying they are related to each other.

You're right. The documentation doesn't cover this. But you need not
define the other two.

>>> #define BOOST_NO_INTRINSIC_WCHAR_T
>>
>> This is usually a property of the compiler, not the platform, and so
>> it's the responsibility of the boost/config/compiler/xxx.hpp file to
>> set
>> this. But I see that you're using GCC 2.95.3. I think that GCC 2.95.3
>> does have an intrinsic wchar_t. What's going on here.
>
> The boost/integer_traits.hpp file spit out the error "No WCHAR_MIN and
> WCHAR_MAX present, please adjust integer_traits<> for your compiler."
> when I tried to compile the graph library regression test suite.

The correct fix for this is to adjust integer_traits<> for your
compiler, as the message says. This error does not mean that your
compiler doesn't support intrinsic wchar_t. It means exactly what it
says. We need to add a case to boost/integer_traits.hpp for the AmigaOS
port. It's no surprise that we don't have WCHAR_MIN and WCHAR_MAX, since
those are in <cwchar> and we don't have <cwchar>; we need to compensate
for that.

>>> 3) libs/graph/test/isomorphism.cpp
>>>
>>> - inline bool verify_isomorphism(const Graph1& g1, const Graph2& g2,
>>
>> I'm not sure why you removed this function template. It's used in
>> test_isomorphism below. Could you elaborate?
>
> The function template is already defined in boost/graph/isomorphism.hpp.
> I suspect somebody has made a cut & paste error...

Someone has fixed this in cvs.

> There are currently 25 files that use <cassert> and 3 files that use
> <assert.h>. Therefore, I think <cassert> is safe to use. You might
> want to hunt down those remaining <assert.h> includes and change them
> to <cassert> as well.

Well, it's not quite that simple. There are many who use only a small
subset of boost. So if we hunted down those last few <assert.h> and
changed them all to <cassert>, there's a chance we would cause trouble
for a small number of existing Boost users.

     -- Darin


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net