- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
class Optional{ public: union { Value m_value; ///< should be uninitialized ! But Intel Compiler will Constructor and Destructor here! }; };
Intel C++ 2016 will call Constructor and Destructor for the class inside unnamed union.
But this should be deleted and like VS2015 compiler it would be great to get a message about this.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Here is VS 2015 compiler message:
destructor was implicitly defined as deleted because a base class destructor is inaccessible or deleted
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
how is the "Value" type defined? can you post the definition here?
Jennifer
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ok. Thanks for the full test.
I've just filed a bug DPD200369174 to the C++ Front End team.
Jennifer
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
An update about this issue. The run-time error that Intel Compiler generated code calls Value's constructor is fixed already. The fix will be in the coming 16.0 beta update 1 release.
As for the diagnostic msg, icl won't emit any just like g++ 4.8 or later. It doesn't make sense to have a "warning" here.
Please watch for the email notification about the update 1 from Intel Premier Support.
thanks,
Jennifer
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page