c++: also note name used in enclosing class
While looking at PR96645 I noticed that while we were diagnosing names changing meaning in the full class context, we weren't doing this for lookups in nested class bodies. Note that this breaks current range-v3; I've submitted a pull request to fix its violation of the rule. gcc/cp/ChangeLog: * class.cc (maybe_note_name_used_in_class): Note in all enclosing classes. Remember location of use. (note_name_declared_in_class): Adjust. gcc/testsuite/ChangeLog: * g++.dg/lookup/name-clash13.C: New test. * g++.dg/lookup/name-clash14.C: New test. * g++.dg/lookup/name-clash15.C: New test. * g++.dg/lookup/name-clash16.C: New test.
Showing
- gcc/cp/class.cc 43 additions, 18 deletionsgcc/cp/class.cc
- gcc/testsuite/g++.dg/lookup/name-clash13.C 7 additions, 0 deletionsgcc/testsuite/g++.dg/lookup/name-clash13.C
- gcc/testsuite/g++.dg/lookup/name-clash14.C 9 additions, 0 deletionsgcc/testsuite/g++.dg/lookup/name-clash14.C
- gcc/testsuite/g++.dg/lookup/name-clash15.C 14 additions, 0 deletionsgcc/testsuite/g++.dg/lookup/name-clash15.C
- gcc/testsuite/g++.dg/lookup/name-clash16.C 13 additions, 0 deletionsgcc/testsuite/g++.dg/lookup/name-clash16.C
Loading
Please register or sign in to comment