[llvm] [clang] [mlir] [compiler-rt] [clang-tools-extra] [clang] Fix a bug with qualified name lookup into current instantiation (PR #73018)

Mariya Podchishchaeva via cfe-commits cfe-commits at lists.llvm.org
Thu Nov 30 03:53:47 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());
----------------
Fznamznon wrote:

Oh, we probably need this. Sanitizer build failed due to elaborated keyword loc not initialized https://lab.llvm.org/buildbot/#/builders/5/builds/38796/steps/2/logs/stdio .

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


More information about the cfe-commits mailing list