зеркало из https://github.com/microsoft/clang-1.git
When adding a NamedDecl to a correction, add the underlying Decl (via
getUnderlyingDecl()) so that derivatives of CorrectionCandidateCallback::ValidateCandidate(...) don't have to worry about being thrown by UsingDecls and such. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168317 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
529a73de04
Коммит
728948fba8
|
@ -4094,7 +4094,7 @@ void TypoCorrection::addCorrectionDecl(NamedDecl *CDecl) {
|
|||
if (isKeyword())
|
||||
CorrectionDecls.clear();
|
||||
|
||||
CorrectionDecls.push_back(CDecl);
|
||||
CorrectionDecls.push_back(CDecl->getUnderlyingDecl());
|
||||
|
||||
if (!CorrectionName)
|
||||
CorrectionName = CDecl->getDeclName();
|
||||
|
|
|
@ -236,3 +236,17 @@ void test() {
|
|||
return status; // expected-error-re{{use of undeclared identifier 'status'$}}
|
||||
}
|
||||
}
|
||||
|
||||
namespace PR13387 {
|
||||
struct A {
|
||||
void CreateFoo(float, float); // expected-note {{'CreateFoo' declared here}}
|
||||
void CreateBar(float, float);
|
||||
};
|
||||
struct B : A {
|
||||
using A::CreateFoo;
|
||||
void CreateFoo(int, int);
|
||||
};
|
||||
void f(B &x) {
|
||||
x.Createfoo(0,0); // expected-error {{no member named 'Createfoo' in 'PR13387::B'; did you mean 'CreateFoo'?}}
|
||||
}
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче