Boost logo

Boost :

From: Jeff Garland (jeff_at_[hidden])
Date: 2002-03-14 11:03:03


Chris wrote:
> I tried GDTL on Metrowerks CodeWarrior (MCW) 7.2.
>
> CodeWarrior has a warning for empty declarations. I.e. Trailing semi-colons
> after closing a namespace and a semi-colon after the closing brace on
> function declarations. In GDTL's case it warns about:
>
>...several warnings...

Fixed.

> Also I get warnings about the unused argument in
>
> Warning : variable / argument 'd' is not used in function
> formatters.hpp line 70 inline std::string to_email_string(date d)

Fixed.

> Besides these warnings, the tests and examples in the gregorian directory
> compile and pass.
>
> I am having problems with the posix_time tests.
>
> When compiling testc_local_adjustor.cpp I get the following error:
>
> Error : ambiguous access to overloaded function
> 'std::abs(long double)'
> 'std::abs(float)'
> 'std::abs(double)'
> posix_time_duration.hpp line 146 double d = std::abs(ticks()) %
> rep_type::res_adjust();
>
> For MCW the long long overload of abs is found in cstdlib which hasn't been
> included.
>
> After this change I get an error

Done.

> Error : undefined identifier 'INT64_C'
> posix_time_system.hpp line 113 gdtl::wrapping_int<boost::int64_t,
> INT64_C(86400) * INT64_C(1000000000) >
>
> INT64_C fails to be defined because boost/cstdint.hpp and thus cstdint have
> already been included before posix_time_system.hpp is read
> (boost/cstdint.hpp was included by posix_time_duration.hpp). Since the
> header has already been included the definition of __STDC_CONSTANT_MACROS
> has no effect posix_time_system.hpp.
>
> I'm not sure how to fix this. I suppose you could add
> __STDC_CONSTANT_MACROS before every inclusion of boost/cstdint.hpp but there
> is still no guarantee that user code won't have included cstdint before your
> headers.
>
> Adding #define __STDC_CONSTANT_MACROS to posix_time_duration.hpp fixed this
> issue for the tests.

Hmm, I'm not sure of the best approach either. Could you send me details of
exactly what you did here -- I want to make sure I do it the same way....

> I had to add #include <string> to posix_time_system.hpp.

Fixed.

> After these changes all of the tests pass. I will check the examples
> tomorrow.

Great! The examples don't do anything unique that isn't in the tests, so you
should be set. After you send me the details from above I'll upload the fixed
version.

Thanks!

Jeff


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