Jake-Egan updated this revision to Diff 389196. Jake-Egan added a comment. Thanks for the review. I updated the patch to use lit.cfg.py to filter tests that use obj options. For tests that don't use the option or has an individual folder, I changed them to UNSUPPORTED instead of XFAIL.
Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D113049/new/ https://reviews.llvm.org/D113049 Files: clang/test/ASTMerge/anonymous-fields/test.cpp clang/test/ASTMerge/codegen-body/test.c clang/test/ASTMerge/injected-class-name-decl/test.cpp clang/test/ClangScanDeps/modules-full-by-mod-name.cpp clang/test/ClangScanDeps/modules-pch-common-submodule.c clang/test/ClangScanDeps/modules-pch-common-via-submodule.c clang/test/ClangScanDeps/modules-pch.c clang/test/ClangScanDeps/resource_directory.c clang/test/Driver/as-version.s clang/test/Driver/cc-print-proc-stat.c clang/test/Driver/compilation_database.c clang/test/Driver/modules-ts.cpp clang/test/Driver/report-stat.c clang/test/lit.cfg.py llvm/test/LTO/X86/remangle_intrinsics.ll llvm/test/lit.cfg.py llvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp
Index: llvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp =================================================================== --- llvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp +++ llvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp @@ -1131,7 +1131,11 @@ EXPECT_STREQ(String1, *Extracted3); } +#if defined(_AIX) && defined(__64BIT__) +TEST(DWARFDebugInfo, DISABLED_TestEmptyStringOffsets) { +#else TEST(DWARFDebugInfo, TestEmptyStringOffsets) { +#endif Triple Triple = getNormalizedDefaultTargetTriple(); if (!isObjectEmissionSupported(Triple)) return; @@ -1160,7 +1164,11 @@ DwarfContext->getDWARFObj().getStrOffsetsSection().Data.empty()); } +#if defined(_AIX) && defined(__64BIT__) +TEST(DWARFDebugInfo, DISABLED_TestRelations) { +#else TEST(DWARFDebugInfo, TestRelations) { +#endif Triple Triple = getNormalizedDefaultTargetTriple(); if (!isObjectEmissionSupported(Triple)) return; @@ -1347,7 +1355,11 @@ EXPECT_FALSE(DefaultDie.getSibling().isValid()); } +#if defined(_AIX) && defined(__64BIT__) +TEST(DWARFDebugInfo, DISABLED_TestChildIterators) { +#else TEST(DWARFDebugInfo, TestChildIterators) { +#endif Triple Triple = getNormalizedDefaultTargetTriple(); if (!isObjectEmissionSupported(Triple)) return; @@ -1456,7 +1468,11 @@ EXPECT_EQ(CUDie.begin(), CUDie.end()); } +#if defined(_AIX) && defined(__64BIT__) +TEST(DWARFDebugInfo, DISABLED_TestAttributeIterators) { +#else TEST(DWARFDebugInfo, TestAttributeIterators) { +#endif Triple Triple = getNormalizedDefaultTargetTriple(); if (!isObjectEmissionSupported(Triple)) return; @@ -1518,7 +1534,11 @@ EXPECT_EQ(E, ++I); } +#if defined(_AIX) && defined(__64BIT__) +TEST(DWARFDebugInfo, DISABLED_TestFindRecurse) { +#else TEST(DWARFDebugInfo, TestFindRecurse) { +#endif Triple Triple = getNormalizedDefaultTargetTriple(); if (!isObjectEmissionSupported(Triple)) return; @@ -1732,7 +1752,11 @@ // Test } +#if defined(_AIX) && defined(__64BIT__) +TEST(DWARFDebugInfo, DISABLED_TestFindAttrs) { +#else TEST(DWARFDebugInfo, TestFindAttrs) { +#endif Triple Triple = getNormalizedDefaultTargetTriple(); if (!isObjectEmissionSupported(Triple)) return; @@ -1795,7 +1819,11 @@ EXPECT_EQ(DieMangled, toString(NameOpt, "")); } +#if defined(_AIX) && defined(__64BIT__) +TEST(DWARFDebugInfo, DISABLED_TestImplicitConstAbbrevs) { +#else TEST(DWARFDebugInfo, TestImplicitConstAbbrevs) { +#endif Triple Triple = getNormalizedDefaultTargetTriple(); if (!isObjectEmissionSupported(Triple)) return; Index: llvm/test/lit.cfg.py =================================================================== --- llvm/test/lit.cfg.py +++ llvm/test/lit.cfg.py @@ -402,3 +402,22 @@ 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) + Index: llvm/test/LTO/X86/remangle_intrinsics.ll =================================================================== --- llvm/test/LTO/X86/remangle_intrinsics.ll +++ 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 Index: clang/test/lit.cfg.py =================================================================== --- clang/test/lit.cfg.py +++ clang/test/lit.cfg.py @@ -240,3 +240,22 @@ # 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 ('-emit-obj' in data or '-fmodule-format=obj' in data) 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'): + exclude_unsupported_files_for_aix(config.test_source_root + directory) + Index: clang/test/Driver/report-stat.c =================================================================== --- clang/test/Driver/report-stat.c +++ clang/test/Driver/report-stat.c @@ -1,3 +1,4 @@ +// UNSUPPORTED: powerpc64-ibm-aix // RUN: %clang -c -fproc-stat-report -fintegrated-as %s | FileCheck %s // CHECK: clang{{.*}}: output={{.*}}.o, total={{[0-9.]+}} ms, user={{[0-9.]+}} ms, mem={{[0-9]+}} Kb Index: clang/test/Driver/modules-ts.cpp =================================================================== --- clang/test/Driver/modules-ts.cpp +++ clang/test/Driver/modules-ts.cpp @@ -1,3 +1,4 @@ +// UNSUPPORTED: powerpc64-ibm-aix // Check compiling a module interface to a .pcm file. // // RUN: %clang -fmodules-ts -x c++-module --precompile %s -o %t.pcm -v 2>&1 | FileCheck %s --check-prefix=CHECK-PRECOMPILE Index: clang/test/Driver/compilation_database.c =================================================================== --- clang/test/Driver/compilation_database.c +++ clang/test/Driver/compilation_database.c @@ -1,3 +1,4 @@ +// UNSUPPORTED: powerpc64-ibm-aix // RUN: mkdir -p %t.workdir && cd %t.workdir // RUN: %clang -fintegrated-as -MD -MP --sysroot=somewhere -c -x c %s -xc++ %s -Wall -MJ - -no-canonical-prefixes 2>&1 | FileCheck %s // RUN: not %clang -c -x c %s -MJ %s/non-existant -no-canonical-prefixes 2>&1 | FileCheck --check-prefix=ERROR %s Index: clang/test/Driver/cc-print-proc-stat.c =================================================================== --- clang/test/Driver/cc-print-proc-stat.c +++ clang/test/Driver/cc-print-proc-stat.c @@ -1,3 +1,4 @@ +// UNSUPPORTED: powerpc64-ibm-aix // RUN: env CC_PRINT_PROC_STAT=1 \ // RUN: CC_PRINT_PROC_STAT_FILE=%t.csv \ // RUN: %clang -no-canonical-prefixes -S -o %t.s %s Index: clang/test/Driver/as-version.s =================================================================== --- clang/test/Driver/as-version.s +++ clang/test/Driver/as-version.s @@ -1,6 +1,6 @@ // Test version information. -// UNSUPPORTED: -zos +// UNSUPPORTED: -zos, powerpc64-ibm-aix // RUN: %clang -Wa,--version -c -fintegrated-as %s -o /dev/null \ // RUN: | FileCheck --check-prefix=IAS %s // IAS: clang version Index: clang/test/ClangScanDeps/resource_directory.c =================================================================== --- clang/test/ClangScanDeps/resource_directory.c +++ clang/test/ClangScanDeps/resource_directory.c @@ -1,3 +1,4 @@ +// UNSUPPORTED: powerpc64-ibm-aix // REQUIRES: shell // RUN: rm -rf %t && mkdir %t Index: clang/test/ClangScanDeps/modules-pch.c =================================================================== --- clang/test/ClangScanDeps/modules-pch.c +++ clang/test/ClangScanDeps/modules-pch.c @@ -1,3 +1,4 @@ +// UNSUPPORTED: powerpc64-ibm-aix // RUN: rm -rf %t && mkdir %t // RUN: cp %S/Inputs/modules-pch/* %t Index: clang/test/ClangScanDeps/modules-pch-common-via-submodule.c =================================================================== --- clang/test/ClangScanDeps/modules-pch-common-via-submodule.c +++ clang/test/ClangScanDeps/modules-pch-common-via-submodule.c @@ -1,3 +1,4 @@ +// UNSUPPORTED: powerpc64-ibm-aix // Check that we discover dependency on a precompiled module (and generate the // appropriate `-fmodule-file=` argument) when it's imported by a **submodule** // instead of a top-level module. Index: clang/test/ClangScanDeps/modules-pch-common-submodule.c =================================================================== --- clang/test/ClangScanDeps/modules-pch-common-submodule.c +++ clang/test/ClangScanDeps/modules-pch-common-submodule.c @@ -1,3 +1,4 @@ +// UNSUPPORTED: powerpc64-ibm-aix // Check that when depending on a precompiled module, we depend on the // **top-level** module. Submodules don't have some information present (for // example the path to the modulemap file) and depending on them might cause Index: clang/test/ClangScanDeps/modules-full-by-mod-name.cpp =================================================================== --- clang/test/ClangScanDeps/modules-full-by-mod-name.cpp +++ 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 Index: clang/test/ASTMerge/injected-class-name-decl/test.cpp =================================================================== --- clang/test/ASTMerge/injected-class-name-decl/test.cpp +++ clang/test/ASTMerge/injected-class-name-decl/test.cpp @@ -1,3 +1,4 @@ +// UNSUPPORTED: powerpc64-ibm-aix // RUN: %clang_cc1 -std=c++1z -emit-pch -o %t.ast %S/Inputs/inject1.cpp // RUN: %clang_cc1 -std=c++1z -emit-obj -o /dev/null -ast-merge %t.ast %S/Inputs/inject2.cpp // expected-no-diagnostics Index: clang/test/ASTMerge/codegen-body/test.c =================================================================== --- clang/test/ASTMerge/codegen-body/test.c +++ 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 - Index: clang/test/ASTMerge/anonymous-fields/test.cpp =================================================================== --- clang/test/ASTMerge/anonymous-fields/test.cpp +++ clang/test/ASTMerge/anonymous-fields/test.cpp @@ -1,3 +1,4 @@ +// UNSUPPORTED: powerpc64-ibm-aix // RUN: %clang_cc1 -emit-pch -o %t.1.ast %S/Inputs/anonymous-fields1.cpp // RUN: %clang_cc1 -emit-pch -o %t.2.ast %S/Inputs/anonymous-fields2.cpp // RUN: %clang_cc1 -emit-obj -o /dev/null -ast-merge %t.1.ast -ast-merge %t.2.ast %s
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits