Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.

Visual Studio 2015 Update 1

Markus_F_
Beginner
997 Views
Just installed Visual Studio 2015 Update 1 and unfortunately Intel compiler 15 and 16 can not compile new updated headers (STL and co). Any info when this will be fixed ? thanks.
0 Kudos
16 Replies
JenniferJ
Moderator
997 Views

I just tried the NQueen sample with VS2015 U1 and ICC 16.0 U1 and the tbb and cilk project doesn't compile:

1>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\limits(1115): error : identifier "__builtin_huge_valf" is undefined
1>      return (__builtin_huge_valf());

are you seeing this error too?

Jennifer

0 Kudos
TimP
Honored Contributor III
997 Views

If you don't play along with Microsoft and assure that you installed the new vs2015 in clean folders, ending with no stale paths, possibly never.

0 Kudos
Markus_F_
Beginner
997 Views
1>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\limits(1115): error : identifier "__builtin_huge_valf" is undefined 1> return (__builtin_huge_valf()); Yes exactly such problems with undefined buildin's.
0 Kudos
TimP
Honored Contributor III
997 Views

Try forcing use of a newer limits.h which should appear in Windows kit 10 include folder. If that works, check msvc alone vs icl environments to see who got include path wrong.  We've seen cases where icl 16.0.1 didn't implement the claimed ability to adjust to Windows kit include path. 

0 Kudos
Melanie_B_Intel
Employee
997 Views

The <limits> file that is included with vs2015 update 1 has calls to builtin functions which aren't available in 16.0 update 1

We're developing a workaround to use in the interim before a solution is available in the next update.

Tim, thanks for the suggestion about Windows kits. Please post a separate bug report about the problem you've seen with Windows kit 10 include folder so we can get it fixed.  

I followed up on your suggestion by using the Visual studio developer prompt so that I'd be using the Microsoft include path (instead of the include path specified by the Intel compiler). The preprocessed source from <limits> includes calls to the builtin's that aren't available in the Intel compiler. <limits> is from the compiler include directory--not Windows Kits.

--Melanie

0 Kudos
JenniferJ
Moderator
997 Views

our C++ frontend team is able to find a workaround for this issue.

please see the workaround from this article: https://software.intel.com/en-us/articles/limits1120-error-identifier-builtin-nanf-is-undefined

If it's not working for your program, please let us know.

thanks for reporting !

Jennifer

0 Kudos
Markus_F_
Beginner
997 Views
Thanks, this seems to work now. Of course proper solution would be nice to have.
0 Kudos
TimP
Honored Contributor III
997 Views

I posted the comment in that workaround URL about having to change () to \(\) to work with standard make, where the -D macros pass through sh.  Maybe this will be fixed next month.

0 Kudos
AndrewC
New Contributor III
997 Views

I am having a problem with with Intel Compiler 2015 Update 6 and Visual Studio 2015 Update 1 when compiling C++   which includes <exception>

 

1>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\exception(248): error : expected an attribute name
1>    [[noreturn]] _CRTIMP2_PURE void __CLRCALL_PURE_OR_CDECL __ExceptionPtrRethrow(_In_ const void*);

 

What you cannot see in the post is the keyword noreturn surrounded by double square brackets as the forum removes it???

 

0 Kudos
JenniferJ
Moderator
997 Views

Could you attach a testcase and compilation options? I wasn't able to duplicate the issue. See the posting in this thread: https://software.intel.com/en-us/forums/intel-c-compiler/topic/602237

Thank you very much,

Jennifer

0 Kudos
AndrewC
New Contributor III
997 Views

The noreturn keyword appears in the <exception> header file in Visual Studio 2015 Update 1, first at line 249

It appears that Intel Compiler 2016 Update 1 supports the noreturn keyword, while Intel Compiler 2015 Update 6 does not.

To reproduce, just create a simple main.cpp in Visual Studio 2015 Update 1 and try to compile....

#include <exception>

int main()
{
    return 0;
}

 

0 Kudos
AndrewC
New Contributor III
997 Views

I would be interested to know if Intel plans an update to Intel Compiler 2015 ( as well as Compiler 2016, of course)  to make it compatible with VS 2015 Update 1?

0 Kudos
JenniferJ
Moderator
997 Views

I see. so it's only an issue with icl 15.0. It's been tracked as DPD200379497.

Please use icl 16.0 for now.

Jennifer

0 Kudos
meldaproduction
Beginner
997 Views

It's NOT working here with ICL 16 and MSVC 2015 update 1... Same error... Even the workaround doesn't help.

0 Kudos
Lubo_A_
Beginner
997 Views

Hello,

This is certainly not isolated to icl 15. The simple default Hello World app does not compile with Intel 2016 and MSVC 2015 Update 1 with :

Severity    Code    Description    Project    File    Line    Suppression State
Error        expected an attribute name    Test    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\exception    404    

Could you please update us on the progress on this?

Thanks

 

0 Kudos
JenniferJ
Moderator
997 Views

Update to this issue: this issue is fixed in 16.0 update 2.

Jennifer

0 Kudos
Reply