Opened 14 years ago

Closed 13 years ago

#2935 closed Bugs (fixed)

_MSC_FULL_VER has only 8 digits on some recent version of MSVC

Reported by: Onverra <onverra@…> Owned by: John Maddock
Milestone: Boost 1.39.0 Component: type_traits
Version: Boost 1.38.0 Severity: Regression
Keywords: Cc: onverra@…

Description

Some recent version of Microsoft Visual C++ Compiler still has only 8 digits for _MSC_FULL_VER. In this case, intrinsics compiler are not activated and some traits (like is_pod) are broken.

To fix it, I suggest to introduce the macro BOOST_MSVC_FULL. Its value is normalized. The code is inspired from http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?BoostConfig (search for _MSC_FULL_VER)

The patch include change for all librairies, but I tested it only on type_traits library. If such patch is not possible, I would suggest to, at least, fix the way intrinsics are activated on Visual C++.

Thanks

Attachments (1)

BOOST_MSVC_FULL.patch (13.3 KB ) - added by Onverra <onverra@…> 14 years ago.
Proposal for a fix

Download all attachments as: .zip

Change History (3)

by Onverra <onverra@…>, 14 years ago

Attachment: BOOST_MSVC_FULL.patch added

Proposal for a fix

comment:1 by Onverra <onverra@…>, 14 years ago

Cc: onverra@… added

comment:2 by John Maddock, 13 years ago

Resolution: fixed
Status: newclosed

(In [55429]) Fixes #2935. Add new config macro BOOST_MSVC_FULL_VER, and updated type_traits to make use of it.

Note: See TracTickets for help on using tickets.