The following code:
B () = default;
virtual ~B () = default;
struct D : public B
virtual ~D () = default;
generates this warning:
warning #809: exception specification for virtual function "D::~D" is incompatible with that of overridden function "B::~B"
when compiled with: icl /c /Qstd=c++11
I believe this warning is in error since the defaulted destructors should have the same exception specification.
I'm using the latest Intel C++ Composer XE SP1 Update 1 (126.96.36.199).
I see DPD200248506 listed as fixed in Update 2 (https://software.intel.com/en-us/articles/intel-composer-xe-2013-compilers-sp1-fixes-list), however that warning persisted, even in Update 3 and 2015 Beta. Could you verify that?