Opened 8 years ago

Closed 8 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: johnmaddock
Milestone: Boost 1.39.0 Component: type_traits
Version: Boost 1.38.0 Severity: Regression
Keywords: Cc: onverra@…


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 (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++.


Attachments (1)

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

Download all attachments as: .zip

Change History (3)

Changed 8 years ago by Onverra <onverra@…>

Proposal for a fix

comment:1 Changed 8 years ago by Onverra <onverra@…>

  • Cc onverra@… added

comment:2 Changed 8 years ago by johnmaddock

  • Resolution set to fixed
  • Status changed from new to closed

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

Add Comment

Modify Ticket

Change Properties
Set your email in Preferences
as closed The owner will remain johnmaddock.
The resolution will be deleted. Next status will be 'reopened'.

E-mail address and user name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.