- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Testcase:
[cpp]
#include <tuple>
std::tuple<int, int, int> f();
void g() {
int a, b, c;
std::tie(a, b, c) = f();
}
[/cpp]
Compile with:
[plain]
/opt/intel/composer_xe_2013_sp1.0.080/bin/intel64/icpc -mmic -std=c++11 -c -o tie.o tie.cpp
tie.cpp(7): error: no operator "=" matches these operands
operand types are: std::tuple<int &, int &, int &> = std::tuple<int, int, int>
std::tie(a, b, c) = f();
^
compilation aborted for tie.cpp (code 2)
[/plain]
It was fine with ICC 13:
[plain]/opt/intel/composer_xe_2013.5.192/bin/intel64/icpc -mmic -std=c++11 -c -o tie.o tie.cpp[/plain]
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
That testcase compiles fine for me with icpc 14.0.0 20130728 on Linux without "-mmic" (I don't have the MIC environment and couldn't test that). Does it build without MIC for you? Perhaps the regression is in that environment.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, I tested it without -mmic and yes, it only fails for -mmic.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yeh. looks like a bug to me. I'll file a bug report to the compiler team.
thanks for reporting.
Jennifer
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
FYI.
This bug has been fixed in 14.0 update 2 or later, the 15.0.
Jennifer
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page