- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
While compiling c++17 code with intel c++ 19.2 compiler an error is raised for the following code:
// struct with default-constructor and destructor explicitly default.
// move and copy constructor and assignment operators deleted.
struct foo{
foo() = default;
foo(const foo&) = delete;
foo(foo&&) = delete;
foo& operator =(const foo&) = delete;
foo& operator =(foo&&) = delete;
~foo() = default;
}
auto var = std::make_shared<foo>(); //<- error: default constructor is a deleted function
If I change line 4 to:
foo(){}
it compiles without error. Does anyone know what I'm missing here? Or is it just a compiler bug?
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Thanks for reaching out to us.
We have tried the sample code which you have provided on windows(visual studio intel 19.2 compiler) and Linux machine (icc/icpc) with C++17 standard enabled.
The code was compiled and executed without any errors as shown in screenshots.
In Visual Studio
The same code executed in Linux (Ubuntu)
Could you please share the complete sample reproducer code and steps to reproduce your error at our end?
And also please share the details of the operating system, oneAPI toolkit version.
Thanks & Regards,
Madhu
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Madhu,
Thanks for investigating. Although I can't find the screenshots you mentioned, but I believe you anyway.
The original code is under NDA, but I'll try to create a small NDA free project that reproduces the behaviour as soon as I've time for that.
Here is the other information you requested:
OS:
- Windows 10 Pro Version: 21H2 Build: 19044.1466 with Windows Feature Experience Pack 120.2212.3920.0
oneAPI toolkit:
- installed via w_BaseKit_p_2022.1.0.116_offline and w_HPCKit_p_2022.1.0.93_offline
- Intel® C++ Compiler – toolkit version: 2022.1.0, extension version 22.0.16, Package ID: w_oneAPI_2022.0.0.161
- Intel® C++ Compiler Classic – toolkit version: 2022.1.0, extension version 19.2.9.16, Package ID: w_oneAPI_2022.0.0.161
- Intel® DPC++ Compatibility Tool – toolkit version: 2022.1.0, extension version 2022.0.0.16, Package ID: w_oneAPI_2022.0.0.97
- Intel® oneAPI DPC++ Compiler – toolkit version: 2022.1.0, extension version 22.0.0.16, Package ID: w_oneAPI_2022.0.0.161
Visual Studio:
- Microsoft Visual Studio Professional 2019 Version 16.11.9
As you can see, everything is quite up to date.
Best Regards,
Axel
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Here's a minimal project that shows the effect.
To produce the example I thought it would be a nice idea to provide a google-test project, but it wasn't. This is off topic but still worth to mention: obviously nuget packages (or other external references) can't be used together with the Intel compiler. After using the 'Solution-Explorer[Context-Menu]->Intel Compiler->Use Intel Compiler C++ Classic' function the nuget package reference was gone. Reinstalling the package to the project didn't help. So I had to configure additional include folders, libraries directories and referenced libraries manually (changing the package to another/newer version would break this manual configuration). There's a screenshots folder in the 7z showing what happend. The *-Microsoft images are the original settings after creating the project. The *-Intel images show what the 'Use Intel Compiler C++ Classic' made out of that. And the *-Intel,fixed show the manual fix. The NuGet-Packages-Intel.png shows that VS believes the package is still installed after changing to the Intel compiler.
I know, I should make this a new case and I probably will.
Best Regards,
Axel
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
The issue raised by you is reproducible when trying with Intel C++ compiler 19.2 from our end as well.
>>" I can't find the screenshots you mentioned"
Sorry for causing inconvenience, I have re-attached the screenshots, please refer.
In Visual Studio
Same code in Linux(ubuntu)
Could you please try compiling with Intel C++ compiler 2022 (icx/icpx) instead?
It is working as expected without throwing any such errors when we tried it from our end.
Also, Intel Classic Compiler will enter "Legacy Product Support" mode, signaling the end of regular updates. Please refer to the article below for more details.
Regards,
Madhu
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
The 2022 compiler works on that small sample, but it does't work for the 'real' project as the 2022 compiler/linker simply crashes (mostly with 'out of memory' although there are still more than 40GB of free RAM available) when used for that one. Especially the linker is eating memory (almost 10GB before it crashes for an application of about 16MB, when build with the 19.2 compiler and less than 8MB when build with the microsoft compiler). That's why I switched back to the 19.2 version: the 2022 completely fails to build and I haven't found a workaround for that. Your support didn't either yet. But that's another issue I already have posted.
Therefore it would be nice, if intel could keep the support for the classic compiler alive as long as the new compiler hasn't become much more stable.
Best Regards
Axel
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Intel-Support has closed the ticket concerning the crashing compiler tools I mentioned above, because I didn't respond fast enough to a sub-topic (the not working IPO) because I have work to do and already wasted too much time with the faulty Intel tools. As if the main problem disappears by simply looking in another direction. For me, this is the end of the line. I give up using Intel development tools. They are a pain in the ass by producing more trouble than the result, if any at all, is worth. I won't renew. Intel lost another customer just because of their ignorance (or is it arrogance). Thinking about claiming my money back as the product, I paid for, doesn't work and obviously won't be fixed. Thus this topic can be closed too. Despite that, thank's for your effort.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Sorry for the inconvenience caused.
>>Intel-Support has closed the ticket concerning the crashing compiler tools I mentioned above
Could you please provide us with the ticket number?
Thanks and Regards,
Madhu
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Madhu,
Thanks for trying to help. After asking for a refund, Intel support has re-opened that ticket by themselves already. And of course they asked me to provide further information by running the tools with special parameters. Because I had to proceed with my work, I've switch to another toolchain and I currently don't have time to hassle with that issue or waiting for Intel to get the problem fixed. So no offense but I'm out of this game.
Thanks again for your effort,
Axel
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
We could not help you out and we apologize for the same. As per your suggestion, we are closing the thread. If you need any additional information, please post a new question as this thread will no longer be monitored by Intel.
Thanks & Regards,
Madhu

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