Opened 12 years ago

Closed 11 years ago

Last modified 11 years ago

#5406 closed Bugs (wontfix)

Incorrection assumption of Intel C++ Composer for Windows behaviour for c++0x features

Reported by: Edward Rankin <erankin@…> Owned by: John Maddock
Milestone: To Be Determined Component: config
Version: Boost 1.46.1 Severity: Problem
Keywords: Cc:

Description

I have confirmed with Intel the behaviour of C++ Composer XE's behaviour with respect to how it manages C++0x features it supports which VS 2010 SP1 doesn't support. You can read about it here: http://software.intel.com/en-us/forums/showthread.php?t=81434&p=1#144607

In a nutshell, Intel partially supports strongly typed enums while Microsoft doesn't (at least not c++0x syntax). However in boost/config/compiler/intel.hpp, it assumes that Intel and MS supports the exact same c++0x language features.

I have just checked the trunk, and the line indicating support for scoped enums (L212) has been commented out. However, boost can compile correctly if /Qstd=c++0x is specified and that line is not commented. It might be a small thing, but it is good if this can be fixed.

Change History (2)

comment:1 by John Maddock, 11 years ago

Resolution: wontfix
Status: newclosed

I belive it's deliberately disabled, Intel's support for scoped enums is officially described as "partial": http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler/

And I believe it did actually break stuff when that line was briefly enabled, so for now it stays disabled. Sorry!

comment:2 by Edward Rankin <erankin@…>, 11 years ago

I guess my main point for posting this ticket is that C++0x language support differs between VC++ and Intel C++, but the structure of the header file cannot support such differences.

A good example is nullptr support. If boost starts using nullptr, VC++ supports that keyword but not Intel C++.

That's why my ticket title is not about scoped enum but about the assumption made in the logic of deciding what C++0x features the compiler supports.

Note: See TracTickets for help on using tickets.