From 22fcb08357b78bc747a33503270b51db521e9d96 Mon Sep 17 00:00:00 2001 From: David Majnemer Date: Sat, 3 May 2014 02:18:46 +0000 Subject: Sema: Implement DR244 Naming the destructor using a typedef-name for the class-name is well-formed. This fixes PR19620. llvm-svn: 207892 --- clang/lib/Sema/SemaExprCXX.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'clang/lib') diff --git a/clang/lib/Sema/SemaExprCXX.cpp b/clang/lib/Sema/SemaExprCXX.cpp index 6f60406a4ee..a5ecba7310f 100644 --- a/clang/lib/Sema/SemaExprCXX.cpp +++ b/clang/lib/Sema/SemaExprCXX.cpp @@ -144,8 +144,10 @@ ParsedType Sema::getDestructorName(SourceLocation TildeLoc, AlreadySearched = true; LookupCtx = DC; isDependent = false; - } else if (DC && isa(DC)) + } else if (DC && isa(DC)) { LookAtPrefix = false; + LookInScope = true; + } // The second case from the C++03 rules quoted further above. NestedNameSpecifier *Prefix = 0; @@ -163,8 +165,6 @@ ParsedType Sema::getDestructorName(SourceLocation TildeLoc, LookupCtx = computeDeclContext(SS, EnteringContext); isDependent = LookupCtx && LookupCtx->isDependentContext(); } - - LookInScope = false; } else if (ObjectTypePtr) { // C++ [basic.lookup.classref]p3: // If the unqualified-id is ~type-name, the type-name is looked up -- cgit v1.2.3