Hello, everyone,
After integration IPSXE 2017 with Visual Studio 2015 found, that ICC options for a recently announced C11 Support in Intel C++ Compiler, C++14 Features Supported by Intel® C++ Compiler, and C++17 Features Supported by Intel® C++ Compiler not available in 'Language [Intel C++]' menu of 'VS (Intel C++ 17.0)' projects:
From the other side, ICC Language options:
/Qstd=<std> enable language support for <std>, as described below c99 conforms to ISO/IEC 9899:1999 standard for C programs c11 conforms to ISO/IEC 9899:2011 standard for C programs c++11 enables C++11 support for C++ programs c++14 enables experimental C++14 support for C++ programs c++17 enables experimental C++17 support for C++ programs
should not appear in the same build command, since applying 'C99' and 'C11' or 'C++11' and 'C++14' options simulationaly has no sense, as applying 'C11' and 'C++11' options (because ICC distinguishes C and C++ options and throw warnings like:
icl: command line warning #10381: option '/Qstd=c11' is not valid for C++ compilations
if they are mixed in the same build command).
Taking into account the above, it make sense:
- to combine C and C++ Language options into one menu, e.g. 'Language Support',
- to add all missing '/Qstd=<std>' options into that menu.
This could be easily done by changing a file:
%ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\V140\Platforms\x64\PlatformToolsets\Intel C++ Compiler 17.0\1033\icl.xml
(patch for IPSXE 2017 Update 2 added in attachment), so 'Language [Intel C++]' menu of VS (Intel C++ 17.0) projects would look like:
Could you add this feature to the next IPSXE releases?
Alexander
Link Copied
Hi Alexander,
I received your private email as well. Just letting you know the issue # is: DPD200380627 and I'll touch base with you as soon as I've an update. Appreciate your patience till then.
Regards,
Kittur
Hi,
Thanks for your feedback and I'll file the issue with the developers and will keep you updated accordingly, appreciate much.
_Kittur
Hi Alexander,
I received your private email as well. Just letting you know the issue # is: DPD200380627 and I'll touch base with you as soon as I've an update. Appreciate your patience till then.
Regards,
Kittur
there are already exposed properties /Qstd=c99 and Qstd=c++11 that you can enable in the properties menu
Yep. And in 1st post I proposed to remove them from VS menu, and add one general parameter "Language Support". This make sense because /Qstd=c99 and /Qstd=c++11 conflict with each other, if both enabled (unfortunately ICC does not distinguish C and C++ parameters, as do GCC using CFLAGS and CXXFLAGS) should not appear in the same build command.
Regards,
Alexander
Thanks Alexander, I've pointed that out in the issue I filed and will touch base with you as soon as I get an update, appreciate much.
_Kittur
Updated description to the IPSXE 2017 U2.
For more complete information about compiler optimizations, see our Optimization Notice.