[Bug c++/82193] incorrectly rejects int x; struct { decltype(x) x; } f = {x};

redi at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Sep 12 19:23:00 GMT 2017


Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |INVALID

--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> ---
[basic.scope.class] p2:

"A name N used in a class S shall refer to the same declaration in its context
and when re-evaluated in the completed scope of S. No diagnostic is required
for a violation of this rule."

So the code is ill-formed, no diagnostic required.

GCC is allowed to reject it. The other compilers fail to diagnose it (which is
also conforming).

More information about the Gcc-bugs mailing list