https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65890

--- Comment #5 from frankhb1989 at gmail dot com ---
(In reply to Jonathan Wakely from comment #3)
> This was changed by
> http://open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#613
> 
> It was a defect in the original standard. What possible advantage is there
> in rejecting it in C++03 mode but accepting it in C++11 mode? i.e. why do
> you consider this a bug?

Mainly for testing of the conformance. Although it is treated a defect of the
design and has been changed later, the old rules are still well-defined and the
published standard itself is consistent. So if I did not get wrong about the
purpose of '-std=', this should be a bug. Whether it is worth being fixed is
another problem.

On the other hand, I'd debate the resolution of this CWG issue is not pure
improvement. There could be a trick to distinguish static and non-static data
members through SFINAE on expressions like 'sizeof(&(C::x))'. It is broken now.

Reply via email to