- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi!
There is a following error with Intel Parallel Studio 2016.2.180 and Visual Studio 2015
1>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\type_traits(550): error : identifier "__is_assignable" is undefined
1>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\type_traits(550): error : type name is not allowed
1>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\type_traits(550): error : type name is not allowed
1>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\type_traits(550): error : identifier "__is_assignable" is undefined
1>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\type_traits(550): error : type name is not allowed
1>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\type_traits(550): error : type name is not allowed
How can I solve it?
Thanks!
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This is new syntax which Microsoft introduced in vs2015 update 2, released just yesterday. Our 16.0 update 2 doesn't yet support this, but it will be supported in 16.0 update 3. DPD200378147 in our internal bugs database is tracking this issue. Sorry for the trouble.
--Melanie
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@Melanie Blower
Can you tell us when Intel C++ Compiler 16.0 Update 3 will be available?
Thanks!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Intel doesn't generally publish the dates of upcoming releases.
Judy Ward suggested this workaround. It will help you to get past this compilation problem although don't rely on it for a correct answer (if your program isn't actually using __is_assignable than you'll be fine)
If you aren't relying on the correctness of is_assignable, is_copy_assignable or is_move_assignable you could use this workaround:
-D__is_assignable=__is_trivially_assignable
This would cause those 3 type traits to sometimes return FALSE when they should return TRUE (i.e. if the assignment involved non trivial operations).
Hope this is of some help
--Melanie
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi
i would like to suggest to fix this issue as high priority.
Firstly we need the fixes included in VS2015 update2.
Revert VS2015 to update 1 is quite difficult.
This works around is quite dangerous if indirectly you use these calls (is_assignable, is_copy_assignable or is_move_assignable) like Boost....
please inform us about when you plan a fix update.
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Georg,
We have forwarded your concerns to engineering team.
Thanks.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Can you explain how to use this:-D__is_assignable=__is_trivially_assignable
Thanks.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi dima,
Add that to your compilation command line. Let's say, your current command line is
icc -c -O2 -ipo a.c
Change it to
icc -c -O2 -ipo -D__is_assignable=__is_trivially_assignable a.c
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I still have error "identifier __is_assignable is undefined" with update 3 of intel compiler.
Is that normal?
I noticed the error one month ago after the update of Visual Studio 2015, and directly found this page.
Melanie's trick works well anyway (I actually use "#define __is_assignable __is_trivially_assignable", instead of a compiler option)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Patz,
(Updated on May 5)
16.0 Update 3 support the type_traits header in VC++ now. If you still see problem compatibility issue with that header, please let me know and upload a small test case.
Thanks.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Iceflower,
I upgraded my VS Enterprise 2015 to 2015 Update 2. Unfortunately I failed to reproduce the error with the small test case above. Did you use any compiler options? If possible, please upload your solution in this thread.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I confirm Iceflower's post: With his tiny program, I get exactly the same errors .
I'm using the default project compilation switches.
I'm using Visual Studio 2015 pro update 2 (I only installed the visual C++ compiler, and the Clang compiler. No other component)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I just discovered a difference:
It compiles for the platform x86, but it does not compile for x64 (my default platform)
IceFlower, does the platform make a difference for you too?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks Iceflower.
I had obviously both update 2 and 3 were installed. (I have no idea what Intel software Manager does)
I uninstalled everything from Intel, and reinstalled the update 3.
It now works
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Patz,
Glad to hear that the problem is solved in Update 3. Thank you for your testing.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This problem cropped up here (with more recent Intel C++) when I "upgraded" from the November release of Windows 10 to current preview build 14352. I'm trying a repair on VS2015 (Community).
I'm somewhat disappointed in the Windows preview build. I spent hours trying the linux subsystem which provides a gcc 4.8 (no OpenMP 4 support) and has too many symlink related failures. Don't see why this should affect Windows build tools.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm getting this error message with Visual studio 14.0.25431.01 update 3 and Intel Parallel Studio XE 2016 Update 4, was this not fixed in Update 4?

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page