aboutsummaryrefslogtreecommitdiff
path: root/clang/unittests/Driver/ToolChainTest.cpp
diff options
context:
space:
mode:
authorKazu Hirata <kazu@google.com>2025-05-22 12:44:20 -0700
committerKazu Hirata <kazu@google.com>2025-05-22 12:44:20 -0700
commite2a885537f11f8d9ced1c80c2c90069ab5adeb1d (patch)
treed838fa124762f02c1b2ce921f667beb29acfee7b /clang/unittests/Driver/ToolChainTest.cpp
parente23a6921b47d2cfb4d27289149079e9d77aa0560 (diff)
downloadllvm-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/unittests/Driver/ToolChainTest.cpp')
-rw-r--r--clang/unittests/Driver/ToolChainTest.cpp71
1 files changed, 35 insertions, 36 deletions
diff --git a/clang/unittests/Driver/ToolChainTest.cpp b/clang/unittests/Driver/ToolChainTest.cpp
index 670090a..c1ffe4a 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) {
- DiagnosticOptions DiagOpts;
+ IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
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,8 +107,7 @@ TEST(ToolChainTest, VFSGCCInstallation) {
}
{
- DiagnosticOptions DiagOpts;
- 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(
@@ -135,11 +134,11 @@ TEST(ToolChainTest, VFSGCCInstallation) {
}
TEST(ToolChainTest, VFSGCCInstallationRelativeDir) {
- DiagnosticOptions DiagOpts;
+ IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
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,
@@ -174,7 +173,7 @@ TEST(ToolChainTest, VFSGCCInstallationRelativeDir) {
}
TEST(ToolChainTest, VFSSolarisMultiGCCInstallation) {
- DiagnosticOptions DiagOpts;
+ IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
struct TestDiagnosticConsumer : public DiagnosticConsumer {};
@@ -202,7 +201,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(
@@ -226,7 +225,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(
@@ -250,7 +249,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(
@@ -274,7 +273,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(
@@ -297,7 +296,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(
@@ -338,7 +337,7 @@ MATCHER_P(jobHasArgs, Substr, "") {
}
TEST(ToolChainTest, VFSGnuLibcxxPathNoSysroot) {
- DiagnosticOptions DiagOpts;
+ IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
struct TestDiagnosticConsumer : public DiagnosticConsumer {};
@@ -356,7 +355,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(
@@ -369,11 +368,11 @@ TEST(ToolChainTest, VFSGnuLibcxxPathNoSysroot) {
}
TEST(ToolChainTest, DefaultDriverMode) {
- DiagnosticOptions DiagOpts;
+ IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
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);
@@ -404,8 +403,8 @@ TEST(ToolChainTest, DefaultDriverMode) {
TEST(ToolChainTest, InvalidArgument) {
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
struct TestDiagnosticConsumer : public DiagnosticConsumer {};
- DiagnosticOptions DiagOpts;
- DiagnosticsEngine Diags(DiagID, DiagOpts, new TestDiagnosticConsumer);
+ IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
+ 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"}));
@@ -515,11 +514,11 @@ TEST(ToolChainTest, GetTargetAndMode) {
}
TEST(ToolChainTest, CommandOutput) {
- DiagnosticOptions DiagOpts;
+ IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
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);
@@ -544,10 +543,10 @@ TEST(ToolChainTest, CommandOutput) {
}
TEST(ToolChainTest, PostCallback) {
- DiagnosticOptions DiagOpts;
+ IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
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);
@@ -597,10 +596,10 @@ TEST(ToolChainTest, UEFICallingConventionTest) {
}
TEST(ToolChainTest, UEFIDefaultDebugFormatTest) {
- DiagnosticOptions DiagOpts;
+ IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
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,
@@ -639,10 +638,10 @@ struct SimpleDiagnosticConsumer : public DiagnosticConsumer {
};
TEST(ToolChainTest, ConfigFileSearch) {
- DiagnosticOptions DiagOpts;
+ IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
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);
@@ -716,11 +715,11 @@ struct FileSystemWithError : public llvm::vfs::FileSystem {
};
TEST(ToolChainTest, ConfigFileError) {
- DiagnosticOptions DiagOpts;
+ IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
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,
@@ -737,11 +736,11 @@ TEST(ToolChainTest, ConfigFileError) {
}
TEST(ToolChainTest, BadConfigFile) {
- DiagnosticOptions DiagOpts;
+ IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
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);
@@ -811,11 +810,11 @@ TEST(ToolChainTest, BadConfigFile) {
}
TEST(ToolChainTest, ConfigInexistentInclude) {
- DiagnosticOptions DiagOpts;
+ IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
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);
@@ -852,11 +851,11 @@ TEST(ToolChainTest, ConfigInexistentInclude) {
}
TEST(ToolChainTest, ConfigRecursiveInclude) {
- DiagnosticOptions DiagOpts;
+ IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
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);
@@ -898,10 +897,10 @@ TEST(ToolChainTest, ConfigRecursiveInclude) {
}
TEST(ToolChainTest, NestedConfigFile) {
- DiagnosticOptions DiagOpts;
+ IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
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);