diff options
author | Boaz Brickner <brickner@google.com> | 2024-10-18 10:11:14 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-18 10:11:14 +0200 |
commit | 09cc75e2ccc3616e1cb3b17f2fb99cb3bb323b12 (patch) | |
tree | 3fb09cfb81653281ca4a9647f3a2d71106d31ce4 /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | 508fd966fb00428ccd1dd7ddeb636fb7393029ec (diff) | |
download | llvm-09cc75e2ccc3616e1cb3b17f2fb99cb3bb323b12.zip llvm-09cc75e2ccc3616e1cb3b17f2fb99cb3bb323b12.tar.gz llvm-09cc75e2ccc3616e1cb3b17f2fb99cb3bb323b12.tar.bz2 |
[clang] Deduplicate the logic that only warns once when stack is almost full (#112552)
Zero diff in behavior.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
-rw-r--r-- | clang/lib/CodeGen/CodeGenModule.cpp | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp index 9a84a11..24655b8 100644 --- a/clang/lib/CodeGen/CodeGenModule.cpp +++ b/clang/lib/CodeGen/CodeGenModule.cpp @@ -342,7 +342,7 @@ CodeGenModule::CodeGenModule(ASTContext &C, : Context(C), LangOpts(C.getLangOpts()), FS(FS), HeaderSearchOpts(HSO), PreprocessorOpts(PPO), CodeGenOpts(CGO), TheModule(M), Diags(diags), Target(C.getTargetInfo()), ABI(createCXXABI(*this)), - VMContext(M.getContext()), VTables(*this), + VMContext(M.getContext()), VTables(*this), StackHandler(diags), SanitizerMD(new SanitizerMetadata(*this)) { // Initialize the type cache. @@ -1595,17 +1595,9 @@ void CodeGenModule::ErrorUnsupported(const Decl *D, const char *Type) { getDiags().Report(Context.getFullLoc(D->getLocation()), DiagID) << Msg; } -void CodeGenModule::warnStackExhausted(SourceLocation Loc) { - // Only warn about this once. - if (!WarnedStackExhausted) { - getDiags().Report(Loc, diag::warn_stack_exhausted); - WarnedStackExhausted = true; - } -} - void CodeGenModule::runWithSufficientStackSpace(SourceLocation Loc, llvm::function_ref<void()> Fn) { - clang::runWithSufficientStackSpace([&] { warnStackExhausted(Loc); }, Fn); + StackHandler.runWithSufficientStackSpace(Loc, Fn); } llvm::ConstantInt *CodeGenModule::getSize(CharUnits size) { |