forked from OSchip/llvm-project
b2d0c16e91
This implements the 'using enum maybe-qualified-enum-tag ;' part of 1099. It introduces a new 'UsingEnumDecl', subclassed from 'BaseUsingDecl'. Much of the diff is the boilerplate needed to get the new class set up. There is one case where we accept ill-formed, but I believe this is merely an extended case of an existing bug, so consider it orthogonal. AFAICT in class-scope the c++20 rule is that no 2 using decls can bring in the same target decl ([namespace.udecl]/8). But we already accept: struct A { enum { a }; }; struct B : A { using A::a; }; struct C : B { using A::a; using B::a; }; // same enumerator this patch permits mixtures of 'using enum Bob;' and 'using Bob::member;' in the same way. Differential Revision: https://reviews.llvm.org/D102241 |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
CommentToXML.cpp | ||
FileIndexRecord.cpp | ||
FileIndexRecord.h | ||
IndexBody.cpp | ||
IndexDecl.cpp | ||
IndexSymbol.cpp | ||
IndexTypeSourceInfo.cpp | ||
IndexingAction.cpp | ||
IndexingContext.cpp | ||
IndexingContext.h | ||
USRGeneration.cpp |