Boost logo

Boost :

From: Jonathan Turkanis (technews_at_[hidden])
Date: 2004-01-05 16:56:54


Hi,
    I've discovered two problem with queternion/octonion on Intel 7.1
for windows with the Dinkumware standard library which ships with
VC7.1.

    1. The compiler complains that application of 'abs' to a valarray
variable is ambiguous (maybe getting confused with 'abs' from
<math.h>.) This problems goes away if all such uses of abs are
explicitly namespace qualified: ::std::abs(tr).

    2.Dinkumware defines a macro _DEPRECATED which apparently expands
to __declspec(deprecated), which Intel doesn't understance. This
problem comes up in the header <locale> included by quaternion. One
way to solve the problem is to do something like this:

    #if defined(BOOST_NO_DEPRECATED_MODIFIER) &&
defined(BOOST_DINKUMWARE_STDLIB)
    #define BOOST_DEPRECATED_TEMP _DEPRECATED
    #define _DEPRECATED
    #endif
    #include <locale>
    #ifdef BOOST_DEPRECATED_TEMP
    #define _DEPRECATED BOOST_DEPRECATED_TEMP
    #undef BOOST_DEPRECATED_TEMP
    #endif

Perhaps there is a less verbose, or more general solution; perhaps
compiler version and Dinkumware version need to be checked.

Jonathan


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