github-actions[bot] wrote:

<!--LLVM CODE FORMAT COMMENT: {clang-format}-->


:warning: C/C++ code formatter, clang-format found issues in your code. 
:warning:

<details>
<summary>
You can test this locally with the following command:
</summary>

``````````bash
git-clang-format --diff origin/main HEAD --extensions cpp,h -- 
clang/include/clang/CodeGen/ModuleBuilder.h clang/lib/CodeGen/CodeGenAction.cpp 
clang/lib/CodeGen/ModuleBuilder.cpp 
clang/tools/clang-import-test/clang-import-test.cpp 
clang/unittests/CodeGen/TestCompiler.h 
lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp 
--diff_from_common_commit
``````````

:warning:
The reproduction instructions above might return results for more than one PR
in a stack if you are using a stacked PR workflow. You can limit the results by
changing `origin/main` to the base branch/commit you want to compare against.
:warning:

</details>

<details>
<summary>
View the diff from clang-format here.
</summary>

``````````diff
diff --git a/clang/include/clang/CodeGen/ModuleBuilder.h 
b/clang/include/clang/CodeGen/ModuleBuilder.h
index 5173fd05d..456b53b17 100644
--- a/clang/include/clang/CodeGen/ModuleBuilder.h
+++ b/clang/include/clang/CodeGen/ModuleBuilder.h
@@ -42,7 +42,7 @@ namespace clang {
   class PreprocessorOptions;
   class CompilerInstance;
 
-namespace CodeGen {
+  namespace CodeGen {
   class CodeGenModule;
   class CGDebugInfo;
 }
diff --git a/clang/lib/CodeGen/ModuleBuilder.cpp 
b/clang/lib/CodeGen/ModuleBuilder.cpp
index b4885d572..b100d3e84 100644
--- a/clang/lib/CodeGen/ModuleBuilder.cpp
+++ b/clang/lib/CodeGen/ModuleBuilder.cpp
@@ -32,302 +32,293 @@ using namespace clang;
 using namespace CodeGen;
 
 namespace {
-  class CodeGeneratorImpl final : public CodeGenerator {
-    DiagnosticsEngine &Diags;
-    ASTContext *Ctx;
-    IntrusiveRefCntPtr<llvm::vfs::FileSystem> FS; // Only used for debug info.
-    const HeaderSearchOptions &HeaderSearchOpts; // Only used for debug info.
-    const PreprocessorOptions &PreprocessorOpts; // Only used for debug info.
-    const CodeGenOptions &CodeGenOpts;
-
-    unsigned HandlingTopLevelDecls;
-
-    /// Use this when emitting decls to block re-entrant decl emission. It will
-    /// emit all deferred decls on scope exit. Set EmitDeferred to false if 
decl
-    /// emission must be deferred longer, like at the end of a tag definition.
-    struct HandlingTopLevelDeclRAII {
-      CodeGeneratorImpl &Self;
-      bool EmitDeferred;
-      HandlingTopLevelDeclRAII(CodeGeneratorImpl &Self,
-                               bool EmitDeferred = true)
-          : Self(Self), EmitDeferred(EmitDeferred) {
-        ++Self.HandlingTopLevelDecls;
-      }
-      ~HandlingTopLevelDeclRAII() {
-        unsigned Level = --Self.HandlingTopLevelDecls;
-        if (Level == 0 && EmitDeferred)
-          Self.EmitDeferredDecls();
-      }
-    };
-
-    CoverageSourceInfo *CoverageInfo;
-    std::unique_ptr<llvm::Module> M;
-    std::unique_ptr<CodeGen::CodeGenModule> Builder;
-    SmallVector<FunctionDecl *, 8> DeferredInlineMemberFuncDefs;
-
-    static llvm::StringRef ExpandModuleName(llvm::StringRef ModuleName,
-                                            const CodeGenOptions &CGO) {
-      if (ModuleName == "-" && !CGO.MainFileName.empty())
-        return CGO.MainFileName;
-      return ModuleName;
+class CodeGeneratorImpl final : public CodeGenerator {
+  DiagnosticsEngine &Diags;
+  ASTContext *Ctx;
+  IntrusiveRefCntPtr<llvm::vfs::FileSystem> FS; // Only used for debug info.
+  const HeaderSearchOptions &HeaderSearchOpts;  // Only used for debug info.
+  const PreprocessorOptions &PreprocessorOpts;  // Only used for debug info.
+  const CodeGenOptions &CodeGenOpts;
+
+  unsigned HandlingTopLevelDecls;
+
+  /// Use this when emitting decls to block re-entrant decl emission. It will
+  /// emit all deferred decls on scope exit. Set EmitDeferred to false if decl
+  /// emission must be deferred longer, like at the end of a tag definition.
+  struct HandlingTopLevelDeclRAII {
+    CodeGeneratorImpl &Self;
+    bool EmitDeferred;
+    HandlingTopLevelDeclRAII(CodeGeneratorImpl &Self, bool EmitDeferred = true)
+        : Self(Self), EmitDeferred(EmitDeferred) {
+      ++Self.HandlingTopLevelDecls;
     }
-
-  public:
-    CodeGeneratorImpl(DiagnosticsEngine &diags, llvm::StringRef ModuleName,
-                      IntrusiveRefCntPtr<llvm::vfs::FileSystem> FS,
-                      const HeaderSearchOptions &HSO,
-                      const PreprocessorOptions &PPO, const CodeGenOptions 
&CGO,
-                      llvm::LLVMContext &C,
-                      CoverageSourceInfo *CoverageInfo = nullptr)
-        : Diags(diags), Ctx(nullptr), FS(std::move(FS)), HeaderSearchOpts(HSO),
-          PreprocessorOpts(PPO), CodeGenOpts(CGO), HandlingTopLevelDecls(0),
-          CoverageInfo(CoverageInfo),
-          M(new llvm::Module(ExpandModuleName(ModuleName, CGO), C)) {
-      C.setDiscardValueNames(CGO.DiscardValueNames);
+    ~HandlingTopLevelDeclRAII() {
+      unsigned Level = --Self.HandlingTopLevelDecls;
+      if (Level == 0 && EmitDeferred)
+        Self.EmitDeferredDecls();
     }
+  };
 
-    ~CodeGeneratorImpl() override {
-      // There should normally not be any leftover inline method definitions.
-      assert(DeferredInlineMemberFuncDefs.empty() ||
-             Diags.hasErrorOccurred());
-    }
+  CoverageSourceInfo *CoverageInfo;
+  std::unique_ptr<llvm::Module> M;
+  std::unique_ptr<CodeGen::CodeGenModule> Builder;
+  SmallVector<FunctionDecl *, 8> DeferredInlineMemberFuncDefs;
 
-    CodeGenModule &CGM() {
-      return *Builder;
-    }
+  static llvm::StringRef ExpandModuleName(llvm::StringRef ModuleName,
+                                          const CodeGenOptions &CGO) {
+    if (ModuleName == "-" && !CGO.MainFileName.empty())
+      return CGO.MainFileName;
+    return ModuleName;
+  }
 
-    llvm::Module *GetModule() {
-      return M.get();
-    }
+public:
+  CodeGeneratorImpl(DiagnosticsEngine &diags, llvm::StringRef ModuleName,
+                    IntrusiveRefCntPtr<llvm::vfs::FileSystem> FS,
+                    const HeaderSearchOptions &HSO,
+                    const PreprocessorOptions &PPO, const CodeGenOptions &CGO,
+                    llvm::LLVMContext &C,
+                    CoverageSourceInfo *CoverageInfo = nullptr)
+      : Diags(diags), Ctx(nullptr), FS(std::move(FS)), HeaderSearchOpts(HSO),
+        PreprocessorOpts(PPO), CodeGenOpts(CGO), HandlingTopLevelDecls(0),
+        CoverageInfo(CoverageInfo),
+        M(new llvm::Module(ExpandModuleName(ModuleName, CGO), C)) {
+    C.setDiscardValueNames(CGO.DiscardValueNames);
+  }
 
-    CGDebugInfo *getCGDebugInfo() {
-      return Builder->getModuleDebugInfo();
-    }
+  ~CodeGeneratorImpl() override {
+    // There should normally not be any leftover inline method definitions.
+    assert(DeferredInlineMemberFuncDefs.empty() || Diags.hasErrorOccurred());
+  }
 
-    std::unique_ptr<llvm::Module> ReleaseModule() {
-      return std::exchange(M, nullptr);
-    }
+  CodeGenModule &CGM() { return *Builder; }
 
-    const Decl *GetDeclForMangledName(StringRef MangledName) {
-      GlobalDecl Result;
-      if (!Builder->lookupRepresentativeDecl(MangledName, Result))
-        return nullptr;
-      const Decl *D = Result.getCanonicalDecl().getDecl();
-      if (auto FD = dyn_cast<FunctionDecl>(D)) {
-        if (FD->hasBody(FD))
-          return FD;
-      } else if (auto TD = dyn_cast<TagDecl>(D)) {
-        if (auto Def = TD->getDefinition())
-          return Def;
-      }
-      return D;
-    }
+  llvm::Module *GetModule() { return M.get(); }
 
-    llvm::StringRef GetMangledName(GlobalDecl GD) {
-      return Builder->getMangledName(GD);
-    }
+  CGDebugInfo *getCGDebugInfo() { return Builder->getModuleDebugInfo(); }
+
+  std::unique_ptr<llvm::Module> ReleaseModule() {
+    return std::exchange(M, nullptr);
+  }
 
-    llvm::Constant *GetAddrOfGlobal(GlobalDecl global, bool isForDefinition) {
-      return Builder->GetAddrOfGlobal(global, 
ForDefinition_t(isForDefinition));
+  const Decl *GetDeclForMangledName(StringRef MangledName) {
+    GlobalDecl Result;
+    if (!Builder->lookupRepresentativeDecl(MangledName, Result))
+      return nullptr;
+    const Decl *D = Result.getCanonicalDecl().getDecl();
+    if (auto FD = dyn_cast<FunctionDecl>(D)) {
+      if (FD->hasBody(FD))
+        return FD;
+    } else if (auto TD = dyn_cast<TagDecl>(D)) {
+      if (auto Def = TD->getDefinition())
+        return Def;
     }
+    return D;
+  }
 
-    llvm::Module *StartModule(llvm::StringRef ModuleName,
-                              llvm::LLVMContext &C) {
-      assert(!M && "Replacing existing Module?");
-      M.reset(new llvm::Module(ExpandModuleName(ModuleName, CodeGenOpts), C));
+  llvm::StringRef GetMangledName(GlobalDecl GD) {
+    return Builder->getMangledName(GD);
+  }
 
-      IRGenFinished = false;
+  llvm::Constant *GetAddrOfGlobal(GlobalDecl global, bool isForDefinition) {
+    return Builder->GetAddrOfGlobal(global, ForDefinition_t(isForDefinition));
+  }
 
-      std::unique_ptr<CodeGenModule> OldBuilder = std::move(Builder);
+  llvm::Module *StartModule(llvm::StringRef ModuleName, llvm::LLVMContext &C) {
+    assert(!M && "Replacing existing Module?");
+    M.reset(new llvm::Module(ExpandModuleName(ModuleName, CodeGenOpts), C));
 
-      assert(Ctx && "must call Initialize() before calling StartModule()");
-      Initialize(*Ctx);
+    IRGenFinished = false;
 
-      if (OldBuilder)
-        OldBuilder->moveLazyEmissionStates(Builder.get());
+    std::unique_ptr<CodeGenModule> OldBuilder = std::move(Builder);
 
-      return M.get();
-    }
+    assert(Ctx && "must call Initialize() before calling StartModule()");
+    Initialize(*Ctx);
 
-    void Initialize(ASTContext &Context) override {
-      Ctx = &Context;
-
-      M->setTargetTriple(Ctx->getTargetInfo().getTriple());
-      M->setDataLayout(Ctx->getTargetInfo().getDataLayoutString());
-      const auto &SDKVersion = Ctx->getTargetInfo().getSDKVersion();
-      if (!SDKVersion.empty())
-        M->setSDKVersion(SDKVersion);
-      if (const auto *TVT = 
Ctx->getTargetInfo().getDarwinTargetVariantTriple())
-        M->setDarwinTargetVariantTriple(TVT->getTriple());
-      if (auto TVSDKVersion =
-              Ctx->getTargetInfo().getDarwinTargetVariantSDKVersion())
-        M->setDarwinTargetVariantSDKVersion(*TVSDKVersion);
-      Builder.reset(new CodeGen::CodeGenModule(Context, FS, HeaderSearchOpts,
-                                               PreprocessorOpts, CodeGenOpts,
-                                               *M, Diags, CoverageInfo));
-
-      for (auto &&Lib : CodeGenOpts.DependentLibraries)
-        Builder->AddDependentLib(Lib);
-      for (auto &&Opt : CodeGenOpts.LinkerOptions)
-        Builder->AppendLinkerOptions(Opt);
-    }
-
-    void HandleCXXStaticMemberVarInstantiation(VarDecl *VD) override {
-      if (Diags.hasErrorOccurred())
-        return;
+    if (OldBuilder)
+      OldBuilder->moveLazyEmissionStates(Builder.get());
 
-      Builder->HandleCXXStaticMemberVarInstantiation(VD);
-    }
+    return M.get();
+  }
 
-    bool HandleTopLevelDecl(DeclGroupRef DG) override {
-      // Ignore interesting decls from the AST reader after IRGen is finished.
-      if (IRGenFinished)
-        return true; // We can't CodeGen more but pass to other consumers.
+  void Initialize(ASTContext &Context) override {
+    Ctx = &Context;
+
+    M->setTargetTriple(Ctx->getTargetInfo().getTriple());
+    M->setDataLayout(Ctx->getTargetInfo().getDataLayoutString());
+    const auto &SDKVersion = Ctx->getTargetInfo().getSDKVersion();
+    if (!SDKVersion.empty())
+      M->setSDKVersion(SDKVersion);
+    if (const auto *TVT = Ctx->getTargetInfo().getDarwinTargetVariantTriple())
+      M->setDarwinTargetVariantTriple(TVT->getTriple());
+    if (auto TVSDKVersion =
+            Ctx->getTargetInfo().getDarwinTargetVariantSDKVersion())
+      M->setDarwinTargetVariantSDKVersion(*TVSDKVersion);
+    Builder.reset(new CodeGen::CodeGenModule(Context, FS, HeaderSearchOpts,
+                                             PreprocessorOpts, CodeGenOpts, *M,
+                                             Diags, CoverageInfo));
+
+    for (auto &&Lib : CodeGenOpts.DependentLibraries)
+      Builder->AddDependentLib(Lib);
+    for (auto &&Opt : CodeGenOpts.LinkerOptions)
+      Builder->AppendLinkerOptions(Opt);
+  }
 
-      // FIXME: Why not return false and abort parsing?
-      if (Diags.hasUnrecoverableErrorOccurred())
-        return true;
+  void HandleCXXStaticMemberVarInstantiation(VarDecl *VD) override {
+    if (Diags.hasErrorOccurred())
+      return;
 
-      HandlingTopLevelDeclRAII HandlingDecl(*this);
+    Builder->HandleCXXStaticMemberVarInstantiation(VD);
+  }
 
-      // Make sure to emit all elements of a Decl.
-      for (auto &I : DG)
-        Builder->EmitTopLevelDecl(I);
+  bool HandleTopLevelDecl(DeclGroupRef DG) override {
+    // Ignore interesting decls from the AST reader after IRGen is finished.
+    if (IRGenFinished)
+      return true; // We can't CodeGen more but pass to other consumers.
 
+    // FIXME: Why not return false and abort parsing?
+    if (Diags.hasUnrecoverableErrorOccurred())
       return true;
-    }
 
-    void EmitDeferredDecls() {
-      if (DeferredInlineMemberFuncDefs.empty())
-        return;
-
-      // Emit any deferred inline method definitions. Note that more deferred
-      // methods may be added during this loop, since ASTConsumer callbacks
-      // can be invoked if AST inspection results in declarations being added.
-      HandlingTopLevelDeclRAII HandlingDecl(*this);
-      for (unsigned I = 0; I != DeferredInlineMemberFuncDefs.size(); ++I)
-        Builder->EmitTopLevelDecl(DeferredInlineMemberFuncDefs[I]);
-      DeferredInlineMemberFuncDefs.clear();
-    }
+    HandlingTopLevelDeclRAII HandlingDecl(*this);
 
-    void HandleInlineFunctionDefinition(FunctionDecl *D) override {
-      if (Diags.hasUnrecoverableErrorOccurred())
-        return;
-
-      assert(D->doesThisDeclarationHaveABody());
-
-      // We may want to emit this definition. However, that decision might be
-      // based on computing the linkage, and we have to defer that in case we
-      // are inside of something that will change the method's final linkage,
-      // e.g.
-      //   typedef struct {
-      //     void bar();
-      //     void foo() { bar(); }
-      //   } A;
-      DeferredInlineMemberFuncDefs.push_back(D);
-
-      // Provide some coverage mapping even for methods that aren't emitted.
-      // Don't do this for templated classes though, as they may not be
-      // instantiable.
-      if (!D->getLexicalDeclContext()->isDependentContext())
-        Builder->AddDeferredUnusedCoverageMapping(D);
-    }
+    // Make sure to emit all elements of a Decl.
+    for (auto &I : DG)
+      Builder->EmitTopLevelDecl(I);
+
+    return true;
+  }
+
+  void EmitDeferredDecls() {
+    if (DeferredInlineMemberFuncDefs.empty())
+      return;
+
+    // Emit any deferred inline method definitions. Note that more deferred
+    // methods may be added during this loop, since ASTConsumer callbacks
+    // can be invoked if AST inspection results in declarations being added.
+    HandlingTopLevelDeclRAII HandlingDecl(*this);
+    for (unsigned I = 0; I != DeferredInlineMemberFuncDefs.size(); ++I)
+      Builder->EmitTopLevelDecl(DeferredInlineMemberFuncDefs[I]);
+    DeferredInlineMemberFuncDefs.clear();
+  }
 
-    /// HandleTagDeclDefinition - This callback is invoked each time a TagDecl
-    /// to (e.g. struct, union, enum, class) is completed. This allows the
-    /// client hack on the type, which can occur at any point in the file
-    /// (because these can be defined in declspecs).
-    void HandleTagDeclDefinition(TagDecl *D) override {
-      if (Diags.hasUnrecoverableErrorOccurred())
-        return;
-
-      // Don't allow re-entrant calls to CodeGen triggered by PCH
-      // deserialization to emit deferred decls.
-      HandlingTopLevelDeclRAII HandlingDecl(*this, /*EmitDeferred=*/false);
-
-      Builder->UpdateCompletedType(D);
-
-      // For MSVC compatibility, treat declarations of static data members with
-      // inline initializers as definitions.
-      assert(Ctx && "Initialize() not called");
-      if (Ctx->getTargetInfo().getCXXABI().isMicrosoft()) {
-        for (Decl *Member : D->decls()) {
-          if (VarDecl *VD = dyn_cast<VarDecl>(Member)) {
-            if (Ctx->isMSStaticDataMemberInlineDefinition(VD) &&
-                Ctx->DeclMustBeEmitted(VD)) {
-              Builder->EmitGlobal(VD);
-            }
+  void HandleInlineFunctionDefinition(FunctionDecl *D) override {
+    if (Diags.hasUnrecoverableErrorOccurred())
+      return;
+
+    assert(D->doesThisDeclarationHaveABody());
+
+    // We may want to emit this definition. However, that decision might be
+    // based on computing the linkage, and we have to defer that in case we
+    // are inside of something that will change the method's final linkage,
+    // e.g.
+    //   typedef struct {
+    //     void bar();
+    //     void foo() { bar(); }
+    //   } A;
+    DeferredInlineMemberFuncDefs.push_back(D);
+
+    // Provide some coverage mapping even for methods that aren't emitted.
+    // Don't do this for templated classes though, as they may not be
+    // instantiable.
+    if (!D->getLexicalDeclContext()->isDependentContext())
+      Builder->AddDeferredUnusedCoverageMapping(D);
+  }
+
+  /// HandleTagDeclDefinition - This callback is invoked each time a TagDecl
+  /// to (e.g. struct, union, enum, class) is completed. This allows the
+  /// client hack on the type, which can occur at any point in the file
+  /// (because these can be defined in declspecs).
+  void HandleTagDeclDefinition(TagDecl *D) override {
+    if (Diags.hasUnrecoverableErrorOccurred())
+      return;
+
+    // Don't allow re-entrant calls to CodeGen triggered by PCH
+    // deserialization to emit deferred decls.
+    HandlingTopLevelDeclRAII HandlingDecl(*this, /*EmitDeferred=*/false);
+
+    Builder->UpdateCompletedType(D);
+
+    // For MSVC compatibility, treat declarations of static data members with
+    // inline initializers as definitions.
+    assert(Ctx && "Initialize() not called");
+    if (Ctx->getTargetInfo().getCXXABI().isMicrosoft()) {
+      for (Decl *Member : D->decls()) {
+        if (VarDecl *VD = dyn_cast<VarDecl>(Member)) {
+          if (Ctx->isMSStaticDataMemberInlineDefinition(VD) &&
+              Ctx->DeclMustBeEmitted(VD)) {
+            Builder->EmitGlobal(VD);
           }
         }
       }
-      // For OpenMP emit declare reduction functions, if required.
-      if (Ctx->getLangOpts().OpenMP) {
-        for (Decl *Member : D->decls()) {
-          if (auto *DRD = dyn_cast<OMPDeclareReductionDecl>(Member)) {
-            if (Ctx->DeclMustBeEmitted(DRD))
-              Builder->EmitGlobal(DRD);
-          } else if (auto *DMD = dyn_cast<OMPDeclareMapperDecl>(Member)) {
-            if (Ctx->DeclMustBeEmitted(DMD))
-              Builder->EmitGlobal(DMD);
-          }
+    }
+    // For OpenMP emit declare reduction functions, if required.
+    if (Ctx->getLangOpts().OpenMP) {
+      for (Decl *Member : D->decls()) {
+        if (auto *DRD = dyn_cast<OMPDeclareReductionDecl>(Member)) {
+          if (Ctx->DeclMustBeEmitted(DRD))
+            Builder->EmitGlobal(DRD);
+        } else if (auto *DMD = dyn_cast<OMPDeclareMapperDecl>(Member)) {
+          if (Ctx->DeclMustBeEmitted(DMD))
+            Builder->EmitGlobal(DMD);
         }
       }
     }
+  }
 
-    void HandleTagDeclRequiredDefinition(const TagDecl *D) override {
-      if (Diags.hasUnrecoverableErrorOccurred())
-        return;
-
-      // Don't allow re-entrant calls to CodeGen triggered by PCH
-      // deserialization to emit deferred decls.
-      HandlingTopLevelDeclRAII HandlingDecl(*this, /*EmitDeferred=*/false);
+  void HandleTagDeclRequiredDefinition(const TagDecl *D) override {
+    if (Diags.hasUnrecoverableErrorOccurred())
+      return;
 
-      if (CodeGen::CGDebugInfo *DI = Builder->getModuleDebugInfo())
-        if (const RecordDecl *RD = dyn_cast<RecordDecl>(D))
-          DI->completeRequiredType(RD);
-    }
+    // Don't allow re-entrant calls to CodeGen triggered by PCH
+    // deserialization to emit deferred decls.
+    HandlingTopLevelDeclRAII HandlingDecl(*this, /*EmitDeferred=*/false);
 
-    void HandleTranslationUnit(ASTContext &Ctx) override {
-      // Release the Builder when there is no error.
-      if (!Diags.hasUnrecoverableErrorOccurred() && Builder)
-        Builder->Release();
-
-      // If there are errors before or when releasing the Builder, reset
-      // the module to stop here before invoking the backend.
-      if (Diags.hasErrorOccurred()) {
-        if (Builder)
-          Builder->clear();
-        M.reset();
-      }
+    if (CodeGen::CGDebugInfo *DI = Builder->getModuleDebugInfo())
+      if (const RecordDecl *RD = dyn_cast<RecordDecl>(D))
+        DI->completeRequiredType(RD);
+  }
 
-      IRGenFinished = true;
+  void HandleTranslationUnit(ASTContext &Ctx) override {
+    // Release the Builder when there is no error.
+    if (!Diags.hasUnrecoverableErrorOccurred() && Builder)
+      Builder->Release();
+
+    // If there are errors before or when releasing the Builder, reset
+    // the module to stop here before invoking the backend.
+    if (Diags.hasErrorOccurred()) {
+      if (Builder)
+        Builder->clear();
+      M.reset();
     }
 
-    void AssignInheritanceModel(CXXRecordDecl *RD) override {
-      if (Diags.hasUnrecoverableErrorOccurred())
-        return;
+    IRGenFinished = true;
+  }
 
-      Builder->RefreshTypeCacheForClass(RD);
-    }
+  void AssignInheritanceModel(CXXRecordDecl *RD) override {
+    if (Diags.hasUnrecoverableErrorOccurred())
+      return;
 
-    void CompleteTentativeDefinition(VarDecl *D) override {
-      if (Diags.hasUnrecoverableErrorOccurred())
-        return;
+    Builder->RefreshTypeCacheForClass(RD);
+  }
 
-      Builder->EmitTentativeDefinition(D);
-    }
+  void CompleteTentativeDefinition(VarDecl *D) override {
+    if (Diags.hasUnrecoverableErrorOccurred())
+      return;
 
-    void CompleteExternalDeclaration(DeclaratorDecl *D) override {
-      Builder->EmitExternalDeclaration(D);
-    }
+    Builder->EmitTentativeDefinition(D);
+  }
 
-    void HandleVTable(CXXRecordDecl *RD) override {
-      if (Diags.hasUnrecoverableErrorOccurred())
-        return;
+  void CompleteExternalDeclaration(DeclaratorDecl *D) override {
+    Builder->EmitExternalDeclaration(D);
+  }
 
-      Builder->EmitVTable(RD);
-    }
-  };
+  void HandleVTable(CXXRecordDecl *RD) override {
+    if (Diags.hasUnrecoverableErrorOccurred())
+      return;
+
+    Builder->EmitVTable(RD);
+  }
+};
 }
 
 void CodeGenerator::anchor() { }

``````````

</details>


https://github.com/llvm/llvm-project/pull/175239
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to