diff options
author | Reid Kleckner <rnk@google.com> | 2016-02-16 19:16:20 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2016-02-16 19:16:20 +0000 |
commit | 4ce625c8147003fcda203421d6e572923aac7efb (patch) | |
tree | 17eaa36c5ccc9364515f9dfe6b79b6ecd2922433 /clang/lib/Sema/SemaCXXScopeSpec.cpp | |
parent | 8714c125e8a80d6ea99ab1c044a506bbf8d77406 (diff) | |
download | bcm5719-llvm-4ce625c8147003fcda203421d6e572923aac7efb.tar.gz bcm5719-llvm-4ce625c8147003fcda203421d6e572923aac7efb.zip |
[typo-correction] Apply name specifier corrections when forming a NNS
Previously we would leave behind the old name specifier prefix, which
creates an invalid AST. Other callers of CorrectTypo update their
CXXScopeSpec objects with the correction specifier if one is present.
llvm-svn: 260993
Diffstat (limited to 'clang/lib/Sema/SemaCXXScopeSpec.cpp')
-rw-r--r-- | clang/lib/Sema/SemaCXXScopeSpec.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaCXXScopeSpec.cpp b/clang/lib/Sema/SemaCXXScopeSpec.cpp index f7aace625a9..2e774dd28ce 100644 --- a/clang/lib/Sema/SemaCXXScopeSpec.cpp +++ b/clang/lib/Sema/SemaCXXScopeSpec.cpp @@ -606,6 +606,10 @@ bool Sema::BuildCXXNestedNameSpecifier(Scope *S, diagnoseTypo(Corrected, PDiag(diag::err_undeclared_var_use_suggest) << Name); + if (Corrected.getCorrectionSpecifier()) + SS.MakeTrivial(Context, Corrected.getCorrectionSpecifier(), + SourceRange(Found.getNameLoc())); + if (NamedDecl *ND = Corrected.getFoundDecl()) Found.addDecl(ND); Found.setLookupName(Corrected.getCorrection()); |