[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
This commit is contained in:
Jake Egan 2022-01-09 12:20:38 -05:00
parent e745507eda
commit fbf52caf58
7 changed files with 72 additions and 1 deletions

View File

@ -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

View File

@ -1,3 +1,4 @@
// UNSUPPORTED: powerpc64-ibm-aix
// RUN: rm -rf %t.dir
// RUN: rm -rf %t.cdb
// RUN: mkdir -p %t.dir

View File

@ -1,3 +1,4 @@
// UNSUPPORTED: powerpc64-ibm-aix
// REQUIRES: shell
// RUN: rm -rf %t && mkdir %t

View File

@ -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)

View File

@ -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

View File

@ -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)

View File

@ -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();