https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86329
Eric Gallager <egallager at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED CC| |egallager at gcc dot gnu.org Status|ASSIGNED |RESOLVED --- Comment #8 from Eric Gallager <egallager at gcc dot gnu.org> --- (In reply to Eric Gallager from comment #7) > (In reply to Eric Gallager from comment #5) > > (In reply to David Malcolm from comment #4) > > > Fixed on trunk by r262199; still affects gcc-8 and gcc-7 branches. > > > > so what should be the target milestone then? > > (In reply to David Malcolm from comment #6) > > Author: dmalcolm > > Date: Thu Feb 14 23:02:45 2019 > > New Revision: 268909 > > > > URL: https://gcc.gnu.org/viewcvs?rev=268909&root=gcc&view=rev > > Log: > > C++: don't offer bogus "._0" suggestions (PR c++/86329) > > > > PR c++/86329 reports that the C++ frontend can offer bogus suggestions like: > > > > #include <string> > > > > int compare() > > { > > return __n1 - __n2; > > } > > > > suggested.cc: In function 'int compare()': > > suggested.cc:5:10: error: '__n1' was not declared in this scope > > return __n1 - __n2; > > ^~~~ > > suggested.cc:5:10: note: suggested alternative: '._61' > > return __n1 - __n2; > > ^~~~ > > ._61 > > suggested.cc:5:17: error: '__n2' was not declared in this scope > > return __n1 - __n2; > > ^~~~ > > suggested.cc:5:17: note: suggested alternative: '._72' > > return __n1 - __n2; > > ^~~~ > > ._72 > > > > The dot-prefixed names are an implementation detail of how we implement > > anonymous enums found in the header files, generated via > > anon_aggrname_format in make_anon_name. > > > > This patch uses anon_aggrname_p to filter them out when considering > > which names to suggest. > > > > gcc/cp/ChangeLog: > > Backport of r262199 from trunk. > > 2018-06-27 David Malcolm <dmalc...@redhat.com> > > > > PR c++/86329 > > * name-lookup.c (consider_binding_level): Filter out names that > > match anon_aggrname_p. > > > > gcc/testsuite/ChangeLog: > > Backport of r262199 from trunk. > > 2018-06-27 David Malcolm <dmalc...@redhat.com> > > > > PR c++/86329 > > * g++.dg/lookup/pr86329.C: New test. > > > > > > Added: > > branches/gcc-8-branch/gcc/testsuite/g++.dg/lookup/pr86329.C > > Modified: > > branches/gcc-8-branch/gcc/cp/ChangeLog > > branches/gcc-8-branch/gcc/cp/name-lookup.c > > branches/gcc-8-branch/gcc/testsuite/ChangeLog > > So, since this fixed it for 8, just 7 is left, so changing the target > milestone to 7.4 I'm pretty sure 7 is closed now, so I'm going to close this as fixed for open branches.