aboutsummaryrefslogtreecommitdiff
path: root/clang/unittests
diff options
context:
space:
mode:
authorJan Svoboda <jan_svoboda@apple.com>2025-05-22 12:51:28 -0700
committerJan Svoboda <jan_svoboda@apple.com>2025-05-22 12:52:03 -0700
commit13e1a2cb2246dc5e9a4afcdacabed4d43154ec3f (patch)
tree44ef419d0d5533ac9464061a6801ed0db1c93a49 /clang/unittests
parent45f6036533bd30966f5e815568b792a7e293a0e8 (diff)
downloadllvm-13e1a2cb2246dc5e9a4afcdacabed4d43154ec3f.zip
llvm-13e1a2cb2246dc5e9a4afcdacabed4d43154ec3f.tar.gz
llvm-13e1a2cb2246dc5e9a4afcdacabed4d43154ec3f.tar.bz2
Reapply "[clang] Remove intrusive reference count from `DiagnosticOptions` (#139584)"
This reverts commit e2a885537f11f8d9ced1c80c2c90069ab5adeb1d. Build failures were fixed right away and reverting the original commit without the fixes breaks the build again.
Diffstat (limited to 'clang/unittests')
-rw-r--r--clang/unittests/AST/ASTVectorTest.cpp3
-rw-r--r--clang/unittests/AST/CommentLexer.cpp10
-rw-r--r--clang/unittests/AST/CommentParser.cpp10
-rw-r--r--clang/unittests/AST/CommentTextTest.cpp3
-rw-r--r--clang/unittests/AST/ExternalASTSourceTest.cpp4
-rw-r--r--clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp5
-rw-r--r--clang/unittests/Analysis/MacroExpansionContextTest.cpp6
-rw-r--r--clang/unittests/Analysis/UnsafeBufferUsageTest.cpp3
-rw-r--r--clang/unittests/Basic/DiagnosticTest.cpp23
-rw-r--r--clang/unittests/Basic/SarifTest.cpp6
-rw-r--r--clang/unittests/Basic/SourceManagerTest.cpp9
-rw-r--r--clang/unittests/Driver/DXCModeTest.cpp12
-rw-r--r--clang/unittests/Driver/SanitizerArgsTest.cpp7
-rw-r--r--clang/unittests/Driver/SimpleDiagnosticConsumer.h5
-rw-r--r--clang/unittests/Driver/ToolChainTest.cpp71
-rw-r--r--clang/unittests/Frontend/ASTUnitTest.cpp37
-rw-r--r--clang/unittests/Frontend/CompilerInstanceTest.cpp11
-rw-r--r--clang/unittests/Frontend/CompilerInvocationTest.cpp3
-rw-r--r--clang/unittests/Frontend/OutputStreamTest.cpp12
-rw-r--r--clang/unittests/Frontend/PCHPreambleTest.cpp7
-rw-r--r--clang/unittests/Frontend/ReparseWorkingDirTest.cpp6
-rw-r--r--clang/unittests/Frontend/SearchPathTest.cpp4
-rw-r--r--clang/unittests/Frontend/TextDiagnosticTest.cpp8
-rw-r--r--clang/unittests/Frontend/UtilsTest.cpp9
-rw-r--r--clang/unittests/Interpreter/InterpreterTest.cpp15
-rw-r--r--clang/unittests/Lex/HeaderSearchTest.cpp3
-rw-r--r--clang/unittests/Lex/LexerTest.cpp10
-rw-r--r--clang/unittests/Lex/ModuleDeclStateTest.cpp3
-rw-r--r--clang/unittests/Lex/PPCallbacksTest.cpp8
-rw-r--r--clang/unittests/Lex/PPConditionalDirectiveRecordTest.cpp10
-rw-r--r--clang/unittests/Lex/PPDependencyDirectivesTest.cpp3
-rw-r--r--clang/unittests/Lex/PPMemoryAllocationsTest.cpp3
-rw-r--r--clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp4
-rw-r--r--clang/unittests/Sema/SemaNoloadLookupTest.cpp4
-rw-r--r--clang/unittests/Serialization/ForceCheckFileInputTest.cpp8
-rw-r--r--clang/unittests/Serialization/LoadSpecLazilyTest.cpp3
-rw-r--r--clang/unittests/Serialization/ModuleCacheTest.cpp6
-rw-r--r--clang/unittests/Serialization/NoCommentsTest.cpp3
-rw-r--r--clang/unittests/Serialization/PreambleInNamedModulesTest.cpp3
-rw-r--r--clang/unittests/Serialization/VarDeclConstantInitTest.cpp3
-rw-r--r--clang/unittests/Support/TimeProfilerTest.cpp4
-rw-r--r--clang/unittests/Tooling/RewriterTestContext.h9
-rw-r--r--clang/unittests/Tooling/Syntax/TokensTest.cpp3
-rw-r--r--clang/unittests/Tooling/Syntax/TreeTestBase.cpp2
-rw-r--r--clang/unittests/Tooling/Syntax/TreeTestBase.h4
-rw-r--r--clang/unittests/Tooling/ToolingTest.cpp8
46 files changed, 206 insertions, 187 deletions
diff --git a/clang/unittests/AST/ASTVectorTest.cpp b/clang/unittests/AST/ASTVectorTest.cpp
index 1c17eb9..66003b4 100644
--- a/clang/unittests/AST/ASTVectorTest.cpp
+++ b/clang/unittests/AST/ASTVectorTest.cpp
@@ -27,13 +27,14 @@ class ASTVectorTest : public ::testing::Test {
protected:
ASTVectorTest()
: FileMgr(FileMgrOpts), DiagID(new DiagnosticIDs()),
- Diags(DiagID, new DiagnosticOptions, new IgnoringDiagConsumer()),
+ Diags(DiagID, DiagOpts, new IgnoringDiagConsumer()),
SourceMgr(Diags, FileMgr), Idents(LangOpts, nullptr),
Ctxt(LangOpts, SourceMgr, Idents, Sels, Builtins, TU_Complete) {}
FileSystemOptions FileMgrOpts;
FileManager FileMgr;
IntrusiveRefCntPtr<DiagnosticIDs> DiagID;
+ DiagnosticOptions DiagOpts;
DiagnosticsEngine Diags;
SourceManager SourceMgr;
LangOptions LangOpts;
diff --git a/clang/unittests/AST/CommentLexer.cpp b/clang/unittests/AST/CommentLexer.cpp
index 22866f0..dc10dae 100644
--- a/clang/unittests/AST/CommentLexer.cpp
+++ b/clang/unittests/AST/CommentLexer.cpp
@@ -27,16 +27,14 @@ namespace {
class CommentLexerTest : public ::testing::Test {
protected:
CommentLexerTest()
- : FileMgr(FileMgrOpts),
- DiagID(new DiagnosticIDs()),
- Diags(DiagID, new DiagnosticOptions, new IgnoringDiagConsumer()),
- SourceMgr(Diags, FileMgr),
- Traits(Allocator, CommentOptions()) {
- }
+ : FileMgr(FileMgrOpts), DiagID(new DiagnosticIDs()),
+ Diags(DiagID, DiagOpts, new IgnoringDiagConsumer()),
+ SourceMgr(Diags, FileMgr), Traits(Allocator, CommentOptions()) {}
FileSystemOptions FileMgrOpts;
FileManager FileMgr;
IntrusiveRefCntPtr<DiagnosticIDs> DiagID;
+ DiagnosticOptions DiagOpts;
DiagnosticsEngine Diags;
SourceManager SourceMgr;
llvm::BumpPtrAllocator Allocator;
diff --git a/clang/unittests/AST/CommentParser.cpp b/clang/unittests/AST/CommentParser.cpp
index aa08b67..67fabe5 100644
--- a/clang/unittests/AST/CommentParser.cpp
+++ b/clang/unittests/AST/CommentParser.cpp
@@ -33,16 +33,14 @@ const bool MY_DEBUG = true;
class CommentParserTest : public ::testing::Test {
protected:
CommentParserTest()
- : FileMgr(FileMgrOpts),
- DiagID(new DiagnosticIDs()),
- Diags(DiagID, new DiagnosticOptions, new IgnoringDiagConsumer()),
- SourceMgr(Diags, FileMgr),
- Traits(Allocator, CommentOptions()) {
- }
+ : FileMgr(FileMgrOpts), DiagID(new DiagnosticIDs()),
+ Diags(DiagID, DiagOpts, new IgnoringDiagConsumer()),
+ SourceMgr(Diags, FileMgr), Traits(Allocator, CommentOptions()) {}
FileSystemOptions FileMgrOpts;
FileManager FileMgr;
IntrusiveRefCntPtr<DiagnosticIDs> DiagID;
+ DiagnosticOptions DiagOpts;
DiagnosticsEngine Diags;
SourceManager SourceMgr;
llvm::BumpPtrAllocator Allocator;
diff --git a/clang/unittests/AST/CommentTextTest.cpp b/clang/unittests/AST/CommentTextTest.cpp
index b697828..84ec51a 100644
--- a/clang/unittests/AST/CommentTextTest.cpp
+++ b/clang/unittests/AST/CommentTextTest.cpp
@@ -43,7 +43,8 @@ protected:
// FIXME: technically, merged that we set here is incorrect, but that
// shouldn't matter.
RawComment Comment(SourceMgr, CommentRange, EmptyOpts, /*Merged=*/true);
- DiagnosticsEngine Diags(new DiagnosticIDs, new DiagnosticOptions);
+ DiagnosticOptions DiagOpts;
+ DiagnosticsEngine Diags(new DiagnosticIDs, DiagOpts);
return Comment.getFormattedText(SourceMgr, Diags);
}
};
diff --git a/clang/unittests/AST/ExternalASTSourceTest.cpp b/clang/unittests/AST/ExternalASTSourceTest.cpp
index 807bab1..11715bb 100644
--- a/clang/unittests/AST/ExternalASTSourceTest.cpp
+++ b/clang/unittests/AST/ExternalASTSourceTest.cpp
@@ -51,9 +51,9 @@ bool testExternalASTSource(ExternalASTSource *Source, StringRef FileContents) {
"test.cc", MemoryBuffer::getMemBuffer(FileContents).release());
const char *Args[] = { "test.cc" };
- auto InvocationDiagOpts = llvm::makeIntrusiveRefCnt<DiagnosticOptions>();
+ DiagnosticOptions InvocationDiagOpts;
auto InvocationDiags = CompilerInstance::createDiagnostics(
- *llvm::vfs::getRealFileSystem(), InvocationDiagOpts.get());
+ *llvm::vfs::getRealFileSystem(), InvocationDiagOpts);
CompilerInvocation::CreateFromArgs(*Invocation, Args, *InvocationDiags);
CompilerInstance Compiler(std::move(Invocation));
diff --git a/clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp b/clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
index 6f69ccb..1dd0783 100644
--- a/clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
+++ b/clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
@@ -1388,10 +1388,9 @@ protected:
unsigned Line = SrcMgr.getPresumedLineNumber(Diag.Range.getBegin());
DiagnosticLines.insert(Line);
if (!AnnotationLines.contains(Line)) {
- IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts(
- new DiagnosticOptions());
+ DiagnosticOptions DiagOpts;
TextDiagnostic TD(llvm::errs(), AO.ASTCtx.getLangOpts(),
- DiagOpts.get());
+ DiagOpts);
TD.emitDiagnostic(FullSourceLoc(Diag.Range.getBegin(), SrcMgr),
DiagnosticsEngine::Error,
"unexpected diagnostic", {Diag.Range}, {});
diff --git a/clang/unittests/Analysis/MacroExpansionContextTest.cpp b/clang/unittests/Analysis/MacroExpansionContextTest.cpp
index 929d412..9874ea6 100644
--- a/clang/unittests/Analysis/MacroExpansionContextTest.cpp
+++ b/clang/unittests/Analysis/MacroExpansionContextTest.cpp
@@ -35,8 +35,8 @@ protected:
MacroExpansionContextTest()
: InMemoryFileSystem(new llvm::vfs::InMemoryFileSystem),
FileMgr(FileSystemOptions(), InMemoryFileSystem),
- DiagID(new DiagnosticIDs()), DiagOpts(new DiagnosticOptions()),
- Diags(DiagID, DiagOpts.get(), new IgnoringDiagConsumer()),
+ DiagID(new DiagnosticIDs()),
+ Diags(DiagID, DiagOpts, new IgnoringDiagConsumer()),
SourceMgr(Diags, FileMgr), TargetOpts(new TargetOptions()) {
TargetOpts->Triple = "x86_64-pc-linux-unknown";
Target = TargetInfo::CreateTargetInfo(Diags, *TargetOpts);
@@ -46,7 +46,7 @@ protected:
IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem> InMemoryFileSystem;
FileManager FileMgr;
IntrusiveRefCntPtr<DiagnosticIDs> DiagID;
- IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts;
+ DiagnosticOptions DiagOpts;
DiagnosticsEngine Diags;
SourceManager SourceMgr;
LangOptions LangOpts;
diff --git a/clang/unittests/Analysis/UnsafeBufferUsageTest.cpp b/clang/unittests/Analysis/UnsafeBufferUsageTest.cpp
index e48f39b..9da2c58 100644
--- a/clang/unittests/Analysis/UnsafeBufferUsageTest.cpp
+++ b/clang/unittests/Analysis/UnsafeBufferUsageTest.cpp
@@ -13,12 +13,13 @@ class UnsafeBufferUsageTest : public ::testing::Test {
protected:
UnsafeBufferUsageTest()
: FileMgr(FileMgrOpts), DiagID(new DiagnosticIDs()),
- Diags(DiagID, new DiagnosticOptions, new IgnoringDiagConsumer()),
+ Diags(DiagID, DiagOpts, new IgnoringDiagConsumer()),
SourceMgr(Diags, FileMgr) {}
FileSystemOptions FileMgrOpts;
FileManager FileMgr;
IntrusiveRefCntPtr<DiagnosticIDs> DiagID;
+ DiagnosticOptions DiagOpts;
DiagnosticsEngine Diags;
SourceManager SourceMgr;
};
diff --git a/clang/unittests/Basic/DiagnosticTest.cpp b/clang/unittests/Basic/DiagnosticTest.cpp
index 88fa180..b0a034e 100644
--- a/clang/unittests/Basic/DiagnosticTest.cpp
+++ b/clang/unittests/Basic/DiagnosticTest.cpp
@@ -46,8 +46,8 @@ using testing::IsEmpty;
// Check that DiagnosticErrorTrap works with SuppressAllDiagnostics.
TEST(DiagnosticTest, suppressAndTrap) {
- DiagnosticsEngine Diags(new DiagnosticIDs(),
- new DiagnosticOptions,
+ DiagnosticOptions DiagOpts;
+ DiagnosticsEngine Diags(new DiagnosticIDs(), DiagOpts,
new IgnoringDiagConsumer());
Diags.setSuppressAllDiagnostics(true);
@@ -77,8 +77,8 @@ TEST(DiagnosticTest, suppressAndTrap) {
// Check that FatalsAsError works as intended
TEST(DiagnosticTest, fatalsAsError) {
for (unsigned FatalsAsError = 0; FatalsAsError != 2; ++FatalsAsError) {
- DiagnosticsEngine Diags(new DiagnosticIDs(),
- new DiagnosticOptions,
+ DiagnosticOptions DiagOpts;
+ DiagnosticsEngine Diags(new DiagnosticIDs(), DiagOpts,
new IgnoringDiagConsumer());
Diags.setFatalsAsError(FatalsAsError);
@@ -101,7 +101,8 @@ TEST(DiagnosticTest, fatalsAsError) {
}
TEST(DiagnosticTest, tooManyErrorsIsAlwaysFatal) {
- DiagnosticsEngine Diags(new DiagnosticIDs(), new DiagnosticOptions,
+ DiagnosticOptions DiagOpts;
+ DiagnosticsEngine Diags(new DiagnosticIDs(), DiagOpts,
new IgnoringDiagConsumer());
Diags.setFatalsAsError(true);
@@ -117,7 +118,8 @@ TEST(DiagnosticTest, tooManyErrorsIsAlwaysFatal) {
// Check that soft RESET works as intended
TEST(DiagnosticTest, softReset) {
- DiagnosticsEngine Diags(new DiagnosticIDs(), new DiagnosticOptions,
+ DiagnosticOptions DiagOpts;
+ DiagnosticsEngine Diags(new DiagnosticIDs(), DiagOpts,
new IgnoringDiagConsumer());
unsigned numWarnings = 0U, numErrors = 0U;
@@ -140,7 +142,8 @@ TEST(DiagnosticTest, softReset) {
}
TEST(DiagnosticTest, diagnosticError) {
- DiagnosticsEngine Diags(new DiagnosticIDs(), new DiagnosticOptions,
+ DiagnosticOptions DiagOpts;
+ DiagnosticsEngine Diags(new DiagnosticIDs(), DiagOpts,
new IgnoringDiagConsumer());
PartialDiagnostic::DiagStorageAllocator Alloc;
llvm::Expected<std::pair<int, int>> Value = DiagnosticError::create(
@@ -162,7 +165,8 @@ TEST(DiagnosticTest, diagnosticError) {
}
TEST(DiagnosticTest, storedDiagEmptyWarning) {
- DiagnosticsEngine Diags(new DiagnosticIDs(), new DiagnosticOptions);
+ DiagnosticOptions DiagOpts;
+ DiagnosticsEngine Diags(new DiagnosticIDs(), DiagOpts);
class CaptureDiagnosticConsumer : public DiagnosticConsumer {
public:
@@ -192,7 +196,8 @@ public:
protected:
llvm::IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem> FS =
llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>();
- DiagnosticsEngine Diags{new DiagnosticIDs(), new DiagnosticOptions};
+ DiagnosticOptions DiagOpts;
+ DiagnosticsEngine Diags{new DiagnosticIDs(), DiagOpts};
llvm::ArrayRef<StoredDiagnostic> diags() {
return CaptureConsumer.StoredDiags;
diff --git a/clang/unittests/Basic/SarifTest.cpp b/clang/unittests/Basic/SarifTest.cpp
index febfbab..ad9f8ec 100644
--- a/clang/unittests/Basic/SarifTest.cpp
+++ b/clang/unittests/Basic/SarifTest.cpp
@@ -43,14 +43,14 @@ protected:
SarifDocumentWriterTest()
: InMemoryFileSystem(new llvm::vfs::InMemoryFileSystem),
FileMgr(FileSystemOptions(), InMemoryFileSystem),
- DiagID(new DiagnosticIDs()), DiagOpts(new DiagnosticOptions()),
- Diags(DiagID, DiagOpts.get(), new IgnoringDiagConsumer()),
+ DiagID(new DiagnosticIDs()),
+ Diags(DiagID, DiagOpts, new IgnoringDiagConsumer()),
SourceMgr(Diags, FileMgr) {}
IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem> InMemoryFileSystem;
FileManager FileMgr;
IntrusiveRefCntPtr<DiagnosticIDs> DiagID;
- IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts;
+ DiagnosticOptions DiagOpts;
DiagnosticsEngine Diags;
SourceManager SourceMgr;
LangOptions LangOpts;
diff --git a/clang/unittests/Basic/SourceManagerTest.cpp b/clang/unittests/Basic/SourceManagerTest.cpp
index 1f0986f..cbe047b 100644
--- a/clang/unittests/Basic/SourceManagerTest.cpp
+++ b/clang/unittests/Basic/SourceManagerTest.cpp
@@ -40,11 +40,9 @@ namespace {
class SourceManagerTest : public ::testing::Test {
protected:
SourceManagerTest()
- : FileMgr(FileMgrOpts),
- DiagID(new DiagnosticIDs()),
- Diags(DiagID, new DiagnosticOptions, new IgnoringDiagConsumer()),
- SourceMgr(Diags, FileMgr),
- TargetOpts(new TargetOptions) {
+ : FileMgr(FileMgrOpts), DiagID(new DiagnosticIDs()),
+ Diags(DiagID, DiagOpts, new IgnoringDiagConsumer()),
+ SourceMgr(Diags, FileMgr), TargetOpts(new TargetOptions) {
TargetOpts->Triple = "x86_64-apple-darwin11.1.0";
Target = TargetInfo::CreateTargetInfo(Diags, *TargetOpts);
}
@@ -52,6 +50,7 @@ protected:
FileSystemOptions FileMgrOpts;
FileManager FileMgr;
IntrusiveRefCntPtr<DiagnosticIDs> DiagID;
+ DiagnosticOptions DiagOpts;
DiagnosticsEngine Diags;
SourceManager SourceMgr;
LangOptions LangOpts;
diff --git a/clang/unittests/Driver/DXCModeTest.cpp b/clang/unittests/Driver/DXCModeTest.cpp
index 616c07c..f684593 100644
--- a/clang/unittests/Driver/DXCModeTest.cpp
+++ b/clang/unittests/Driver/DXCModeTest.cpp
@@ -64,8 +64,8 @@ TEST(DxcModeTest, TargetProfileValidation) {
llvm::MemoryBuffer::getMemBuffer("\n"));
auto *DiagConsumer = new SimpleDiagnosticConsumer;
- IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
- DiagnosticsEngine Diags(DiagID, &*DiagOpts, DiagConsumer);
+ DiagnosticOptions DiagOpts;
+ DiagnosticsEngine Diags(DiagID, DiagOpts, DiagConsumer);
validateTargetProfile("-Tvs_6_0", "dxilv1.0--shadermodel6.0-vertex",
InMemoryFileSystem, Diags);
@@ -114,8 +114,8 @@ TEST(DxcModeTest, ValidatorVersionValidation) {
llvm::MemoryBuffer::getMemBuffer("\n"));
auto *DiagConsumer = new SimpleDiagnosticConsumer;
- IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
- DiagnosticsEngine Diags(DiagID, &*DiagOpts, DiagConsumer);
+ DiagnosticOptions DiagOpts;
+ DiagnosticsEngine Diags(DiagID, DiagOpts, DiagConsumer);
Driver TheDriver("/bin/clang", "", Diags, "", InMemoryFileSystem);
std::unique_ptr<Compilation> C(TheDriver.BuildCompilation(
{"clang", "--driver-mode=dxc", "-Tlib_6_7", "foo.hlsl"}));
@@ -218,9 +218,9 @@ TEST(DxcModeTest, DefaultEntry) {
const char *Args[] = {"clang", "--driver-mode=dxc", "-Tcs_6_7", "foo.hlsl"};
+ DiagnosticOptions DiagOpts;
IntrusiveRefCntPtr<DiagnosticsEngine> Diags =
- CompilerInstance::createDiagnostics(*InMemoryFileSystem,
- new DiagnosticOptions());
+ CompilerInstance::createDiagnostics(*InMemoryFileSystem, DiagOpts);
CreateInvocationOptions CIOpts;
CIOpts.Diags = Diags;
diff --git a/clang/unittests/Driver/SanitizerArgsTest.cpp b/clang/unittests/Driver/SanitizerArgsTest.cpp
index 5a42210..b8bfc68 100644
--- a/clang/unittests/Driver/SanitizerArgsTest.cpp
+++ b/clang/unittests/Driver/SanitizerArgsTest.cpp
@@ -52,10 +52,9 @@ protected:
std::vector<std::string> ExtraFiles) {
assert(!DriverInstance && "Running twice is not allowed");
- llvm::IntrusiveRefCntPtr<DiagnosticOptions> Opts = new DiagnosticOptions;
- DiagnosticsEngine Diags(
- new DiagnosticIDs, Opts,
- new TextDiagnosticPrinter(llvm::errs(), Opts.get()));
+ DiagnosticOptions DiagOpts;
+ DiagnosticsEngine Diags(new DiagnosticIDs, DiagOpts,
+ new TextDiagnosticPrinter(llvm::errs(), DiagOpts));
DriverInstance.emplace(ClangBinary, "x86_64-unknown-linux-gnu", Diags,
"clang LLVM compiler", prepareFS(ExtraFiles));
diff --git a/clang/unittests/Driver/SimpleDiagnosticConsumer.h b/clang/unittests/Driver/SimpleDiagnosticConsumer.h
index 6515bde..c3772ba 100644
--- a/clang/unittests/Driver/SimpleDiagnosticConsumer.h
+++ b/clang/unittests/Driver/SimpleDiagnosticConsumer.h
@@ -47,9 +47,8 @@ inline clang::driver::Driver diagnostic_test_driver() {
llvm::IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem> InMemoryFileSystem(
new llvm::vfs::InMemoryFileSystem);
auto *DiagConsumer = new SimpleDiagnosticConsumer;
- llvm::IntrusiveRefCntPtr<clang::DiagnosticOptions> DiagOpts =
- new clang::DiagnosticOptions();
- clang::DiagnosticsEngine Diags(DiagID, &*DiagOpts, DiagConsumer);
+ clang::DiagnosticOptions DiagOpts;
+ clang::DiagnosticsEngine Diags(DiagID, DiagOpts, DiagConsumer);
return clang::driver::Driver("/bin/clang", "", Diags, "", InMemoryFileSystem);
}
diff --git a/clang/unittests/Driver/ToolChainTest.cpp b/clang/unittests/Driver/ToolChainTest.cpp
index c1ffe4a..670090a 100644
--- a/clang/unittests/Driver/ToolChainTest.cpp
+++ b/clang/unittests/Driver/ToolChainTest.cpp
@@ -38,7 +38,7 @@ using namespace clang::driver;
namespace {
TEST(ToolChainTest, VFSGCCInstallation) {
- IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
+ DiagnosticOptions DiagOpts;
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
struct TestDiagnosticConsumer : public DiagnosticConsumer {};
@@ -84,7 +84,7 @@ TEST(ToolChainTest, VFSGCCInstallation) {
llvm::MemoryBuffer::getMemBuffer("\n"));
{
- DiagnosticsEngine Diags(DiagID, &*DiagOpts, new TestDiagnosticConsumer);
+ DiagnosticsEngine Diags(DiagID, DiagOpts, new TestDiagnosticConsumer);
Driver TheDriver("/bin/clang", "arm-linux-gnueabihf", Diags,
"clang LLVM compiler", InMemoryFileSystem);
std::unique_ptr<Compilation> C(TheDriver.BuildCompilation(
@@ -107,7 +107,8 @@ TEST(ToolChainTest, VFSGCCInstallation) {
}
{
- DiagnosticsEngine Diags(DiagID, &*DiagOpts, new TestDiagnosticConsumer);
+ DiagnosticOptions DiagOpts;
+ DiagnosticsEngine Diags(DiagID, DiagOpts, new TestDiagnosticConsumer);
Driver TheDriver("/bin/clang", "arm-linux-gnueabihf", Diags,
"clang LLVM compiler", InMemoryFileSystem);
std::unique_ptr<Compilation> C(TheDriver.BuildCompilation(
@@ -134,11 +135,11 @@ TEST(ToolChainTest, VFSGCCInstallation) {
}
TEST(ToolChainTest, VFSGCCInstallationRelativeDir) {
- IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
+ DiagnosticOptions DiagOpts;
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
struct TestDiagnosticConsumer : public DiagnosticConsumer {};
- DiagnosticsEngine Diags(DiagID, &*DiagOpts, new TestDiagnosticConsumer);
+ DiagnosticsEngine Diags(DiagID, DiagOpts, new TestDiagnosticConsumer);
IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem> InMemoryFileSystem(
new llvm::vfs::InMemoryFileSystem);
Driver TheDriver("/home/test/bin/clang", "arm-linux-gnueabi", Diags,
@@ -173,7 +174,7 @@ TEST(ToolChainTest, VFSGCCInstallationRelativeDir) {
}
TEST(ToolChainTest, VFSSolarisMultiGCCInstallation) {
- IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
+ DiagnosticOptions DiagOpts;
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
struct TestDiagnosticConsumer : public DiagnosticConsumer {};
@@ -201,7 +202,7 @@ TEST(ToolChainTest, VFSSolarisMultiGCCInstallation) {
llvm::MemoryBuffer::getMemBuffer("\n"));
{
- DiagnosticsEngine Diags(DiagID, &*DiagOpts, new TestDiagnosticConsumer);
+ DiagnosticsEngine Diags(DiagID, DiagOpts, new TestDiagnosticConsumer);
Driver TheDriver("/bin/clang", "i386-pc-solaris2.11", Diags,
"clang LLVM compiler", InMemoryFileSystem);
std::unique_ptr<Compilation> C(
@@ -225,7 +226,7 @@ TEST(ToolChainTest, VFSSolarisMultiGCCInstallation) {
}
{
- DiagnosticsEngine Diags(DiagID, &*DiagOpts, new TestDiagnosticConsumer);
+ DiagnosticsEngine Diags(DiagID, DiagOpts, new TestDiagnosticConsumer);
Driver TheDriver("/bin/clang", "amd64-pc-solaris2.11", Diags,
"clang LLVM compiler", InMemoryFileSystem);
std::unique_ptr<Compilation> C(
@@ -249,7 +250,7 @@ TEST(ToolChainTest, VFSSolarisMultiGCCInstallation) {
}
{
- DiagnosticsEngine Diags(DiagID, &*DiagOpts, new TestDiagnosticConsumer);
+ DiagnosticsEngine Diags(DiagID, DiagOpts, new TestDiagnosticConsumer);
Driver TheDriver("/bin/clang", "x86_64-pc-solaris2.11", Diags,
"clang LLVM compiler", InMemoryFileSystem);
std::unique_ptr<Compilation> C(
@@ -273,7 +274,7 @@ TEST(ToolChainTest, VFSSolarisMultiGCCInstallation) {
}
{
- DiagnosticsEngine Diags(DiagID, &*DiagOpts, new TestDiagnosticConsumer);
+ DiagnosticsEngine Diags(DiagID, DiagOpts, new TestDiagnosticConsumer);
Driver TheDriver("/bin/clang", "sparc-sun-solaris2.11", Diags,
"clang LLVM compiler", InMemoryFileSystem);
std::unique_ptr<Compilation> C(
@@ -296,7 +297,7 @@ TEST(ToolChainTest, VFSSolarisMultiGCCInstallation) {
S);
}
{
- DiagnosticsEngine Diags(DiagID, &*DiagOpts, new TestDiagnosticConsumer);
+ DiagnosticsEngine Diags(DiagID, DiagOpts, new TestDiagnosticConsumer);
Driver TheDriver("/bin/clang", "sparcv9-sun-solaris2.11", Diags,
"clang LLVM compiler", InMemoryFileSystem);
std::unique_ptr<Compilation> C(
@@ -337,7 +338,7 @@ MATCHER_P(jobHasArgs, Substr, "") {
}
TEST(ToolChainTest, VFSGnuLibcxxPathNoSysroot) {
- IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
+ DiagnosticOptions DiagOpts;
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
struct TestDiagnosticConsumer : public DiagnosticConsumer {};
@@ -355,7 +356,7 @@ TEST(ToolChainTest, VFSGnuLibcxxPathNoSysroot) {
llvm::MemoryBuffer::getMemBuffer("\n"));
{
- DiagnosticsEngine Diags(DiagID, &*DiagOpts, new TestDiagnosticConsumer);
+ DiagnosticsEngine Diags(DiagID, DiagOpts, new TestDiagnosticConsumer);
Driver TheDriver("/bin/clang", "x86_64-unknown-linux-gnu", Diags,
"clang LLVM compiler", InMemoryFileSystem);
std::unique_ptr<Compilation> C(TheDriver.BuildCompilation(
@@ -368,11 +369,11 @@ TEST(ToolChainTest, VFSGnuLibcxxPathNoSysroot) {
}
TEST(ToolChainTest, DefaultDriverMode) {
- IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
+ DiagnosticOptions DiagOpts;
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
struct TestDiagnosticConsumer : public DiagnosticConsumer {};
- DiagnosticsEngine Diags(DiagID, &*DiagOpts, new TestDiagnosticConsumer);
+ DiagnosticsEngine Diags(DiagID, DiagOpts, new TestDiagnosticConsumer);
IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem> InMemoryFileSystem(
new llvm::vfs::InMemoryFileSystem);
@@ -403,8 +404,8 @@ TEST(ToolChainTest, DefaultDriverMode) {
TEST(ToolChainTest, InvalidArgument) {
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
struct TestDiagnosticConsumer : public DiagnosticConsumer {};
- IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
- DiagnosticsEngine Diags(DiagID, &*DiagOpts, new TestDiagnosticConsumer);
+ DiagnosticOptions DiagOpts;
+ DiagnosticsEngine Diags(DiagID, DiagOpts, new TestDiagnosticConsumer);
Driver TheDriver("/bin/clang", "arm-linux-gnueabihf", Diags);
std::unique_ptr<Compilation> C(TheDriver.BuildCompilation(
{"-fsyntax-only", "-fan-unknown-option", "foo.cpp"}));
@@ -514,11 +515,11 @@ TEST(ToolChainTest, GetTargetAndMode) {
}
TEST(ToolChainTest, CommandOutput) {
- IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
+ DiagnosticOptions DiagOpts;
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
struct TestDiagnosticConsumer : public DiagnosticConsumer {};
- DiagnosticsEngine Diags(DiagID, &*DiagOpts, new TestDiagnosticConsumer);
+ DiagnosticsEngine Diags(DiagID, DiagOpts, new TestDiagnosticConsumer);
IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem> InMemoryFileSystem(
new llvm::vfs::InMemoryFileSystem);
@@ -543,10 +544,10 @@ TEST(ToolChainTest, CommandOutput) {
}
TEST(ToolChainTest, PostCallback) {
- IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
+ DiagnosticOptions DiagOpts;
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
struct TestDiagnosticConsumer : public DiagnosticConsumer {};
- DiagnosticsEngine Diags(DiagID, &*DiagOpts, new TestDiagnosticConsumer);
+ DiagnosticsEngine Diags(DiagID, DiagOpts, new TestDiagnosticConsumer);
IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem> InMemoryFileSystem(
new llvm::vfs::InMemoryFileSystem);
@@ -596,10 +597,10 @@ TEST(ToolChainTest, UEFICallingConventionTest) {
}
TEST(ToolChainTest, UEFIDefaultDebugFormatTest) {
- IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
+ DiagnosticOptions DiagOpts;
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
struct TestDiagnosticConsumer : public DiagnosticConsumer {};
- DiagnosticsEngine Diags(DiagID, &*DiagOpts, new TestDiagnosticConsumer);
+ DiagnosticsEngine Diags(DiagID, DiagOpts, new TestDiagnosticConsumer);
IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem> InMemoryFileSystem(
new llvm::vfs::InMemoryFileSystem);
Driver CCDriver("/home/test/bin/clang", "x86_64-unknown-uefi", Diags,
@@ -638,10 +639,10 @@ struct SimpleDiagnosticConsumer : public DiagnosticConsumer {
};
TEST(ToolChainTest, ConfigFileSearch) {
- IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
+ DiagnosticOptions DiagOpts;
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
struct TestDiagnosticConsumer : public DiagnosticConsumer {};
- DiagnosticsEngine Diags(DiagID, &*DiagOpts, new TestDiagnosticConsumer);
+ DiagnosticsEngine Diags(DiagID, DiagOpts, new TestDiagnosticConsumer);
IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem> FS(
new llvm::vfs::InMemoryFileSystem);
@@ -715,11 +716,11 @@ struct FileSystemWithError : public llvm::vfs::FileSystem {
};
TEST(ToolChainTest, ConfigFileError) {
- IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
+ DiagnosticOptions DiagOpts;
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
std::unique_ptr<SimpleDiagnosticConsumer> DiagConsumer(
new SimpleDiagnosticConsumer());
- DiagnosticsEngine Diags(DiagID, &*DiagOpts, DiagConsumer.get(), false);
+ DiagnosticsEngine Diags(DiagID, DiagOpts, DiagConsumer.get(), false);
IntrusiveRefCntPtr<llvm::vfs::FileSystem> FS(new FileSystemWithError);
Driver TheDriver("/home/test/bin/clang", "arm-linux-gnueabi", Diags,
@@ -736,11 +737,11 @@ TEST(ToolChainTest, ConfigFileError) {
}
TEST(ToolChainTest, BadConfigFile) {
- IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
+ DiagnosticOptions DiagOpts;
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
std::unique_ptr<SimpleDiagnosticConsumer> DiagConsumer(
new SimpleDiagnosticConsumer());
- DiagnosticsEngine Diags(DiagID, &*DiagOpts, DiagConsumer.get(), false);
+ DiagnosticsEngine Diags(DiagID, DiagOpts, DiagConsumer.get(), false);
IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem> FS(
new llvm::vfs::InMemoryFileSystem);
@@ -810,11 +811,11 @@ TEST(ToolChainTest, BadConfigFile) {
}
TEST(ToolChainTest, ConfigInexistentInclude) {
- IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
+ DiagnosticOptions DiagOpts;
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
std::unique_ptr<SimpleDiagnosticConsumer> DiagConsumer(
new SimpleDiagnosticConsumer());
- DiagnosticsEngine Diags(DiagID, &*DiagOpts, DiagConsumer.get(), false);
+ DiagnosticsEngine Diags(DiagID, DiagOpts, DiagConsumer.get(), false);
IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem> FS(
new llvm::vfs::InMemoryFileSystem);
@@ -851,11 +852,11 @@ TEST(ToolChainTest, ConfigInexistentInclude) {
}
TEST(ToolChainTest, ConfigRecursiveInclude) {
- IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
+ DiagnosticOptions DiagOpts;
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
std::unique_ptr<SimpleDiagnosticConsumer> DiagConsumer(
new SimpleDiagnosticConsumer());
- DiagnosticsEngine Diags(DiagID, &*DiagOpts, DiagConsumer.get(), false);
+ DiagnosticsEngine Diags(DiagID, DiagOpts, DiagConsumer.get(), false);
IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem> FS(
new llvm::vfs::InMemoryFileSystem);
@@ -897,10 +898,10 @@ TEST(ToolChainTest, ConfigRecursiveInclude) {
}
TEST(ToolChainTest, NestedConfigFile) {
- IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
+ DiagnosticOptions DiagOpts;
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
struct TestDiagnosticConsumer : public DiagnosticConsumer {};
- DiagnosticsEngine Diags(DiagID, &*DiagOpts, new TestDiagnosticConsumer);
+ DiagnosticsEngine Diags(DiagID, DiagOpts, new TestDiagnosticConsumer);
IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem> FS(
new llvm::vfs::InMemoryFileSystem);
diff --git a/clang/unittests/Frontend/ASTUnitTest.cpp b/clang/unittests/Frontend/ASTUnitTest.cpp
index 08daca9..afa64b5 100644
--- a/clang/unittests/Frontend/ASTUnitTest.cpp
+++ b/clang/unittests/Frontend/ASTUnitTest.cpp
@@ -30,6 +30,8 @@ protected:
int FD;
llvm::SmallString<256> InputFileName;
std::unique_ptr<ToolOutputFile> input_file;
+ std::shared_ptr<DiagnosticOptions> DiagOpts =
+ std::make_shared<DiagnosticOptions>();
IntrusiveRefCntPtr<DiagnosticsEngine> Diags;
std::shared_ptr<CompilerInvocation> CInvok;
std::shared_ptr<PCHContainerOperations> PCHContainerOps;
@@ -43,7 +45,7 @@ protected:
const char *Args[] = {"clang", "-xc++", InputFileName.c_str()};
auto VFS = llvm::vfs::getRealFileSystem();
- Diags = CompilerInstance::createDiagnostics(*VFS, new DiagnosticOptions());
+ Diags = CompilerInstance::createDiagnostics(*VFS, *DiagOpts);
CreateInvocationOptions CIOpts;
CIOpts.Diags = Diags;
@@ -57,8 +59,8 @@ protected:
PCHContainerOps = std::make_shared<PCHContainerOperations>();
return ASTUnit::LoadFromCompilerInvocation(
- CInvok, PCHContainerOps, Diags, FileMgr, false, CaptureDiagsKind::None,
- 0, TU_Complete, false, false, isVolatile);
+ CInvok, PCHContainerOps, DiagOpts, Diags, FileMgr, false,
+ CaptureDiagsKind::None, 0, TU_Complete, false, false, isVolatile);
}
};
@@ -95,7 +97,7 @@ TEST_F(ASTUnitTest, SaveLoadPreservesLangOptionsInPrintingPolicy) {
std::unique_ptr<ASTUnit> AU = ASTUnit::LoadFromASTFile(
ASTFileName, PCHContainerOps->getRawReader(), ASTUnit::LoadEverything,
- Diags, FileSystemOptions(), HSOpts);
+ DiagOpts, Diags, FileSystemOptions(), HSOpts);
if (!AU)
FAIL() << "failed to load ASTUnit";
@@ -136,8 +138,7 @@ TEST_F(ASTUnitTest, ModuleTextualHeader) {
const char *Args[] = {"clang", "test.cpp", "-fmodule-map-file=m.modulemap",
"-fmodule-name=M"};
- Diags =
- CompilerInstance::createDiagnostics(*InMemoryFs, new DiagnosticOptions());
+ Diags = CompilerInstance::createDiagnostics(*InMemoryFs, *DiagOpts);
CreateInvocationOptions CIOpts;
CIOpts.Diags = Diags;
CInvok = createInvocation(Args, std::move(CIOpts));
@@ -147,8 +148,8 @@ TEST_F(ASTUnitTest, ModuleTextualHeader) {
PCHContainerOps = std::make_shared<PCHContainerOperations>();
auto AU = ASTUnit::LoadFromCompilerInvocation(
- CInvok, PCHContainerOps, Diags, FileMgr, false, CaptureDiagsKind::None, 1,
- TU_Complete, false, false, false);
+ CInvok, PCHContainerOps, DiagOpts, Diags, FileMgr, false,
+ CaptureDiagsKind::None, 1, TU_Complete, false, false, false);
ASSERT_TRUE(AU);
auto File = AU->getFileManager().getFileRef("Textual.h", false, false);
ASSERT_TRUE(bool(File));
@@ -166,15 +167,15 @@ TEST_F(ASTUnitTest, LoadFromCommandLineEarlyError) {
const char *Args[] = {"clang", "-target", "foobar", InputFileName.c_str()};
auto Diags = CompilerInstance::createDiagnostics(
- *llvm::vfs::getRealFileSystem(), new DiagnosticOptions());
+ *llvm::vfs::getRealFileSystem(), *DiagOpts);
auto PCHContainerOps = std::make_shared<PCHContainerOperations>();
std::unique_ptr<clang::ASTUnit> ErrUnit;
std::unique_ptr<ASTUnit> AST = ASTUnit::LoadFromCommandLine(
- &Args[0], &Args[4], PCHContainerOps, Diags, "", false, "", false,
- CaptureDiagsKind::All, {}, true, 0, TU_Complete, false, false, false,
- SkipFunctionBodiesScope::None, false, true, false, false, std::nullopt,
- &ErrUnit, nullptr);
+ &Args[0], &Args[4], PCHContainerOps, DiagOpts, Diags, "", false, "",
+ false, CaptureDiagsKind::All, {}, true, 0, TU_Complete, false, false,
+ false, SkipFunctionBodiesScope::None, false, true, false, false,
+ std::nullopt, &ErrUnit, nullptr);
ASSERT_EQ(AST, nullptr);
ASSERT_NE(ErrUnit, nullptr);
@@ -194,15 +195,15 @@ TEST_F(ASTUnitTest, LoadFromCommandLineWorkingDirectory) {
InputFileName.c_str()};
auto Diags = CompilerInstance::createDiagnostics(
- *llvm::vfs::getRealFileSystem(), new DiagnosticOptions());
+ *llvm::vfs::getRealFileSystem(), *DiagOpts);
auto PCHContainerOps = std::make_shared<PCHContainerOperations>();
std::unique_ptr<clang::ASTUnit> ErrUnit;
std::unique_ptr<ASTUnit> AST = ASTUnit::LoadFromCommandLine(
- &Args[0], &Args[4], PCHContainerOps, Diags, "", false, "", false,
- CaptureDiagsKind::All, {}, true, 0, TU_Complete, false, false, false,
- SkipFunctionBodiesScope::None, false, true, false, false, std::nullopt,
- &ErrUnit, nullptr);
+ &Args[0], &Args[4], PCHContainerOps, DiagOpts, Diags, "", false, "",
+ false, CaptureDiagsKind::All, {}, true, 0, TU_Complete, false, false,
+ false, SkipFunctionBodiesScope::None, false, true, false, false,
+ std::nullopt, &ErrUnit, nullptr);
ASSERT_NE(AST, nullptr);
ASSERT_FALSE(Diags->hasErrorOccurred());
diff --git a/clang/unittests/Frontend/CompilerInstanceTest.cpp b/clang/unittests/Frontend/CompilerInstanceTest.cpp
index 6e9a6f5..a7b258d 100644
--- a/clang/unittests/Frontend/CompilerInstanceTest.cpp
+++ b/clang/unittests/Frontend/CompilerInstanceTest.cpp
@@ -53,9 +53,10 @@ TEST(CompilerInstance, DefaultVFSOverlayFromInvocation) {
const std::string VFSArg = "-ivfsoverlay" + FileNameStr;
const char *Args[] = {"clang", VFSArg.c_str(), "-xc++", "-"};
+ DiagnosticOptions DiagOpts;
IntrusiveRefCntPtr<DiagnosticsEngine> Diags =
CompilerInstance::createDiagnostics(*llvm::vfs::getRealFileSystem(),
- new DiagnosticOptions());
+ DiagOpts);
CreateInvocationOptions CIOpts;
CIOpts.Diags = Diags;
@@ -76,17 +77,17 @@ TEST(CompilerInstance, DefaultVFSOverlayFromInvocation) {
}
TEST(CompilerInstance, AllowDiagnosticLogWithUnownedDiagnosticConsumer) {
- auto DiagOpts = new DiagnosticOptions();
+ DiagnosticOptions DiagOpts;
// Tell the diagnostics engine to emit the diagnostic log to STDERR. This
// ensures that a chained diagnostic consumer is created so that the test can
// exercise the unowned diagnostic consumer in a chained consumer.
- DiagOpts->DiagnosticLogFile = "-";
+ DiagOpts.DiagnosticLogFile = "-";
// Create the diagnostic engine with unowned consumer.
std::string DiagnosticOutput;
llvm::raw_string_ostream DiagnosticsOS(DiagnosticOutput);
- auto DiagPrinter = std::make_unique<TextDiagnosticPrinter>(
- DiagnosticsOS, new DiagnosticOptions());
+ auto DiagPrinter =
+ std::make_unique<TextDiagnosticPrinter>(DiagnosticsOS, DiagOpts);
CompilerInstance Instance;
IntrusiveRefCntPtr<DiagnosticsEngine> Diags =
Instance.createDiagnostics(*llvm::vfs::getRealFileSystem(), DiagOpts,
diff --git a/clang/unittests/Frontend/CompilerInvocationTest.cpp b/clang/unittests/Frontend/CompilerInvocationTest.cpp
index 94ab9fe..75390aa 100644
--- a/clang/unittests/Frontend/CompilerInvocationTest.cpp
+++ b/clang/unittests/Frontend/CompilerInvocationTest.cpp
@@ -29,6 +29,7 @@ using ::testing::StartsWith;
namespace {
class CommandLineTest : public ::testing::Test {
public:
+ DiagnosticOptions DiagOpts;
IntrusiveRefCntPtr<DiagnosticsEngine> Diags;
SmallVector<const char *, 32> GeneratedArgs;
BumpPtrAllocator Alloc;
@@ -41,7 +42,7 @@ public:
CommandLineTest()
: Diags(CompilerInstance::createDiagnostics(
- *llvm::vfs::getRealFileSystem(), new DiagnosticOptions(),
+ *llvm::vfs::getRealFileSystem(), DiagOpts,
new TextDiagnosticBuffer())),
StringPool(Alloc) {}
};
diff --git a/clang/unittests/Frontend/OutputStreamTest.cpp b/clang/unittests/Frontend/OutputStreamTest.cpp
index 0eda3a1..dfb5a54 100644
--- a/clang/unittests/Frontend/OutputStreamTest.cpp
+++ b/clang/unittests/Frontend/OutputStreamTest.cpp
@@ -61,10 +61,10 @@ TEST(FrontendOutputTests, TestVerboseOutputStreamShared) {
raw_string_ostream VerboseStream(VerboseBuffer);
Compiler.setOutputStream(std::make_unique<raw_null_ostream>());
- IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
- Compiler.createDiagnostics(
- *llvm::vfs::getRealFileSystem(),
- new TextDiagnosticPrinter(llvm::nulls(), &*DiagOpts), true);
+ DiagnosticOptions DiagOpts;
+ Compiler.createDiagnostics(*llvm::vfs::getRealFileSystem(),
+ new TextDiagnosticPrinter(llvm::nulls(), DiagOpts),
+ true);
Compiler.setVerboseOutputStream(VerboseStream);
bool Success = ExecuteCompilerInvocation(&Compiler);
@@ -91,10 +91,10 @@ TEST(FrontendOutputTests, TestVerboseOutputStreamOwned) {
std::make_unique<raw_string_ostream>(VerboseBuffer);
Compiler.setOutputStream(std::make_unique<raw_null_ostream>());
- IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
+ DiagnosticOptions DiagOpts;
Compiler.createDiagnostics(
*llvm::vfs::getRealFileSystem(),
- new TextDiagnosticPrinter(llvm::nulls(), &*DiagOpts), true);
+ new TextDiagnosticPrinter(llvm::nulls(), DiagOpts), true);
Compiler.setVerboseOutputStream(std::move(VerboseStream));
Success = ExecuteCompilerInvocation(&Compiler);
diff --git a/clang/unittests/Frontend/PCHPreambleTest.cpp b/clang/unittests/Frontend/PCHPreambleTest.cpp
index 58ec2e2..faad408 100644
--- a/clang/unittests/Frontend/PCHPreambleTest.cpp
+++ b/clang/unittests/Frontend/PCHPreambleTest.cpp
@@ -53,6 +53,8 @@ class PCHPreambleTest : public ::testing::Test {
IntrusiveRefCntPtr<ReadCountingInMemoryFileSystem> VFS;
StringMap<std::string> RemappedFiles;
std::shared_ptr<PCHContainerOperations> PCHContainerOpts;
+ std::shared_ptr<DiagnosticOptions> DiagOpts =
+ std::make_shared<DiagnosticOptions>();
FileSystemOptions FSOpts;
public:
@@ -95,13 +97,14 @@ public:
PPOpts.RemappedFilesKeepOriginalName = true;
IntrusiveRefCntPtr<DiagnosticsEngine> Diags(
- CompilerInstance::createDiagnostics(*VFS, new DiagnosticOptions,
+ CompilerInstance::createDiagnostics(*VFS, *DiagOpts,
new DiagnosticConsumer));
FileManager *FileMgr = new FileManager(FSOpts, VFS);
std::unique_ptr<ASTUnit> AST = ASTUnit::LoadFromCompilerInvocation(
- CI, PCHContainerOpts, Diags, FileMgr, false, CaptureDiagsKind::None,
+ CI, PCHContainerOpts, DiagOpts, Diags, FileMgr, false,
+ CaptureDiagsKind::None,
/*PrecompilePreambleAfterNParses=*/1);
return AST;
}
diff --git a/clang/unittests/Frontend/ReparseWorkingDirTest.cpp b/clang/unittests/Frontend/ReparseWorkingDirTest.cpp
index b0f2d51..1b8051f 100644
--- a/clang/unittests/Frontend/ReparseWorkingDirTest.cpp
+++ b/clang/unittests/Frontend/ReparseWorkingDirTest.cpp
@@ -57,14 +57,16 @@ public:
CI->getFileSystemOpts().WorkingDir = *VFS->getCurrentWorkingDirectory();
CI->getTargetOpts().Triple = "i386-unknown-linux-gnu";
+ auto DiagOpts = std::make_shared<DiagnosticOptions>();
IntrusiveRefCntPtr<DiagnosticsEngine> Diags(
- CompilerInstance::createDiagnostics(*VFS, new DiagnosticOptions,
+ CompilerInstance::createDiagnostics(*VFS, *DiagOpts,
new DiagnosticConsumer));
FileManager *FileMgr = new FileManager(CI->getFileSystemOpts(), VFS);
std::unique_ptr<ASTUnit> AST = ASTUnit::LoadFromCompilerInvocation(
- CI, PCHContainerOpts, Diags, FileMgr, false, CaptureDiagsKind::None,
+ CI, PCHContainerOpts, DiagOpts, Diags, FileMgr, false,
+ CaptureDiagsKind::None,
/*PrecompilePreambleAfterNParses=*/1);
return AST;
}
diff --git a/clang/unittests/Frontend/SearchPathTest.cpp b/clang/unittests/Frontend/SearchPathTest.cpp
index 2ebe74d..c74a5c7 100644
--- a/clang/unittests/Frontend/SearchPathTest.cpp
+++ b/clang/unittests/Frontend/SearchPathTest.cpp
@@ -40,12 +40,12 @@ namespace {
class SearchPathTest : public ::testing::Test {
protected:
SearchPathTest()
- : Diags(new DiagnosticIDs(), new DiagnosticOptions,
- new IgnoringDiagConsumer()),
+ : Diags(new DiagnosticIDs(), DiagOpts, new IgnoringDiagConsumer()),
VFS(new llvm::vfs::InMemoryFileSystem),
FileMgr(FileSystemOptions(), VFS), SourceMgr(Diags, FileMgr),
Invocation(std::make_unique<CompilerInvocation>()) {}
+ DiagnosticOptions DiagOpts;
DiagnosticsEngine Diags;
IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem> VFS;
FileManager FileMgr;
diff --git a/clang/unittests/Frontend/TextDiagnosticTest.cpp b/clang/unittests/Frontend/TextDiagnosticTest.cpp
index fef5726..8fd8187 100644
--- a/clang/unittests/Frontend/TextDiagnosticTest.cpp
+++ b/clang/unittests/Frontend/TextDiagnosticTest.cpp
@@ -20,13 +20,12 @@ namespace {
/// Prints a diagnostic with the given DiagnosticOptions and the given
/// SourceLocation and returns the printed diagnostic text.
-static std::string PrintDiag(const DiagnosticOptions &Opts, FullSourceLoc Loc) {
+static std::string PrintDiag(DiagnosticOptions &Opts, FullSourceLoc Loc) {
std::string Out;
llvm::raw_string_ostream OS(Out);
clang::LangOptions LangOpts;
// Owned by TextDiagnostic.
- DiagnosticOptions *DiagOpts = new DiagnosticOptions(Opts);
- TextDiagnostic Diag(OS, LangOpts, DiagOpts);
+ TextDiagnostic Diag(OS, LangOpts, Opts);
// Emit a dummy diagnostic that is just 'message'.
Diag.emitDiagnostic(Loc, DiagnosticsEngine::Level::Warning, "message",
/*Ranges=*/{}, /*FixItHints=*/{});
@@ -38,7 +37,8 @@ TEST(TextDiagnostic, ShowLine) {
FileSystemOptions FSOpts;
FileManager FileMgr(FSOpts);
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs);
- DiagnosticsEngine DiagEngine(DiagID, new DiagnosticOptions,
+ DiagnosticOptions DiagEngineOpts;
+ DiagnosticsEngine DiagEngine(DiagID, DiagEngineOpts,
new IgnoringDiagConsumer());
SourceManager SrcMgr(DiagEngine, FileMgr);
diff --git a/clang/unittests/Frontend/UtilsTest.cpp b/clang/unittests/Frontend/UtilsTest.cpp
index 47ca321..cf385a5 100644
--- a/clang/unittests/Frontend/UtilsTest.cpp
+++ b/clang/unittests/Frontend/UtilsTest.cpp
@@ -26,11 +26,12 @@ TEST(BuildCompilerInvocationTest, RecoverMultipleJobs) {
std::vector<const char *> Args = {"clang", "--target=macho", "-arch", "i386",
"-arch", "x86_64", "foo.cpp"};
clang::IgnoringDiagConsumer D;
+ clang::DiagnosticOptions DiagOpts;
CreateInvocationOptions Opts;
Opts.RecoverOnError = true;
Opts.VFS = new llvm::vfs::InMemoryFileSystem();
- Opts.Diags = clang::CompilerInstance::createDiagnostics(
- *Opts.VFS, new DiagnosticOptions, &D, false);
+ Opts.Diags = clang::CompilerInstance::createDiagnostics(*Opts.VFS, DiagOpts,
+ &D, false);
std::unique_ptr<CompilerInvocation> CI = createInvocation(Args, Opts);
ASSERT_TRUE(CI);
EXPECT_THAT(CI->getTargetOpts().Triple, testing::StartsWith("i386-"));
@@ -45,9 +46,9 @@ TEST(BuildCompilerInvocationTest, ProbePrecompiled) {
FS->addFile("foo.h.pch", 0, llvm::MemoryBuffer::getMemBuffer(""));
clang::IgnoringDiagConsumer D;
+ clang::DiagnosticOptions DiagOpts;
llvm::IntrusiveRefCntPtr<DiagnosticsEngine> CommandLineDiagsEngine =
- clang::CompilerInstance::createDiagnostics(*FS, new DiagnosticOptions, &D,
- false);
+ clang::CompilerInstance::createDiagnostics(*FS, DiagOpts, &D, false);
// Default: ProbePrecompiled=false
CreateInvocationOptions CIOpts;
CIOpts.Diags = CommandLineDiagsEngine;
diff --git a/clang/unittests/Interpreter/InterpreterTest.cpp b/clang/unittests/Interpreter/InterpreterTest.cpp
index 03b9c33..b97f5ae 100644
--- a/clang/unittests/Interpreter/InterpreterTest.cpp
+++ b/clang/unittests/Interpreter/InterpreterTest.cpp
@@ -95,8 +95,9 @@ TEST_F(InterpreterTest, Errors) {
// Create the diagnostic engine with unowned consumer.
std::string DiagnosticOutput;
llvm::raw_string_ostream DiagnosticsOS(DiagnosticOutput);
- auto DiagPrinter = std::make_unique<TextDiagnosticPrinter>(
- DiagnosticsOS, new DiagnosticOptions());
+ DiagnosticOptions DiagOpts;
+ auto DiagPrinter =
+ std::make_unique<TextDiagnosticPrinter>(DiagnosticsOS, DiagOpts);
auto Interp = createInterpreter(ExtraArgs, DiagPrinter.get());
auto Err = Interp->Parse("intentional_error v1 = 42; ").takeError();
@@ -126,8 +127,9 @@ TEST_F(InterpreterTest, DeclsAndStatements) {
// Create the diagnostic engine with unowned consumer.
std::string DiagnosticOutput;
llvm::raw_string_ostream DiagnosticsOS(DiagnosticOutput);
- auto DiagPrinter = std::make_unique<TextDiagnosticPrinter>(
- DiagnosticsOS, new DiagnosticOptions());
+ DiagnosticOptions DiagOpts;
+ auto DiagPrinter =
+ std::make_unique<TextDiagnosticPrinter>(DiagnosticsOS, DiagOpts);
auto Interp = createInterpreter(ExtraArgs, DiagPrinter.get());
auto R1 = Interp->Parse(
@@ -148,8 +150,9 @@ TEST_F(InterpreterTest, UndoCommand) {
// Create the diagnostic engine with unowned consumer.
std::string DiagnosticOutput;
llvm::raw_string_ostream DiagnosticsOS(DiagnosticOutput);
- auto DiagPrinter = std::make_unique<TextDiagnosticPrinter>(
- DiagnosticsOS, new DiagnosticOptions());
+ DiagnosticOptions DiagOpts;
+ auto DiagPrinter =
+ std::make_unique<TextDiagnosticPrinter>(DiagnosticsOS, DiagOpts);
auto Interp = createInterpreter(ExtraArgs, DiagPrinter.get());
diff --git a/clang/unittests/Lex/HeaderSearchTest.cpp b/clang/unittests/Lex/HeaderSearchTest.cpp
index b889626..9903c12 100644
--- a/clang/unittests/Lex/HeaderSearchTest.cpp
+++ b/clang/unittests/Lex/HeaderSearchTest.cpp
@@ -30,7 +30,7 @@ protected:
HeaderSearchTest()
: VFS(new llvm::vfs::InMemoryFileSystem), FileMgr(FileMgrOpts, VFS),
DiagID(new DiagnosticIDs()),
- Diags(DiagID, new DiagnosticOptions, new IgnoringDiagConsumer()),
+ Diags(DiagID, DiagOpts, new IgnoringDiagConsumer()),
SourceMgr(Diags, FileMgr), TargetOpts(new TargetOptions),
Search(HSOpts, SourceMgr, Diags, LangOpts, Target.get()) {
TargetOpts->Triple = "x86_64-apple-darwin11.1.0";
@@ -81,6 +81,7 @@ protected:
FileSystemOptions FileMgrOpts;
FileManager FileMgr;
IntrusiveRefCntPtr<DiagnosticIDs> DiagID;
+ DiagnosticOptions DiagOpts;
DiagnosticsEngine Diags;
SourceManager SourceMgr;
LangOptions LangOpts;
diff --git a/clang/unittests/Lex/LexerTest.cpp b/clang/unittests/Lex/LexerTest.cpp
index 9806d4c..381755d 100644
--- a/clang/unittests/Lex/LexerTest.cpp
+++ b/clang/unittests/Lex/LexerTest.cpp
@@ -41,12 +41,9 @@ using testing::ElementsAre;
class LexerTest : public ::testing::Test {
protected:
LexerTest()
- : FileMgr(FileMgrOpts),
- DiagID(new DiagnosticIDs()),
- Diags(DiagID, new DiagnosticOptions, new IgnoringDiagConsumer()),
- SourceMgr(Diags, FileMgr),
- TargetOpts(new TargetOptions)
- {
+ : FileMgr(FileMgrOpts), DiagID(new DiagnosticIDs()),
+ Diags(DiagID, DiagOpts, new IgnoringDiagConsumer()),
+ SourceMgr(Diags, FileMgr), TargetOpts(new TargetOptions) {
TargetOpts->Triple = "x86_64-apple-darwin11.1.0";
Target = TargetInfo::CreateTargetInfo(Diags, *TargetOpts);
}
@@ -104,6 +101,7 @@ protected:
FileSystemOptions FileMgrOpts;
FileManager FileMgr;
IntrusiveRefCntPtr<DiagnosticIDs> DiagID;
+ DiagnosticOptions DiagOpts;
DiagnosticsEngine Diags;
SourceManager SourceMgr;
LangOptions LangOpts;
diff --git a/clang/unittests/Lex/ModuleDeclStateTest.cpp b/clang/unittests/Lex/ModuleDeclStateTest.cpp
index 6fbc6bf..6ecba4d 100644
--- a/clang/unittests/Lex/ModuleDeclStateTest.cpp
+++ b/clang/unittests/Lex/ModuleDeclStateTest.cpp
@@ -55,7 +55,7 @@ class ModuleDeclStateTest : public ::testing::Test {
protected:
ModuleDeclStateTest()
: FileMgr(FileMgrOpts), DiagID(new DiagnosticIDs()),
- Diags(DiagID, new DiagnosticOptions, new IgnoringDiagConsumer()),
+ Diags(DiagID, DiagOpts, new IgnoringDiagConsumer()),
SourceMgr(Diags, FileMgr), TargetOpts(new TargetOptions) {
TargetOpts->Triple = "x86_64-unknown-linux-gnu";
Target = TargetInfo::CreateTargetInfo(Diags, *TargetOpts);
@@ -94,6 +94,7 @@ protected:
FileSystemOptions FileMgrOpts;
FileManager FileMgr;
IntrusiveRefCntPtr<DiagnosticIDs> DiagID;
+ DiagnosticOptions DiagOpts;
DiagnosticsEngine Diags;
SourceManager SourceMgr;
std::shared_ptr<TargetOptions> TargetOpts;
diff --git a/clang/unittests/Lex/PPCallbacksTest.cpp b/clang/unittests/Lex/PPCallbacksTest.cpp
index c2a84d9..af86c18 100644
--- a/clang/unittests/Lex/PPCallbacksTest.cpp
+++ b/clang/unittests/Lex/PPCallbacksTest.cpp
@@ -135,8 +135,8 @@ protected:
PPCallbacksTest()
: InMemoryFileSystem(new llvm::vfs::InMemoryFileSystem),
FileMgr(FileSystemOptions(), InMemoryFileSystem),
- DiagID(new DiagnosticIDs()), DiagOpts(new DiagnosticOptions()),
- Diags(DiagID, DiagOpts.get(), new IgnoringDiagConsumer()),
+ DiagID(new DiagnosticIDs()),
+ Diags(DiagID, DiagOpts, new IgnoringDiagConsumer()),
SourceMgr(Diags, FileMgr), TargetOpts(new TargetOptions()) {
TargetOpts->Triple = "x86_64-apple-darwin11.1.0";
Target = TargetInfo::CreateTargetInfo(Diags, *TargetOpts);
@@ -145,7 +145,7 @@ protected:
IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem> InMemoryFileSystem;
FileManager FileMgr;
IntrusiveRefCntPtr<DiagnosticIDs> DiagID;
- IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts;
+ DiagnosticOptions DiagOpts;
DiagnosticsEngine Diags;
SourceManager SourceMgr;
LangOptions LangOpts;
@@ -437,7 +437,7 @@ TEST_F(PPCallbacksTest, FileNotFoundSkipped) {
HeaderSearch HeaderInfo(HSOpts, SourceMgr, Diags, LangOpts, Target.get());
DiagnosticConsumer *DiagConsumer = new DiagnosticConsumer;
- DiagnosticsEngine FileNotFoundDiags(DiagID, DiagOpts.get(), DiagConsumer);
+ DiagnosticsEngine FileNotFoundDiags(DiagID, DiagOpts, DiagConsumer);
Preprocessor PP(PPOpts, FileNotFoundDiags, LangOpts, SourceMgr, HeaderInfo,
ModLoader, /*IILookup=*/nullptr, /*OwnsHeaderSearch=*/false);
PP.Initialize(*Target);
diff --git a/clang/unittests/Lex/PPConditionalDirectiveRecordTest.cpp b/clang/unittests/Lex/PPConditionalDirectiveRecordTest.cpp
index 5c3ce6f..54c1d02 100644
--- a/clang/unittests/Lex/PPConditionalDirectiveRecordTest.cpp
+++ b/clang/unittests/Lex/PPConditionalDirectiveRecordTest.cpp
@@ -29,12 +29,9 @@ namespace {
class PPConditionalDirectiveRecordTest : public ::testing::Test {
protected:
PPConditionalDirectiveRecordTest()
- : FileMgr(FileMgrOpts),
- DiagID(new DiagnosticIDs()),
- Diags(DiagID, new DiagnosticOptions, new IgnoringDiagConsumer()),
- SourceMgr(Diags, FileMgr),
- TargetOpts(new TargetOptions)
- {
+ : FileMgr(FileMgrOpts), DiagID(new DiagnosticIDs()),
+ Diags(DiagID, DiagOpts, new IgnoringDiagConsumer()),
+ SourceMgr(Diags, FileMgr), TargetOpts(new TargetOptions) {
TargetOpts->Triple = "x86_64-apple-darwin11.1.0";
Target = TargetInfo::CreateTargetInfo(Diags, *TargetOpts);
}
@@ -42,6 +39,7 @@ protected:
FileSystemOptions FileMgrOpts;
FileManager FileMgr;
IntrusiveRefCntPtr<DiagnosticIDs> DiagID;
+ DiagnosticOptions DiagOpts;
DiagnosticsEngine Diags;
SourceManager SourceMgr;
LangOptions LangOpts;
diff --git a/clang/unittests/Lex/PPDependencyDirectivesTest.cpp b/clang/unittests/Lex/PPDependencyDirectivesTest.cpp
index 74e3c00..061cb13 100644
--- a/clang/unittests/Lex/PPDependencyDirectivesTest.cpp
+++ b/clang/unittests/Lex/PPDependencyDirectivesTest.cpp
@@ -32,7 +32,7 @@ class PPDependencyDirectivesTest : public ::testing::Test {
protected:
PPDependencyDirectivesTest()
: FileMgr(FileMgrOpts), DiagID(new DiagnosticIDs()),
- Diags(DiagID, new DiagnosticOptions, new IgnoringDiagConsumer()),
+ Diags(DiagID, DiagOpts, new IgnoringDiagConsumer()),
SourceMgr(Diags, FileMgr), TargetOpts(new TargetOptions) {
TargetOpts->Triple = "x86_64-apple-macos12";
Target = TargetInfo::CreateTargetInfo(Diags, *TargetOpts);
@@ -41,6 +41,7 @@ protected:
FileSystemOptions FileMgrOpts;
FileManager FileMgr;
IntrusiveRefCntPtr<DiagnosticIDs> DiagID;
+ DiagnosticOptions DiagOpts;
DiagnosticsEngine Diags;
SourceManager SourceMgr;
LangOptions LangOpts;
diff --git a/clang/unittests/Lex/PPMemoryAllocationsTest.cpp b/clang/unittests/Lex/PPMemoryAllocationsTest.cpp
index 304a66a..4d83003 100644
--- a/clang/unittests/Lex/PPMemoryAllocationsTest.cpp
+++ b/clang/unittests/Lex/PPMemoryAllocationsTest.cpp
@@ -28,7 +28,7 @@ class PPMemoryAllocationsTest : public ::testing::Test {
protected:
PPMemoryAllocationsTest()
: FileMgr(FileMgrOpts), DiagID(new DiagnosticIDs()),
- Diags(DiagID, new DiagnosticOptions, new IgnoringDiagConsumer()),
+ Diags(DiagID, DiagOpts, new IgnoringDiagConsumer()),
SourceMgr(Diags, FileMgr), TargetOpts(new TargetOptions) {
TargetOpts->Triple = "x86_64-apple-darwin11.1.0";
Target = TargetInfo::CreateTargetInfo(Diags, *TargetOpts);
@@ -37,6 +37,7 @@ protected:
FileSystemOptions FileMgrOpts;
FileManager FileMgr;
IntrusiveRefCntPtr<DiagnosticIDs> DiagID;
+ DiagnosticOptions DiagOpts;
DiagnosticsEngine Diags;
SourceManager SourceMgr;
LangOptions LangOpts;
diff --git a/clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp b/clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
index 7d03dda..912e96e 100644
--- a/clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
+++ b/clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
@@ -67,8 +67,7 @@ class ParseHLSLRootSignatureTest : public ::testing::Test {
protected:
ParseHLSLRootSignatureTest()
: FileMgr(FileMgrOpts), DiagID(new DiagnosticIDs()),
- Consumer(new ExpectedDiagConsumer()),
- Diags(DiagID, new DiagnosticOptions, Consumer),
+ Consumer(new ExpectedDiagConsumer()), Diags(DiagID, DiagOpts, Consumer),
SourceMgr(Diags, FileMgr), TargetOpts(new TargetOptions) {
// This is an arbitrarily chosen target triple to create the target info.
TargetOpts->Triple = "dxil";
@@ -95,6 +94,7 @@ protected:
FileSystemOptions FileMgrOpts;
FileManager FileMgr;
IntrusiveRefCntPtr<DiagnosticIDs> DiagID;
+ DiagnosticOptions DiagOpts;
ExpectedDiagConsumer *Consumer;
DiagnosticsEngine Diags;
SourceManager SourceMgr;
diff --git a/clang/unittests/Sema/SemaNoloadLookupTest.cpp b/clang/unittests/Sema/SemaNoloadLookupTest.cpp
index c68a71a..5a04f42 100644
--- a/clang/unittests/Sema/SemaNoloadLookupTest.cpp
+++ b/clang/unittests/Sema/SemaNoloadLookupTest.cpp
@@ -59,9 +59,9 @@ public:
CreateInvocationOptions CIOpts;
CIOpts.VFS = llvm::vfs::createPhysicalFileSystem();
+ DiagnosticOptions DiagOpts;
IntrusiveRefCntPtr<DiagnosticsEngine> Diags =
- CompilerInstance::createDiagnostics(*CIOpts.VFS,
- new DiagnosticOptions());
+ CompilerInstance::createDiagnostics(*CIOpts.VFS, DiagOpts);
CIOpts.Diags = Diags;
std::string CacheBMIPath =
diff --git a/clang/unittests/Serialization/ForceCheckFileInputTest.cpp b/clang/unittests/Serialization/ForceCheckFileInputTest.cpp
index 16742a6..970eeef 100644
--- a/clang/unittests/Serialization/ForceCheckFileInputTest.cpp
+++ b/clang/unittests/Serialization/ForceCheckFileInputTest.cpp
@@ -66,9 +66,9 @@ export int aa = 43;
CreateInvocationOptions CIOpts;
CIOpts.VFS = llvm::vfs::createPhysicalFileSystem();
+ DiagnosticOptions DiagOpts;
IntrusiveRefCntPtr<DiagnosticsEngine> Diags =
- CompilerInstance::createDiagnostics(*CIOpts.VFS,
- new DiagnosticOptions());
+ CompilerInstance::createDiagnostics(*CIOpts.VFS, DiagOpts);
CIOpts.Diags = Diags;
const char *Args[] = {"clang++", "-std=c++20",
@@ -106,9 +106,9 @@ export int aa = 43;
{
CreateInvocationOptions CIOpts;
CIOpts.VFS = llvm::vfs::createPhysicalFileSystem();
+ DiagnosticOptions DiagOpts;
IntrusiveRefCntPtr<DiagnosticsEngine> Diags =
- CompilerInstance::createDiagnostics(*CIOpts.VFS,
- new DiagnosticOptions());
+ CompilerInstance::createDiagnostics(*CIOpts.VFS, DiagOpts);
CIOpts.Diags = Diags;
std::string BMIPath = llvm::Twine(TestDir + "/a.pcm").str();
diff --git a/clang/unittests/Serialization/LoadSpecLazilyTest.cpp b/clang/unittests/Serialization/LoadSpecLazilyTest.cpp
index d62d669..6315474 100644
--- a/clang/unittests/Serialization/LoadSpecLazilyTest.cpp
+++ b/clang/unittests/Serialization/LoadSpecLazilyTest.cpp
@@ -53,8 +53,9 @@ public:
IntrusiveRefCntPtr<llvm::vfs::FileSystem> VFS =
llvm::vfs::createPhysicalFileSystem();
+ DiagnosticOptions DiagOpts;
IntrusiveRefCntPtr<DiagnosticsEngine> Diags =
- CompilerInstance::createDiagnostics(*VFS, new DiagnosticOptions());
+ CompilerInstance::createDiagnostics(*VFS, DiagOpts);
CreateInvocationOptions CIOpts;
CIOpts.Diags = Diags;
CIOpts.VFS = VFS;
diff --git a/clang/unittests/Serialization/ModuleCacheTest.cpp b/clang/unittests/Serialization/ModuleCacheTest.cpp
index 38003e9..de6e13a 100644
--- a/clang/unittests/Serialization/ModuleCacheTest.cpp
+++ b/clang/unittests/Serialization/ModuleCacheTest.cpp
@@ -108,8 +108,9 @@ TEST_F(ModuleCacheTest, CachedModuleNewPath) {
MCPArg.append(ModuleCachePath);
CreateInvocationOptions CIOpts;
CIOpts.VFS = llvm::vfs::createPhysicalFileSystem();
+ DiagnosticOptions DiagOpts;
IntrusiveRefCntPtr<DiagnosticsEngine> Diags =
- CompilerInstance::createDiagnostics(*CIOpts.VFS, new DiagnosticOptions());
+ CompilerInstance::createDiagnostics(*CIOpts.VFS, DiagOpts);
CIOpts.Diags = Diags;
// First run should pass with no errors
@@ -157,8 +158,9 @@ TEST_F(ModuleCacheTest, CachedModuleNewPathAllowErrors) {
MCPArg.append(ModuleCachePath);
CreateInvocationOptions CIOpts;
CIOpts.VFS = llvm::vfs::createPhysicalFileSystem();
+ DiagnosticOptions DiagOpts;
IntrusiveRefCntPtr<DiagnosticsEngine> Diags =
- CompilerInstance::createDiagnostics(*CIOpts.VFS, new DiagnosticOptions());
+ CompilerInstance::createDiagnostics(*CIOpts.VFS, DiagOpts);
CIOpts.Diags = Diags;
// First run should pass with no errors
diff --git a/clang/unittests/Serialization/NoCommentsTest.cpp b/clang/unittests/Serialization/NoCommentsTest.cpp
index 3aaaa54..05efeef 100644
--- a/clang/unittests/Serialization/NoCommentsTest.cpp
+++ b/clang/unittests/Serialization/NoCommentsTest.cpp
@@ -85,8 +85,9 @@ void foo() {}
CreateInvocationOptions CIOpts;
CIOpts.VFS = llvm::vfs::createPhysicalFileSystem();
+ DiagnosticOptions DiagOpts;
IntrusiveRefCntPtr<DiagnosticsEngine> Diags =
- CompilerInstance::createDiagnostics(*CIOpts.VFS, new DiagnosticOptions());
+ CompilerInstance::createDiagnostics(*CIOpts.VFS, DiagOpts);
CIOpts.Diags = Diags;
std::string CacheBMIPath = llvm::Twine(TestDir + "/Comments.pcm").str();
diff --git a/clang/unittests/Serialization/PreambleInNamedModulesTest.cpp b/clang/unittests/Serialization/PreambleInNamedModulesTest.cpp
index 7a037d2..c43520f 100644
--- a/clang/unittests/Serialization/PreambleInNamedModulesTest.cpp
+++ b/clang/unittests/Serialization/PreambleInNamedModulesTest.cpp
@@ -77,8 +77,9 @@ export using ::E;
IntrusiveRefCntPtr<llvm::vfs::FileSystem> VFS =
llvm::vfs::createPhysicalFileSystem();
+ DiagnosticOptions DiagOpts;
IntrusiveRefCntPtr<DiagnosticsEngine> Diags =
- CompilerInstance::createDiagnostics(*VFS, new DiagnosticOptions());
+ CompilerInstance::createDiagnostics(*VFS, DiagOpts);
CreateInvocationOptions CIOpts;
CIOpts.Diags = Diags;
diff --git a/clang/unittests/Serialization/VarDeclConstantInitTest.cpp b/clang/unittests/Serialization/VarDeclConstantInitTest.cpp
index 33c3c6b..5b2988e 100644
--- a/clang/unittests/Serialization/VarDeclConstantInitTest.cpp
+++ b/clang/unittests/Serialization/VarDeclConstantInitTest.cpp
@@ -92,8 +92,9 @@ export namespace Fibonacci
CreateInvocationOptions CIOpts;
CIOpts.VFS = llvm::vfs::createPhysicalFileSystem();
+ DiagnosticOptions DiagOpts;
IntrusiveRefCntPtr<DiagnosticsEngine> Diags =
- CompilerInstance::createDiagnostics(*CIOpts.VFS, new DiagnosticOptions());
+ CompilerInstance::createDiagnostics(*CIOpts.VFS, DiagOpts);
CIOpts.Diags = Diags;
const char *Args[] = {"clang++", "-std=c++20",
diff --git a/clang/unittests/Support/TimeProfilerTest.cpp b/clang/unittests/Support/TimeProfilerTest.cpp
index a92b0eb1..85d36b5 100644
--- a/clang/unittests/Support/TimeProfilerTest.cpp
+++ b/clang/unittests/Support/TimeProfilerTest.cpp
@@ -58,9 +58,9 @@ bool compileFromString(StringRef Code, StringRef Standard, StringRef File,
auto Invocation = std::make_shared<CompilerInvocation>();
std::vector<const char *> Args = {Standard.data(), File.data()};
- auto InvocationDiagOpts = llvm::makeIntrusiveRefCnt<DiagnosticOptions>();
+ DiagnosticOptions InvocationDiagOpts;
auto InvocationDiags =
- CompilerInstance::createDiagnostics(*FS, InvocationDiagOpts.get());
+ CompilerInstance::createDiagnostics(*FS, InvocationDiagOpts);
CompilerInvocation::CreateFromArgs(*Invocation, Args, *InvocationDiags);
CompilerInstance Compiler(std::move(Invocation));
diff --git a/clang/unittests/Tooling/RewriterTestContext.h b/clang/unittests/Tooling/RewriterTestContext.h
index b7aa1a1..2d697e2 100644
--- a/clang/unittests/Tooling/RewriterTestContext.h
+++ b/clang/unittests/Tooling/RewriterTestContext.h
@@ -49,9 +49,8 @@ struct RewriterDiagnosticConsumer : public DiagnosticConsumer {
class RewriterTestContext {
public:
RewriterTestContext()
- : DiagOpts(new DiagnosticOptions()),
- Diagnostics(IntrusiveRefCntPtr<DiagnosticIDs>(new DiagnosticIDs),
- &*DiagOpts),
+ : Diagnostics(IntrusiveRefCntPtr<DiagnosticIDs>(new DiagnosticIDs),
+ DiagOpts),
InMemoryFileSystem(new llvm::vfs::InMemoryFileSystem),
OverlayFileSystem(
new llvm::vfs::OverlayFileSystem(llvm::vfs::getRealFileSystem())),
@@ -61,7 +60,7 @@ class RewriterTestContext {
// FIXME: To make these tests truly in-memory, we need to overlay the
// builtin headers.
OverlayFileSystem->pushOverlay(InMemoryFileSystem);
- }
+ }
~RewriterTestContext() {}
@@ -124,7 +123,7 @@ class RewriterTestContext {
return std::string((*FileBuffer)->getBuffer());
}
- IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts;
+ DiagnosticOptions DiagOpts;
DiagnosticsEngine Diagnostics;
RewriterDiagnosticConsumer DiagnosticPrinter;
IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem> InMemoryFileSystem;
diff --git a/clang/unittests/Tooling/Syntax/TokensTest.cpp b/clang/unittests/Tooling/Syntax/TokensTest.cpp
index d42273b..b5f4445 100644
--- a/clang/unittests/Tooling/Syntax/TokensTest.cpp
+++ b/clang/unittests/Tooling/Syntax/TokensTest.cpp
@@ -248,8 +248,9 @@ public:
}
// Data fields.
+ DiagnosticOptions DiagOpts;
llvm::IntrusiveRefCntPtr<DiagnosticsEngine> Diags =
- new DiagnosticsEngine(new DiagnosticIDs, new DiagnosticOptions);
+ new DiagnosticsEngine(new DiagnosticIDs, DiagOpts);
IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem> FS =
new llvm::vfs::InMemoryFileSystem;
llvm::IntrusiveRefCntPtr<FileManager> FileMgr =
diff --git a/clang/unittests/Tooling/Syntax/TreeTestBase.cpp b/clang/unittests/Tooling/Syntax/TreeTestBase.cpp
index 7710a9c..9f22b1d 100644
--- a/clang/unittests/Tooling/Syntax/TreeTestBase.cpp
+++ b/clang/unittests/Tooling/Syntax/TreeTestBase.cpp
@@ -126,7 +126,7 @@ SyntaxTreeTest::buildTree(StringRef Code, const TestClangConfig &ClangConfig) {
FS->addFile(FileName, time_t(), llvm::MemoryBuffer::getMemBufferCopy(""));
if (!Diags->getClient())
- Diags->setClient(new TextDiagnosticPrinter(llvm::errs(), DiagOpts.get()));
+ Diags->setClient(new TextDiagnosticPrinter(llvm::errs(), DiagOpts));
Diags->setSeverityForGroup(diag::Flavor::WarningOrError, "unused-value",
diag::Severity::Ignored, SourceLocation());
diff --git a/clang/unittests/Tooling/Syntax/TreeTestBase.h b/clang/unittests/Tooling/Syntax/TreeTestBase.h
index 1176f45..6110cff 100644
--- a/clang/unittests/Tooling/Syntax/TreeTestBase.h
+++ b/clang/unittests/Tooling/Syntax/TreeTestBase.h
@@ -40,9 +40,9 @@ protected:
syntax::Node *nodeByRange(llvm::Annotations::Range R, syntax::Node *Root);
// Data fields.
- IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
+ DiagnosticOptions DiagOpts;
IntrusiveRefCntPtr<DiagnosticsEngine> Diags =
- new DiagnosticsEngine(new DiagnosticIDs, DiagOpts.get());
+ new DiagnosticsEngine(new DiagnosticIDs, DiagOpts);
IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem> FS =
new llvm::vfs::InMemoryFileSystem;
IntrusiveRefCntPtr<FileManager> FileMgr =
diff --git a/clang/unittests/Tooling/ToolingTest.cpp b/clang/unittests/Tooling/ToolingTest.cpp
index cfa021a..32af4b6 100644
--- a/clang/unittests/Tooling/ToolingTest.cpp
+++ b/clang/unittests/Tooling/ToolingTest.cpp
@@ -294,8 +294,8 @@ TEST(ToolInvocation, CustomDiagnosticOptionsOverwriteParsedOnes) {
Invocation.setDiagnosticConsumer(&Consumer);
// Inject custom `DiagnosticOptions` for command-line parsing.
- auto DiagOpts = llvm::makeIntrusiveRefCnt<DiagnosticOptions>();
- Invocation.setDiagnosticOptions(&*DiagOpts);
+ DiagnosticOptions DiagOpts;
+ Invocation.setDiagnosticOptions(&DiagOpts);
EXPECT_TRUE(Invocation.run());
// Check that the warning was issued during command-line parsing due to the
@@ -392,14 +392,14 @@ overlayRealFS(llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem> VFS) {
struct CommandLineExtractorTest : public ::testing::Test {
llvm::IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem> InMemoryFS;
+ DiagnosticOptions DiagOpts;
llvm::IntrusiveRefCntPtr<DiagnosticsEngine> Diags;
driver::Driver Driver;
public:
CommandLineExtractorTest()
: InMemoryFS(new llvm::vfs::InMemoryFileSystem),
- Diags(CompilerInstance::createDiagnostics(*InMemoryFS,
- new DiagnosticOptions)),
+ Diags(CompilerInstance::createDiagnostics(*InMemoryFS, DiagOpts)),
Driver("clang", llvm::sys::getDefaultTargetTriple(), *Diags,
"clang LLVM compiler", overlayRealFS(InMemoryFS)) {}