From a6c78feba6c20ab3830f513ef502004101e2f9a3 Mon Sep 17 00:00:00 2001 From: Kaelyn Uhrain Date: Mon, 16 Dec 2013 19:19:18 +0000 Subject: Make Sema::BuildCXXNestedNameSpecifier correctly clear the previous CXXScopeSpec when necessary while performing typo correction. This fixes the crash reported in PR18213 (the problem existed since r185487, and r193020 made it easier to hit). llvm-svn: 197409 --- clang/lib/Sema/SemaCXXScopeSpec.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'clang/lib/Sema/SemaCXXScopeSpec.cpp') diff --git a/clang/lib/Sema/SemaCXXScopeSpec.cpp b/clang/lib/Sema/SemaCXXScopeSpec.cpp index 58bde02d602..15f122ecb10 100644 --- a/clang/lib/Sema/SemaCXXScopeSpec.cpp +++ b/clang/lib/Sema/SemaCXXScopeSpec.cpp @@ -497,6 +497,8 @@ bool Sema::BuildCXXNestedNameSpecifier(Scope *S, bool DroppedSpecifier = Corrected.WillReplaceSpecifier() && Name.getAsString() == Corrected.getAsString(getLangOpts()); + if (DroppedSpecifier) + SS.clear(); diagnoseTypo(Corrected, PDiag(diag::err_no_member_suggest) << Name << LookupCtx << DroppedSpecifier << SS.getRange()); -- cgit v1.2.3