[Bug c++/39164] [C++0x] defaulted dtor redefinition not caught
paolo.carlini at oracle dot com
gcc-bugzilla@gcc.gnu.org
Fri Sep 30 00:58:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39164
Paolo Carlini <paolo.carlini at oracle dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC|gcc-bugs at gcc dot gnu.org |
Summary|defaulted dtor redefinition |[C++0x] defaulted dtor
|not caught |redefinition not caught
--- Comment #2 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-09-30 00:33:08 UTC ---
Now it errors out but says:
39164.C:12:25: error: declaration of ‘_Impl_base::~_Impl_base()’ has a
different exception specifier
39164.C:6:3: error: from previous declaration ‘_Impl_base::~_Impl_base()
noexcept (true)’
I think it's still not what Benjamin expects, because this variant is accepted:
struct _Impl_base
{
_Impl_base() = default;
#if 1
~_Impl_base() = default;
#else
~_Impl_base() { }
#endif
};
_Impl_base::~_Impl_base() noexcept (true) { }
int main()
{
_Impl_base i;
return 0;
}
More information about the Gcc-bugs
mailing list