diff options
author | Kazu Hirata <kazu@google.com> | 2025-05-22 12:44:20 -0700 |
---|---|---|
committer | Kazu Hirata <kazu@google.com> | 2025-05-22 12:44:20 -0700 |
commit | e2a885537f11f8d9ced1c80c2c90069ab5adeb1d (patch) | |
tree | d838fa124762f02c1b2ce921f667beb29acfee7b /clang/lib/Frontend/CreateInvocationFromCommandLine.cpp | |
parent | e23a6921b47d2cfb4d27289149079e9d77aa0560 (diff) | |
download | llvm-e2a885537f11f8d9ced1c80c2c90069ab5adeb1d.zip llvm-e2a885537f11f8d9ced1c80c2c90069ab5adeb1d.tar.gz llvm-e2a885537f11f8d9ced1c80c2c90069ab5adeb1d.tar.bz2 |
Revert "[clang] Remove intrusive reference count from `DiagnosticOptions` (#139584)"
This reverts commit 9e306ad4600c4d3392c194a8be88919ee758425c.
Multiple builtbot failures have been reported:
https://github.com/llvm/llvm-project/pull/139584
Diffstat (limited to 'clang/lib/Frontend/CreateInvocationFromCommandLine.cpp')
-rw-r--r-- | clang/lib/Frontend/CreateInvocationFromCommandLine.cpp | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/clang/lib/Frontend/CreateInvocationFromCommandLine.cpp b/clang/lib/Frontend/CreateInvocationFromCommandLine.cpp index 99212b8..d0b855f 100644 --- a/clang/lib/Frontend/CreateInvocationFromCommandLine.cpp +++ b/clang/lib/Frontend/CreateInvocationFromCommandLine.cpp @@ -31,15 +31,11 @@ std::unique_ptr<CompilerInvocation> clang::createInvocation(ArrayRef<const char *> ArgList, CreateInvocationOptions Opts) { assert(!ArgList.empty()); - std::optional<DiagnosticOptions> LocalDiagOpts; - IntrusiveRefCntPtr<DiagnosticsEngine> Diags; - if (Opts.Diags) { - Diags = std::move(Opts.Diags); - } else { - LocalDiagOpts.emplace(); - Diags = CompilerInstance::createDiagnostics( - Opts.VFS ? *Opts.VFS : *llvm::vfs::getRealFileSystem(), *LocalDiagOpts); - } + auto Diags = Opts.Diags + ? std::move(Opts.Diags) + : CompilerInstance::createDiagnostics( + Opts.VFS ? *Opts.VFS : *llvm::vfs::getRealFileSystem(), + new DiagnosticOptions); SmallVector<const char *, 16> Args(ArgList); |