Boost logo

Boost :

From: Pavel Vozenilek (pavel_vozenilek_at_[hidden])
Date: 2003-04-25 18:33:38


"Gennaro Prota" <gennaro_prota_at_[hidden]> wrote in message
news:gfiiavsilm9pnmchm6lmr396d46enacdf5_at_4ax.com...
> On Fri, 25 Apr 2003 10:16:09 -0400, David Abrahams
> <dave_at_[hidden]> wrote:
>
> Wait a moment. Have you asked John about this? That's not to doubt of
> you, of course, but the issue is quite tricky. _NATIVE_WCHAR_T_DEFINED
> is a VC7 undocumented macro, defined when you use /Zc:wchar_t:
>
[snip]

It is even more complicated than that. I tried 12 different combinations
(all Windows) and put results into table (hope
formatting stays readable):

Compiler wchar_t _WCHAR_T_DEFINED _NATIVE_WCHAR_T_DEFINED
details: defined: macro is defined: macro is defined:
--------- -------- ------------------ -----------------------
standalone no no no
ICL6.0

standalone yes yes no
IC6.0 with (but is
option buggy)
-Zc:wchar_t

ICL6.0 in no yes!!! no
VC++6 IDE

ICL6.0 in yes yes no
VC++6 IDE (but is
and option buggy)
-Zc:wchar_t

standalone no no no
ICL7.0

standalone yes yes no
ICL7.0
and option
-Zc:wchar_t

ICL7.0 in no no no
VC++6 IDE

ICL7.0 in yes yes no
VC++6 IDE
and option
-Zc:wchar_t

ICL7.0 in yes yes no
VC++7 IDE,
Intel C++
settings

ICL7.0 in yes yes no
VC++7 IDE,
Intel C++
settings,
with option
-Zc:wchar_t

ICL7.0 in yes yes yes
VC7 IDE,
MSVC settings

ICL7.0 in yes yes yes
VC7 IDE,
MSVC settings,
with option
-Zc:wchar_t

------------------------

So hopefully this will cover all the cases:

#if BOOST_INTEL_CXX_VERSION < 700
# define BOOST_NO_INTRINSIC_WCHAR_T
#else
# ifndef _WCHAR_T_DEFINED
# define BOOST_NO_INTRINSIC_WCHAR_T
# endif
#endif

The _CPPUNWIND works as expected for all combinations I tried.

/Pavel


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