Boost logo

Boost :

From: Aleksey Gurtovoy (agurtovoy_at_[hidden])
Date: 2003-06-25 12:24:16

Beman Dawes wrote:
> Intel's 7.1 upgrade doesn't bump their release macro! It is still
> reporting 700.
> I tried to update to use Intel 7.1 with VC++ 7.1, but am getting
> strange results. The IDE integration doesn't seem to provide a way to
> switch to the Intel compiler. Boost tests are getting weird link
> failures. No std::endl for example. Either the Intel release isn't
> ready for VC++ 7.1 (in spite of claims to the contrary) or I've done
> something stupid.
> Which VC++ version are you integrating Intel with? Have you gotten it
> to work with VC++ 7.1?

Currently ours is configured to integrate (and be compatible with) MSVC
6.0. We didn't try anything else (yet).

> Also, your setup is confusing the bjam automatic version deduction.

If you mean all those 'wchar_t'-related failures, it doesn't have
anything to do with the bjam version deduction - it's
"boost/config/compiler/intel.hpp" that is at fault here. As per, a
standalone Intel C++ 7.x does not automatically define _WCHAR_T_DEFINED
macro, but then checking just for that one to determine whether we need
to set BOOST_NO_INTRINSIC_WCHAR_T is not enough, because the former one
is also getting defined in Dinkumware's <cstddef> header, so currently
the success of the compilation on Intel 7.x in VC6 compatibility mode
very much depends on the order of includes of various boost headers. For
instance, this one-liner compiles:

  #include "boost/type_trais/is_integral.hpp"

but this one already does not:

  #include <cstddef>
  #include "boost/type_trais/is_integral.hpp"

Since the toolset automatically, through the command line, defines
_NATIVE_WCHAR_T_DEFINED whenever '/Zc:wchar_t' is specified, I would say

# endif

lines in "boost/config/compiler/intel.hpp" should look more like

# if !defined(_NATIVE_WCHAR_T_DEFINED)
# endif

but then the file's history shows that we went through quite a few
iterations on this one, so I am not that sure.


Boost list run by bdawes at, gregod at, cpdaniel at, john at