Boost logo

Boost :

From: Samuel Krempp (krempp_at_[hidden])
Date: 2002-12-20 16:40:51


le Vendredi 20 Décembre 2002 21:59, hinnant_at_[hidden] écrivit :

> If the CodeWarrior C++ lib is linked to as a shared library, locale
> support is turned off. If the C++ lib is statically linked to, there
> is 100% standard locale support. This is not new behavior. You can
> detect this situation with:
>
> #ifdef _MSL_NO_LOCALE
>
> With this defined, there is no such thing as locale, nor any of the
> functions related to locale (such as getloc). The streams will
> implicitly use the "C" locale even though you can no longer refer to
> the "C" locale.

ok. So, you mean the codewarrior compiler that was previously used for the
regression must have been linked statically to the C++ lib, while the new
one is linked dynamically, and thus locale-disabled ?

I come to think, wouldn't it be better if the no-locale situation was
implemented by having a fake 'locale' object and empty related functions ?
(allows writing locale-enabled code, and the compiler just ignores it)

in anycase, the lines causing the error here were the only ones I had left
out of #ifndef BOOST_NO_STD_LOCALE blocks, so adding such #ifndef should
fix the failure, with or without locales enabled in the codewarrior being
used. I'll try that..

-- 
Samuel

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