summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJake Egan <jakeegan10@gmail.com>2022-01-09 12:20:38 -0500
committerJake Egan <jakeegan10@gmail.com>2022-01-09 12:25:24 -0500
commitfbf52caf58b3270c84e1cd3f399345272cca09a1 (patch)
tree4269c86f3eca37b5b0f0efd1e5c1895d5e24a198
parente745507eda2704e913cdde5ba9211d969d87b95e (diff)
downloadllvm-fbf52caf58b3270c84e1cd3f399345272cca09a1.tar.gz
[AIX] Disable tests that fail because of no 64-bit XCOFF object file support
The modified tests fail because 64-bit XCOFF object files are not currently supported on AIX. This patch disables these tests on 64-bit AIX for now. This patch is similar to D111887 except the failures on this patch are on a 64-bit build. Reviewed By: shchenz, #powerpc Differential Revision: https://reviews.llvm.org/D113049
-rw-r--r--clang/test/ASTMerge/codegen-body/test.c2
-rw-r--r--clang/test/ClangScanDeps/modules-full-by-mod-name.cpp1
-rw-r--r--clang/test/ClangScanDeps/resource_directory.c1
-rw-r--r--clang/test/lit.cfg.py21
-rw-r--r--llvm/test/LTO/X86/remangle_intrinsics.ll1
-rw-r--r--llvm/test/lit.cfg.py19
-rw-r--r--llvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp28
7 files changed, 72 insertions, 1 deletions
diff --git a/clang/test/ASTMerge/codegen-body/test.c b/clang/test/ASTMerge/codegen-body/test.c
index 7232bf4164b5..fc5553facbd9 100644
--- a/clang/test/ASTMerge/codegen-body/test.c
+++ b/clang/test/ASTMerge/codegen-body/test.c
@@ -1,5 +1,5 @@
+// UNSUPPORTED: powerpc64-ibm-aix
// RUN: %clang_cc1 -emit-pch -o %t.1.ast %S/Inputs/body1.c
// RUN: %clang_cc1 -emit-pch -o %t.2.ast %S/Inputs/body2.c
// RUN: %clang_cc1 -emit-obj -o /dev/null -ast-merge %t.1.ast -ast-merge %t.2.ast %s
// expected-no-diagnostics
-
diff --git a/clang/test/ClangScanDeps/modules-full-by-mod-name.cpp b/clang/test/ClangScanDeps/modules-full-by-mod-name.cpp
index cecc76840e1d..e8a067a974d8 100644
--- a/clang/test/ClangScanDeps/modules-full-by-mod-name.cpp
+++ b/clang/test/ClangScanDeps/modules-full-by-mod-name.cpp
@@ -1,3 +1,4 @@
+// UNSUPPORTED: powerpc64-ibm-aix
// RUN: rm -rf %t.dir
// RUN: rm -rf %t.cdb
// RUN: mkdir -p %t.dir
diff --git a/clang/test/ClangScanDeps/resource_directory.c b/clang/test/ClangScanDeps/resource_directory.c
index 55d5d90bbcde..b9e9d219541b 100644
--- a/clang/test/ClangScanDeps/resource_directory.c
+++ b/clang/test/ClangScanDeps/resource_directory.c
@@ -1,3 +1,4 @@
+// UNSUPPORTED: powerpc64-ibm-aix
// REQUIRES: shell
// RUN: rm -rf %t && mkdir %t
diff --git a/clang/test/lit.cfg.py b/clang/test/lit.cfg.py
index a1a3bf6ee626..a8efe6c593e9 100644
--- a/clang/test/lit.cfg.py
+++ b/clang/test/lit.cfg.py
@@ -243,3 +243,24 @@ if config.enable_shared:
# Add a vendor-specific feature.
if config.clang_vendor_uti:
config.available_features.add('clang-vendor=' + config.clang_vendor_uti)
+
+def exclude_unsupported_files_for_aix(dirname):
+ for filename in os.listdir(dirname):
+ source_path = os.path.join( dirname, filename)
+ if os.path.isdir(source_path):
+ continue
+ f = open(source_path, 'r', encoding='ISO-8859-1')
+ try:
+ data = f.read()
+ # 64-bit object files are not supported on AIX, so exclude the tests.
+ if (any(option in data for option in ('-emit-obj', '-fmodule-format=obj', '-fintegrated-as')) and
+ '64' in config.target_triple):
+ config.excludes += [ filename ]
+ finally:
+ f.close()
+
+if 'aix' in config.target_triple:
+ for directory in ('/CodeGenCXX', '/Misc', '/Modules', '/PCH', '/Driver',
+ '/ASTMerge/anonymous-fields', '/ASTMerge/injected-class-name-decl'):
+ exclude_unsupported_files_for_aix(config.test_source_root + directory)
+
diff --git a/llvm/test/LTO/X86/remangle_intrinsics.ll b/llvm/test/LTO/X86/remangle_intrinsics.ll
index 112cace0403b..523e78e5d30d 100644
--- a/llvm/test/LTO/X86/remangle_intrinsics.ll
+++ b/llvm/test/LTO/X86/remangle_intrinsics.ll
@@ -1,3 +1,4 @@
+; UNSUPPORTED: powerpc64-ibm-aix
; RUN: llvm-as < %s > %t1
; RUN: llvm-as < %p/Inputs/remangle_intrinsics.ll > %t2
; RUN: llvm-lto %t1 %t2 | FileCheck %s
diff --git a/llvm/test/lit.cfg.py b/llvm/test/lit.cfg.py
index 0753b0483ef9..9b80726df5c4 100644
--- a/llvm/test/lit.cfg.py
+++ b/llvm/test/lit.cfg.py
@@ -405,3 +405,22 @@ if config.expensive_checks:
if "MemoryWithOrigins" in config.llvm_use_sanitizer:
config.available_features.add('use_msan_with_origins')
+
+def exclude_unsupported_files_for_aix(dirname):
+ for filename in os.listdir(dirname):
+ source_path = os.path.join( dirname, filename)
+ if os.path.isdir(source_path):
+ continue
+ f = open(source_path, 'r')
+ try:
+ data = f.read()
+ # 64-bit object files are not supported on AIX, so exclude the tests.
+ if ('-emit-obj' in data or '-filetype=obj' in data) and '64' in config.target_triple:
+ config.excludes += [ filename ]
+ finally:
+ f.close()
+
+if 'aix' in config.target_triple:
+ for directory in ('/CodeGen/X86', '/DebugInfo', '/DebugInfo/X86', '/DebugInfo/Generic', '/LTO/X86', '/Linker'):
+ exclude_unsupported_files_for_aix(config.test_source_root + directory)
+
diff --git a/llvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp b/llvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp
index ddd057aa1121..386ef4e4383b 100644
--- a/llvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp
+++ b/llvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp
@@ -1131,7 +1131,11 @@ TEST(DWARFDebugInfo, TestStringOffsets) {
EXPECT_STREQ(String1, *Extracted3);
}
+#if defined(_AIX) && defined(__64BIT__)
+TEST(DWARFDebugInfo, DISABLED_TestEmptyStringOffsets) {
+#else
TEST(DWARFDebugInfo, TestEmptyStringOffsets) {
+#endif
Triple Triple = getNormalizedDefaultTargetTriple();
if (!isConfigurationSupported(Triple))
GTEST_SKIP();
@@ -1160,7 +1164,11 @@ TEST(DWARFDebugInfo, TestEmptyStringOffsets) {
DwarfContext->getDWARFObj().getStrOffsetsSection().Data.empty());
}
+#if defined(_AIX) && defined(__64BIT__)
+TEST(DWARFDebugInfo, DISABLED_TestRelations) {
+#else
TEST(DWARFDebugInfo, TestRelations) {
+#endif
Triple Triple = getNormalizedDefaultTargetTriple();
if (!isConfigurationSupported(Triple))
GTEST_SKIP();
@@ -1347,7 +1355,11 @@ TEST(DWARFDebugInfo, TestDWARFDie) {
EXPECT_FALSE(DefaultDie.getSibling().isValid());
}
+#if defined(_AIX) && defined(__64BIT__)
+TEST(DWARFDebugInfo, DISABLED_TestChildIterators) {
+#else
TEST(DWARFDebugInfo, TestChildIterators) {
+#endif
Triple Triple = getNormalizedDefaultTargetTriple();
if (!isConfigurationSupported(Triple))
GTEST_SKIP();
@@ -1456,7 +1468,11 @@ TEST(DWARFDebugInfo, TestEmptyChildren) {
EXPECT_EQ(CUDie.begin(), CUDie.end());
}
+#if defined(_AIX) && defined(__64BIT__)
+TEST(DWARFDebugInfo, DISABLED_TestAttributeIterators) {
+#else
TEST(DWARFDebugInfo, TestAttributeIterators) {
+#endif
Triple Triple = getNormalizedDefaultTargetTriple();
if (!isConfigurationSupported(Triple))
GTEST_SKIP();
@@ -1518,7 +1534,11 @@ TEST(DWARFDebugInfo, TestAttributeIterators) {
EXPECT_EQ(E, ++I);
}
+#if defined(_AIX) && defined(__64BIT__)
+TEST(DWARFDebugInfo, DISABLED_TestFindRecurse) {
+#else
TEST(DWARFDebugInfo, TestFindRecurse) {
+#endif
Triple Triple = getNormalizedDefaultTargetTriple();
if (!isConfigurationSupported(Triple))
GTEST_SKIP();
@@ -1732,7 +1752,11 @@ TEST(DWARFDebugInfo, TestDwarfToFunctions) {
// Test
}
+#if defined(_AIX) && defined(__64BIT__)
+TEST(DWARFDebugInfo, DISABLED_TestFindAttrs) {
+#else
TEST(DWARFDebugInfo, TestFindAttrs) {
+#endif
Triple Triple = getNormalizedDefaultTargetTriple();
if (!isConfigurationSupported(Triple))
GTEST_SKIP();
@@ -1795,7 +1819,11 @@ TEST(DWARFDebugInfo, TestFindAttrs) {
EXPECT_EQ(DieMangled, toString(NameOpt, ""));
}
+#if defined(_AIX) && defined(__64BIT__)
+TEST(DWARFDebugInfo, DISABLED_TestImplicitConstAbbrevs) {
+#else
TEST(DWARFDebugInfo, TestImplicitConstAbbrevs) {
+#endif
Triple Triple = getNormalizedDefaultTargetTriple();
if (!isConfigurationSupported(Triple))
GTEST_SKIP();