[clang] [clang] Fix a bug with qualified name lookup into current instantiation (PR #73018)

via cfe-commits cfe-commits at lists.llvm.org
Tue Nov 28 20:33:42 PST 2023


================
@@ -482,8 +481,23 @@ ParsedType Sema::getTypeName(const IdentifierInfo &II, SourceLocation NameLoc,
         }
       }
     }
-    // If typo correction failed or was not performed, fall through
-    [[fallthrough]];
+    Result.suppressDiagnostics();
+    return nullptr;
+  case LookupResult::NotFoundInCurrentInstantiation: {
+    if (AllowImplicitTypename == ImplicitTypenameContext::Yes) {
+      QualType T;
+      T = Context.getDependentNameType(ElaboratedTypeKeyword::None,
+                                       SS->getScopeRep(), &II);
+      TypeLocBuilder TLB;
+      DependentNameTypeLoc TL = TLB.push<DependentNameTypeLoc>(T);
+      TL.setElaboratedKeywordLoc(SourceLocation());
----------------
cor3ntin wrote:

I don't think that's actually needed even if we do it in a bunch of places.

https://github.com/llvm/llvm-project/pull/73018


More information about the cfe-commits mailing list