https://github.com/dyung created https://github.com/llvm/llvm-project/pull/145951
Reverts llvm/llvm-project#145855 The test added is XPASS-ing on a bot: https://lab.llvm.org/buildbot/#/builders/144/builds/28623 >From 65a93a8fd6113c74e7f8d868717f5c33dba40096 Mon Sep 17 00:00:00 2001 From: dyung <douglas.y...@sony.com> Date: Thu, 26 Jun 2025 15:01:08 -0400 Subject: [PATCH] =?UTF-8?q?Revert=20"[clang][python][test]=20Move=20python?= =?UTF-8?q?=20binding=20tests=20to=20lit=20framework=20(#14=E2=80=A6"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 90c9cc2c9810d0030508451d4f672f44667952cf. --- .github/workflows/libclang-python-tests.yml | 4 +- clang/CMakeLists.txt | 1 + clang/bindings/python/tests/CMakeLists.txt | 66 +++++++++++++++++++ .../bindings/python/tests/__init__.py | 0 .../bindings/python/tests/cindex/INPUTS/a.inc | 0 .../bindings/python/tests/cindex/INPUTS/b.inc | 0 .../tests/cindex/INPUTS/compile_commands.json | 0 .../python/tests/cindex/INPUTS/header1.h | 0 .../python/tests/cindex/INPUTS/header2.h | 0 .../python/tests/cindex/INPUTS/header3.h | 0 .../python/tests/cindex/INPUTS/hello.cpp | 0 .../python/tests/cindex/INPUTS/include.cpp | 0 .../tests/cindex/INPUTS/parse_arguments.c | 0 .../python/tests/cindex/INPUTS/testfile.c | 0 .../bindings/python/tests/cindex/__init__.py | 0 .../tests/cindex/test_access_specifiers.py | 0 .../bindings/python/tests/cindex/test_cdb.py | 0 .../tests/cindex/test_code_completion.py | 0 .../python/tests/cindex/test_comment.py | 0 .../python/tests/cindex/test_cursor.py | 0 .../python/tests/cindex/test_cursor_kind.py | 0 .../python/tests/cindex/test_diagnostics.py | 0 .../python/tests/cindex/test_enums.py | 0 .../test_exception_specification_kind.py | 0 .../bindings/python/tests/cindex/test_file.py | 0 .../python/tests/cindex/test_index.py | 0 .../bindings/python/tests/cindex/test_lib.py | 0 .../python/tests/cindex/test_linkage.py | 0 .../python/tests/cindex/test_location.py | 0 .../python/tests/cindex/test_rewrite.py | 0 .../python/tests/cindex/test_source_range.py | 0 .../python/tests/cindex/test_tls_kind.py | 0 .../python/tests/cindex/test_token_kind.py | 0 .../python/tests/cindex/test_tokens.py | 0 .../tests/cindex/test_translation_unit.py | 0 .../bindings/python/tests/cindex/test_type.py | 0 .../bindings/python/tests/cindex/util.py | 0 clang/test/CMakeLists.txt | 11 ---- clang/test/bindings/python/bindings.sh | 33 ---------- clang/test/bindings/python/lit.local.cfg | 41 ------------ 40 files changed, 69 insertions(+), 87 deletions(-) create mode 100644 clang/bindings/python/tests/CMakeLists.txt rename clang/{test => }/bindings/python/tests/__init__.py (100%) rename clang/{test => }/bindings/python/tests/cindex/INPUTS/a.inc (100%) rename clang/{test => }/bindings/python/tests/cindex/INPUTS/b.inc (100%) rename clang/{test => }/bindings/python/tests/cindex/INPUTS/compile_commands.json (100%) rename clang/{test => }/bindings/python/tests/cindex/INPUTS/header1.h (100%) rename clang/{test => }/bindings/python/tests/cindex/INPUTS/header2.h (100%) rename clang/{test => }/bindings/python/tests/cindex/INPUTS/header3.h (100%) rename clang/{test => }/bindings/python/tests/cindex/INPUTS/hello.cpp (100%) rename clang/{test => }/bindings/python/tests/cindex/INPUTS/include.cpp (100%) rename clang/{test => }/bindings/python/tests/cindex/INPUTS/parse_arguments.c (100%) rename clang/{test => }/bindings/python/tests/cindex/INPUTS/testfile.c (100%) rename clang/{test => }/bindings/python/tests/cindex/__init__.py (100%) rename clang/{test => }/bindings/python/tests/cindex/test_access_specifiers.py (100%) rename clang/{test => }/bindings/python/tests/cindex/test_cdb.py (100%) rename clang/{test => }/bindings/python/tests/cindex/test_code_completion.py (100%) rename clang/{test => }/bindings/python/tests/cindex/test_comment.py (100%) rename clang/{test => }/bindings/python/tests/cindex/test_cursor.py (100%) rename clang/{test => }/bindings/python/tests/cindex/test_cursor_kind.py (100%) rename clang/{test => }/bindings/python/tests/cindex/test_diagnostics.py (100%) rename clang/{test => }/bindings/python/tests/cindex/test_enums.py (100%) rename clang/{test => }/bindings/python/tests/cindex/test_exception_specification_kind.py (100%) rename clang/{test => }/bindings/python/tests/cindex/test_file.py (100%) rename clang/{test => }/bindings/python/tests/cindex/test_index.py (100%) rename clang/{test => }/bindings/python/tests/cindex/test_lib.py (100%) rename clang/{test => }/bindings/python/tests/cindex/test_linkage.py (100%) rename clang/{test => }/bindings/python/tests/cindex/test_location.py (100%) rename clang/{test => }/bindings/python/tests/cindex/test_rewrite.py (100%) rename clang/{test => }/bindings/python/tests/cindex/test_source_range.py (100%) rename clang/{test => }/bindings/python/tests/cindex/test_tls_kind.py (100%) rename clang/{test => }/bindings/python/tests/cindex/test_token_kind.py (100%) rename clang/{test => }/bindings/python/tests/cindex/test_tokens.py (100%) rename clang/{test => }/bindings/python/tests/cindex/test_translation_unit.py (100%) rename clang/{test => }/bindings/python/tests/cindex/test_type.py (100%) rename clang/{test => }/bindings/python/tests/cindex/util.py (100%) delete mode 100755 clang/test/bindings/python/bindings.sh delete mode 100644 clang/test/bindings/python/lit.local.cfg diff --git a/.github/workflows/libclang-python-tests.yml b/.github/workflows/libclang-python-tests.yml index 43b50cec61716..50ef4acf2feb1 100644 --- a/.github/workflows/libclang-python-tests.yml +++ b/.github/workflows/libclang-python-tests.yml @@ -10,15 +10,15 @@ on: - 'main' paths: - 'clang/bindings/python/**' - - 'clang/test/bindings/python/**' - 'clang/tools/libclang/**' + - 'clang/CMakeList.txt' - '.github/workflows/libclang-python-tests.yml' - '.github/workflows/llvm-project-tests.yml' pull_request: paths: - 'clang/bindings/python/**' - - 'clang/test/bindings/python/**' - 'clang/tools/libclang/**' + - 'clang/CMakeList.txt' - '.github/workflows/libclang-python-tests.yml' - '.github/workflows/llvm-project-tests.yml' diff --git a/clang/CMakeLists.txt b/clang/CMakeLists.txt index 72386132bce9f..94607a8e8473c 100644 --- a/clang/CMakeLists.txt +++ b/clang/CMakeLists.txt @@ -530,6 +530,7 @@ if( CLANG_INCLUDE_TESTS ) clang_unit_site_config=${CMAKE_CURRENT_BINARY_DIR}/test/Unit/lit.site.cfg ) add_subdirectory(test) + add_subdirectory(bindings/python/tests) if(CLANG_BUILT_STANDALONE) umbrella_lit_testsuite_end(check-all) diff --git a/clang/bindings/python/tests/CMakeLists.txt b/clang/bindings/python/tests/CMakeLists.txt new file mode 100644 index 0000000000000..a0ddabc21bb41 --- /dev/null +++ b/clang/bindings/python/tests/CMakeLists.txt @@ -0,0 +1,66 @@ +# Test target to run Python test suite from main build. + +# Avoid configurations including '-include' from interfering with +# our tests by setting CLANG_NO_DEFAULT_CONFIG. +add_custom_target(check-clang-python + COMMAND ${CMAKE_COMMAND} -E env + CLANG_NO_DEFAULT_CONFIG=1 + CLANG_LIBRARY_PATH=$<TARGET_FILE_DIR:libclang> + "${Python3_EXECUTABLE}" -m unittest discover + DEPENDS libclang + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/..) + +set(RUN_PYTHON_TESTS TRUE) +set_target_properties(check-clang-python PROPERTIES FOLDER "Clang/Tests") + +# Tests require libclang.so which is only built with LLVM_ENABLE_PIC=ON +if(NOT LLVM_ENABLE_PIC) + set(RUN_PYTHON_TESTS FALSE) +endif() + +# Do not try to run if libclang was built with sanitizers because +# the sanitizer library will likely be loaded too late to perform +# interception and will then fail. +# We could use LD_PRELOAD/DYLD_INSERT_LIBRARIES but this isn't +# portable so its easier just to not run the tests when building +# with ASan. +if(NOT LLVM_USE_SANITIZER STREQUAL "") + set(RUN_PYTHON_TESTS FALSE) +endif() + +# Tests fail on Windows, and need someone knowledgeable to fix. +# It's not clear whether it's a test or a valid binding problem. +if(WIN32) + set(RUN_PYTHON_TESTS FALSE) +endif() + +# The Python FFI interface is broken on AIX: https://bugs.python.org/issue38628. +if(${CMAKE_SYSTEM_NAME} MATCHES "AIX") + set(RUN_PYTHON_TESTS FALSE) +endif() + +# AArch64, Hexagon, and Sparc have known test failures that need to be +# addressed. +# SystemZ has broken Python/FFI interface: +# https://reviews.llvm.org/D52840#1265716 +if(${LLVM_NATIVE_ARCH} MATCHES "^(AArch64|Hexagon|Sparc|SystemZ)$") + set(RUN_PYTHON_TESTS FALSE) +endif() + +# Tests will fail if cross-compiling for a different target, as tests will try +# to use the host Python3_EXECUTABLE and make FFI calls to functions in target +# libraries. +if(CMAKE_CROSSCOMPILING) + # FIXME: Consider a solution that allows better control over these tests in + # a crosscompiling scenario. e.g. registering them with lit to allow them to + # be explicitly skipped via appropriate LIT_ARGS, or adding a mechanism to + # allow specifying a python interpreter compiled for the target that could + # be executed using qemu-user. + message(WARNING "check-clang-python not added to check-all as these tests fail in a cross-build setup") + set(RUN_PYTHON_TESTS FALSE) +endif() + +if(RUN_PYTHON_TESTS) + set_property(GLOBAL APPEND PROPERTY + LLVM_ALL_ADDITIONAL_TEST_TARGETS check-clang-python) +endif() diff --git a/clang/test/bindings/python/tests/__init__.py b/clang/bindings/python/tests/__init__.py similarity index 100% rename from clang/test/bindings/python/tests/__init__.py rename to clang/bindings/python/tests/__init__.py diff --git a/clang/test/bindings/python/tests/cindex/INPUTS/a.inc b/clang/bindings/python/tests/cindex/INPUTS/a.inc similarity index 100% rename from clang/test/bindings/python/tests/cindex/INPUTS/a.inc rename to clang/bindings/python/tests/cindex/INPUTS/a.inc diff --git a/clang/test/bindings/python/tests/cindex/INPUTS/b.inc b/clang/bindings/python/tests/cindex/INPUTS/b.inc similarity index 100% rename from clang/test/bindings/python/tests/cindex/INPUTS/b.inc rename to clang/bindings/python/tests/cindex/INPUTS/b.inc diff --git a/clang/test/bindings/python/tests/cindex/INPUTS/compile_commands.json b/clang/bindings/python/tests/cindex/INPUTS/compile_commands.json similarity index 100% rename from clang/test/bindings/python/tests/cindex/INPUTS/compile_commands.json rename to clang/bindings/python/tests/cindex/INPUTS/compile_commands.json diff --git a/clang/test/bindings/python/tests/cindex/INPUTS/header1.h b/clang/bindings/python/tests/cindex/INPUTS/header1.h similarity index 100% rename from clang/test/bindings/python/tests/cindex/INPUTS/header1.h rename to clang/bindings/python/tests/cindex/INPUTS/header1.h diff --git a/clang/test/bindings/python/tests/cindex/INPUTS/header2.h b/clang/bindings/python/tests/cindex/INPUTS/header2.h similarity index 100% rename from clang/test/bindings/python/tests/cindex/INPUTS/header2.h rename to clang/bindings/python/tests/cindex/INPUTS/header2.h diff --git a/clang/test/bindings/python/tests/cindex/INPUTS/header3.h b/clang/bindings/python/tests/cindex/INPUTS/header3.h similarity index 100% rename from clang/test/bindings/python/tests/cindex/INPUTS/header3.h rename to clang/bindings/python/tests/cindex/INPUTS/header3.h diff --git a/clang/test/bindings/python/tests/cindex/INPUTS/hello.cpp b/clang/bindings/python/tests/cindex/INPUTS/hello.cpp similarity index 100% rename from clang/test/bindings/python/tests/cindex/INPUTS/hello.cpp rename to clang/bindings/python/tests/cindex/INPUTS/hello.cpp diff --git a/clang/test/bindings/python/tests/cindex/INPUTS/include.cpp b/clang/bindings/python/tests/cindex/INPUTS/include.cpp similarity index 100% rename from clang/test/bindings/python/tests/cindex/INPUTS/include.cpp rename to clang/bindings/python/tests/cindex/INPUTS/include.cpp diff --git a/clang/test/bindings/python/tests/cindex/INPUTS/parse_arguments.c b/clang/bindings/python/tests/cindex/INPUTS/parse_arguments.c similarity index 100% rename from clang/test/bindings/python/tests/cindex/INPUTS/parse_arguments.c rename to clang/bindings/python/tests/cindex/INPUTS/parse_arguments.c diff --git a/clang/test/bindings/python/tests/cindex/INPUTS/testfile.c b/clang/bindings/python/tests/cindex/INPUTS/testfile.c similarity index 100% rename from clang/test/bindings/python/tests/cindex/INPUTS/testfile.c rename to clang/bindings/python/tests/cindex/INPUTS/testfile.c diff --git a/clang/test/bindings/python/tests/cindex/__init__.py b/clang/bindings/python/tests/cindex/__init__.py similarity index 100% rename from clang/test/bindings/python/tests/cindex/__init__.py rename to clang/bindings/python/tests/cindex/__init__.py diff --git a/clang/test/bindings/python/tests/cindex/test_access_specifiers.py b/clang/bindings/python/tests/cindex/test_access_specifiers.py similarity index 100% rename from clang/test/bindings/python/tests/cindex/test_access_specifiers.py rename to clang/bindings/python/tests/cindex/test_access_specifiers.py diff --git a/clang/test/bindings/python/tests/cindex/test_cdb.py b/clang/bindings/python/tests/cindex/test_cdb.py similarity index 100% rename from clang/test/bindings/python/tests/cindex/test_cdb.py rename to clang/bindings/python/tests/cindex/test_cdb.py diff --git a/clang/test/bindings/python/tests/cindex/test_code_completion.py b/clang/bindings/python/tests/cindex/test_code_completion.py similarity index 100% rename from clang/test/bindings/python/tests/cindex/test_code_completion.py rename to clang/bindings/python/tests/cindex/test_code_completion.py diff --git a/clang/test/bindings/python/tests/cindex/test_comment.py b/clang/bindings/python/tests/cindex/test_comment.py similarity index 100% rename from clang/test/bindings/python/tests/cindex/test_comment.py rename to clang/bindings/python/tests/cindex/test_comment.py diff --git a/clang/test/bindings/python/tests/cindex/test_cursor.py b/clang/bindings/python/tests/cindex/test_cursor.py similarity index 100% rename from clang/test/bindings/python/tests/cindex/test_cursor.py rename to clang/bindings/python/tests/cindex/test_cursor.py diff --git a/clang/test/bindings/python/tests/cindex/test_cursor_kind.py b/clang/bindings/python/tests/cindex/test_cursor_kind.py similarity index 100% rename from clang/test/bindings/python/tests/cindex/test_cursor_kind.py rename to clang/bindings/python/tests/cindex/test_cursor_kind.py diff --git a/clang/test/bindings/python/tests/cindex/test_diagnostics.py b/clang/bindings/python/tests/cindex/test_diagnostics.py similarity index 100% rename from clang/test/bindings/python/tests/cindex/test_diagnostics.py rename to clang/bindings/python/tests/cindex/test_diagnostics.py diff --git a/clang/test/bindings/python/tests/cindex/test_enums.py b/clang/bindings/python/tests/cindex/test_enums.py similarity index 100% rename from clang/test/bindings/python/tests/cindex/test_enums.py rename to clang/bindings/python/tests/cindex/test_enums.py diff --git a/clang/test/bindings/python/tests/cindex/test_exception_specification_kind.py b/clang/bindings/python/tests/cindex/test_exception_specification_kind.py similarity index 100% rename from clang/test/bindings/python/tests/cindex/test_exception_specification_kind.py rename to clang/bindings/python/tests/cindex/test_exception_specification_kind.py diff --git a/clang/test/bindings/python/tests/cindex/test_file.py b/clang/bindings/python/tests/cindex/test_file.py similarity index 100% rename from clang/test/bindings/python/tests/cindex/test_file.py rename to clang/bindings/python/tests/cindex/test_file.py diff --git a/clang/test/bindings/python/tests/cindex/test_index.py b/clang/bindings/python/tests/cindex/test_index.py similarity index 100% rename from clang/test/bindings/python/tests/cindex/test_index.py rename to clang/bindings/python/tests/cindex/test_index.py diff --git a/clang/test/bindings/python/tests/cindex/test_lib.py b/clang/bindings/python/tests/cindex/test_lib.py similarity index 100% rename from clang/test/bindings/python/tests/cindex/test_lib.py rename to clang/bindings/python/tests/cindex/test_lib.py diff --git a/clang/test/bindings/python/tests/cindex/test_linkage.py b/clang/bindings/python/tests/cindex/test_linkage.py similarity index 100% rename from clang/test/bindings/python/tests/cindex/test_linkage.py rename to clang/bindings/python/tests/cindex/test_linkage.py diff --git a/clang/test/bindings/python/tests/cindex/test_location.py b/clang/bindings/python/tests/cindex/test_location.py similarity index 100% rename from clang/test/bindings/python/tests/cindex/test_location.py rename to clang/bindings/python/tests/cindex/test_location.py diff --git a/clang/test/bindings/python/tests/cindex/test_rewrite.py b/clang/bindings/python/tests/cindex/test_rewrite.py similarity index 100% rename from clang/test/bindings/python/tests/cindex/test_rewrite.py rename to clang/bindings/python/tests/cindex/test_rewrite.py diff --git a/clang/test/bindings/python/tests/cindex/test_source_range.py b/clang/bindings/python/tests/cindex/test_source_range.py similarity index 100% rename from clang/test/bindings/python/tests/cindex/test_source_range.py rename to clang/bindings/python/tests/cindex/test_source_range.py diff --git a/clang/test/bindings/python/tests/cindex/test_tls_kind.py b/clang/bindings/python/tests/cindex/test_tls_kind.py similarity index 100% rename from clang/test/bindings/python/tests/cindex/test_tls_kind.py rename to clang/bindings/python/tests/cindex/test_tls_kind.py diff --git a/clang/test/bindings/python/tests/cindex/test_token_kind.py b/clang/bindings/python/tests/cindex/test_token_kind.py similarity index 100% rename from clang/test/bindings/python/tests/cindex/test_token_kind.py rename to clang/bindings/python/tests/cindex/test_token_kind.py diff --git a/clang/test/bindings/python/tests/cindex/test_tokens.py b/clang/bindings/python/tests/cindex/test_tokens.py similarity index 100% rename from clang/test/bindings/python/tests/cindex/test_tokens.py rename to clang/bindings/python/tests/cindex/test_tokens.py diff --git a/clang/test/bindings/python/tests/cindex/test_translation_unit.py b/clang/bindings/python/tests/cindex/test_translation_unit.py similarity index 100% rename from clang/test/bindings/python/tests/cindex/test_translation_unit.py rename to clang/bindings/python/tests/cindex/test_translation_unit.py diff --git a/clang/test/bindings/python/tests/cindex/test_type.py b/clang/bindings/python/tests/cindex/test_type.py similarity index 100% rename from clang/test/bindings/python/tests/cindex/test_type.py rename to clang/bindings/python/tests/cindex/test_type.py diff --git a/clang/test/bindings/python/tests/cindex/util.py b/clang/bindings/python/tests/cindex/util.py similarity index 100% rename from clang/test/bindings/python/tests/cindex/util.py rename to clang/bindings/python/tests/cindex/util.py diff --git a/clang/test/CMakeLists.txt b/clang/test/CMakeLists.txt index a9b88d4f4d9ec..e5b4a3bb84645 100644 --- a/clang/test/CMakeLists.txt +++ b/clang/test/CMakeLists.txt @@ -205,17 +205,6 @@ add_custom_target(clang-test) add_dependencies(clang-test check-clang) set_target_properties(clang-test PROPERTIES FOLDER "Clang/Tests") -# Allow running Clang Python binding tests separately from CI. -add_lit_testsuite(check-clang-python "Running the Clang Python tests" - ${CMAKE_CURRENT_BINARY_DIR} - #LIT ${LLVM_LIT} - PARAMS ${CLANG_TEST_PARAMS} - DEPENDS ${CLANG_TEST_DEPS} - ARGS ${CLANG_TEST_EXTRA_ARGS} --filter=bindings.sh - # Avoid running tests twice. - EXCLUDE_FROM_CHECK_ALL - ) - # FIXME: This logic can be removed once all buildbots have moved # debuginfo-test from clang/test to llvm/projects or monorepo. if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/debuginfo-tests) diff --git a/clang/test/bindings/python/bindings.sh b/clang/test/bindings/python/bindings.sh deleted file mode 100755 index 3800c06d9c6e7..0000000000000 --- a/clang/test/bindings/python/bindings.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/sh - -# UNSUPPORTED: !libclang-loadable - -# Tests fail on Windows, and need someone knowledgeable to fix. -# It's not clear whether it's a test or a valid binding problem. -# XFAIL: target={{.*windows.*}} - -# The Python FFI interface is broken on AIX: https://bugs.python.org/issue38628. -# XFAIL: target={{.*-aix.*}} - -# Hexagon has known test failures that need to be addressed. -# SystemZ has broken Python/FFI interface: -# https://reviews.llvm.org/D52840#1265716 -# XFAIL: target={{(hexagon|s390x)-.*}} -# python SEGVs on Linux/sparc64 when loading libclang.so. Seems to be an FFI -# issue, too. -# XFAIL: target={{sparc.*-.*-linux.*}} - -# Tests will fail if cross-compiling for a different target, as tests will try -# to use the host Python3_EXECUTABLE and make FFI calls to functions in target -# libraries. -# -# FIXME: Consider a solution that allows better control over these tests in -# a crosscompiling scenario. e.g. registering them with lit to allow them to -# be explicitly skipped via appropriate LIT_ARGS, or adding a mechanism to -# allow specifying a python interpreter compiled for the target that could -# be executed using qemu-user. -# XFAIL: !native - -# RUN: env PYTHONPATH=%S/../../../bindings/python \ -# RUN: CLANG_LIBRARY_PATH=%libdir \ -# RUN: %python -m unittest discover -s %S/tests diff --git a/clang/test/bindings/python/lit.local.cfg b/clang/test/bindings/python/lit.local.cfg deleted file mode 100644 index cc3bdf8ba97d4..0000000000000 --- a/clang/test/bindings/python/lit.local.cfg +++ /dev/null @@ -1,41 +0,0 @@ -def is_libclang_loadable(): - # Do not try to run if libclang was built with sanitizers because - # the sanitizer library will likely be loaded too late to perform - # interception and will then fail. - # We could use LD_PRELOAD/DYLD_INSERT_LIBRARIES but this isn't - # portable so its easier just to not run the tests when building - # with ASan. - if config.llvm_use_sanitizer != "": - return False - try: - sys.path.append(os.path.join(config.clang_src_dir, "bindings/python")) - from clang.cindex import Config - conf = Config() - Config.set_library_path(config.clang_lib_dir) - conf.lib - return True - except Exception as e: - # Expected failure modes are considered benign when nothing can be - # done about them. - # - # Cannot load a 32-bit libclang.so into a 64-bit python. - if "wrong ELF class: ELFCLASS32" in str(e): - return False - # If libclang.so is missing, it must have been disabled intentionally, - # e.g. by building with LLVM_ENABLE_PIC=OFF. - elif "No such file or directory" in str(e): - return False - # Unexpected failure modes need to be investigated to either fix an - # underlying bug or accept the failure, so return True. This causes - # tests to run and FAIL, drawing developer attention. - else: - print("warning: unhandled failure in is_libclang_loadable: " - + str(e), file=sys.stderr) - return True - -if is_libclang_loadable(): - config.available_features.add("libclang-loadable") - -config.substitutions.append(('%libdir', config.clang_lib_dir)) - -config.suffixes = ['.sh'] _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits