https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65890
--- Comment #6 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to frankhb1989 from comment #5) > Mainly for testing of the conformance. I don't understand what this means. Testing what? G++? G++ does not exist for you to test its conformance to a standard. Most users don't care about slavish conformance to a defective specification, they want a useful compiler. > 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. You are wrong about how -std options work. We incorporate dozens of DRs into all modes, instead of making them only apply to later standard modes. > 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. SFINAE in C++03 was not nearly as useful, and doesn't work for private members. The language is more useful now, there is no reason to hobble it with a foolish consistency to a defective design. Not a bug.