Boost logo

Boost :

Subject: Re: [boost] [Type_Traits] [remove_bounds]: Wrong workaround for IBMC++ compiler is applied in remove_bounds.hpp
From: Kilian Kilger (kkilger_at_[hidden])
Date: 2013-10-23 06:58:18


Hi,

I did not try to replace the macros, yet. I will try this that evening,
together with running the unit tests, as this is more time consuming.

For the macro expansion, we have the following:

1. AIX compiler

IBM XL C/C++ for AIX, V12.1 (5765-J02, 5725-C72)
Version: 12.01.0000.0004

"__xlC__" = 0x0c01
"__xlC_ver__" = 0x00000004
"__IBMC__" = __IBMC__
"__IBMCPP__" = 1210
"__COMPILER_VER__" = __COMPILER_VER__
"__MVS__" = __MVS__
2. z/OS Compiler

z/OS V1.13 XL C/C++
"__xlC__" = __xlC__
"__xlC_ver__" = __xlC_ver__
"__IBMC__" = __IBMC__
"__IBMCPP__" = 41130
"__COMPILER_VER__" = 0x410D0000
"__MVS__" = 1
I exchanged an email with a guy from IBM and they internally use the
__MVS__ macro for differentiation between the two compilers and then
differentiate between the versions in a following step. This is because MVS
was the predecessor of z/OS, so it is easy for mainframe people to see,
that __MVS__ does indeed mean mainframe.

Best regards,
Kilian.

On 23 October 2013 10:51, Bjorn Reese <breese_at_[hidden]> wrote:

> On 10/22/2013 10:52 PM, Peter Dimov wrote:
>
> __IBMCPP__ is VVRP decimal, whereas __xlC__ is VVRR hexadecimal (and I'm
>> not sure what that means for, say, version 12.10, 0x0C0A or 0x1210), so
>>
>
> According to the compiler documentation [1], it ought to be 0x0C0A, but
> I would prefer to see the actual value from the compiler first.
>
> [1] http://www-01.ibm.com/support/**docview.wss?uid=swg27024210&**aid=1>
>
>
>
> ______________________________**_________________
> Unsubscribe & other changes:
http://lists.boost.org/**
> mailman/listinfo.cgi/boost<http://lists.boost.org/mailman/listinfo.cgi/boost>
>


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