diff --git a/clang/test/OpenMP/driver-openmp-target.c b/clang/test/OpenMP/driver-openmp-target.c --- a/clang/test/OpenMP/driver-openmp-target.c +++ b/clang/test/OpenMP/driver-openmp-target.c @@ -1,5 +1,5 @@ // REQUIRES: x86-registered-target -// REQUIRES: clang-64-bits +// REQUIRES: clang-target-64-bits // RUN: %clang %s -c -E -dM -fopenmp=libomp -fopenmp-version=45 -fopenmp-targets=x86_64-unknown-unknown -o - | FileCheck --check-prefix=CHECK-45-VERSION --check-prefix=CHECK-45-VERSION2 %s // CHECK-45-VERSION: #define _OPENMP 201511 // CHECK-45-VERSION2: #define _OPENMP 201511 diff --git a/clang/test/lit.cfg.py b/clang/test/lit.cfg.py --- a/clang/test/lit.cfg.py +++ b/clang/test/lit.cfg.py @@ -1,7 +1,6 @@ # -*- Python -*- import os -import sys import platform import re import subprocess @@ -168,9 +167,12 @@ if platform.system() not in ['Windows']: config.available_features.add('can-remove-opened-file') -# Check 64-bit host -if sys.maxsize > 2**32: - config.available_features.add("clang-64-bits") +# Features +known_arches = ["x86_64", "mips64", "ppc64", "aarch64"] +if (config.host_ldflags.find("-m32") < 0 + and any(config.host_triple.startswith(x) for x in known_arches)): + config.available_features.add("clang-target-64-bits") + def calculate_arch_features(arch_string): diff --git a/clang/test/lit.site.cfg.py.in b/clang/test/lit.site.cfg.py.in --- a/clang/test/lit.site.cfg.py.in +++ b/clang/test/lit.site.cfg.py.in @@ -13,6 +13,7 @@ config.clang_src_dir = path(r"@CLANG_SOURCE_DIR@") config.clang_tools_dir = path(r"@CLANG_TOOLS_DIR@") config.host_triple = "@LLVM_HOST_TRIPLE@" +config.target_triple = "@LLVM_TARGET_TRIPLE_ENV@" config.target_triple = "@TARGET_TRIPLE@" config.host_cxx = "@CMAKE_CXX_COMPILER@" config.llvm_use_sanitizer = "@LLVM_USE_SANITIZER@" @@ -31,6 +32,7 @@ config.use_z3_solver = lit_config.params.get('USE_Z3_SOLVER', "@USE_Z3_SOLVER@") config.has_plugins = @LLVM_ENABLE_PLUGINS@ config.clang_vendor_uti = "@CLANG_VENDOR_UTI@" +config.host_ldflags = '@HOST_LDFLAGS@' # Support substitution of the tools and libs dirs with user parameters. This is # used when we can't determine the tool dir at configuration time.