From 9385d704c115891e0beae99f46cc1df2de8bc5f6 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Sat, 14 May 2016 01:58:49 +0000 Subject: When typo-correcting a using-declaration, actually correct the name of the UsingDecl (so that redeclaration lookup can find it). llvm-svn: 269530 --- clang/lib/Sema/SemaDeclCXX.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'clang/lib/Sema/SemaDeclCXX.cpp') diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp index ee81bbc2872..ca8ed71fcef 100644 --- a/clang/lib/Sema/SemaDeclCXX.cpp +++ b/clang/lib/Sema/SemaDeclCXX.cpp @@ -7998,6 +7998,9 @@ public: if (Candidate.WillReplaceSpecifier() && !Candidate.getCorrectionSpecifier()) return false; + // FIXME: Don't correct to a name that CheckUsingDeclRedeclaration would + // reject. + if (RequireMemberOf) { auto *FoundRecord = dyn_cast(ND); if (FoundRecord && FoundRecord->isInjectedClassName()) { @@ -8207,6 +8210,7 @@ NamedDecl *Sema::BuildUsingDeclaration(Scope *S, AccessSpecifier AS, R.addDecl(Ctor); } else { // FIXME: Pick up all the declarations if we found an overloaded function. + NameInfo.setName(ND->getDeclName()); R.addDecl(ND); } } else { -- cgit v1.2.3