Otherwise, in the most important case and the only case where SS and
TempSS are different (which is when the CXXScopeSpec should be dropped,
and TempSS is NULL) the wrong SourceRange will be used in the fixit for
the typo correction. Fixes the remaining issue in PR20626.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@227278
91177308-0d34-0410-b5e6-
96231b3b80d8
QualifiedResults.push_back(Candidate);
break;
}
- Candidate.setCorrectionRange(TempSS, Result.getLookupNameInfo());
+ Candidate.setCorrectionRange(SS.get(), Result.getLookupNameInfo());
return true;
}
return false;
b.f(1); // expected-error{{too many arguments to function call, expected 0, have 1; did you mean 'A::f'?}}
}
}
+
+namespace PR20626 {
+class A {
+public:
+ void Foo(){}; // expected-note{{'Foo' declared here}}
+};
+class B {};
+class C : public A, public B {
+ void Run() {
+ B::Foo(); // expected-error{{no member named 'Foo' in 'PR20626::B'; did you mean simply 'Foo'?}}
+ }
+};
+}