Quantcast
Channel: Intel® Software - Intel® C++ Compiler
Viewing all articles
Browse latest Browse all 1175

improper value of '__cplusplus' definition in ICC 2017

$
0
0

Hello, everyone,

For Qt builds using ICC on Windows with C++14 support enabled got error:

Feature 'c++14' was enabled, but the pre-condition 'features.c++11 && tests.c++14' failed

After some investigations found, that ICC failed test:

#if __cplusplus > 201103L
#else
#  error "__cplusplus must be > 201103L (the value of C++11)"
#endif

during configuration. While mingw-w64 passes it successfully.

The source of error is value of '__cplusplus' definition, which is 199711L for ICC, while 201402L for mingw-w64.

Using '-Qstd=c++14' or '-D__cplusplus=201402L' compiler keys didn't solve this issue.

 

Since ICC 2017 declare support of C++14, it's expected, that '__cplusplus' definition contain appropriate value. As mingw-w64 do. Is it possible to set '__cplusplus' value according to declared ICC features? So there won't be needed to hack various sources in order to skip such C++14 compliance tests.

 

 

Environment:

  • Windows 10 x64,
  • IPSXE 2017 Update 4,
  • VS 2015 Update 3,
  • Qt-5.9.

 

Alexander

 

 


Viewing all articles
Browse latest Browse all 1175

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>