Add special case handling of linux target triples that do not contain -gnu
.
For targets that end it `redhat-linux` and `suse-linux` manually add the `-gnu` section of the target since `linux-gnu` is needed in the testsuite. This patch also moves the removal of minor and patchlevel numbers from OSX triples to be handled when deducing the triple instead of when adding available features. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@220724 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
4889a16c9f
commit
2b0f03a2a7
23
test/lit.cfg
23
test/lit.cfg
@ -349,13 +349,8 @@ class Configuration(object):
|
||||
# markers for tests that are known to fail with versions of libc++ as
|
||||
# were shipped with a particular triple.
|
||||
if self.use_system_lib:
|
||||
# Drop sub-major version components from the triple, because the
|
||||
# current XFAIL handling expects exact matches for feature checks.
|
||||
sanitized_triple = re.sub(
|
||||
r"([^-]+)-([^-]+)-([^-.]+).*", r"\1-\2-\3",
|
||||
self.config.target_triple)
|
||||
self.config.available_features.add(
|
||||
'with_system_lib=%s' % sanitized_triple)
|
||||
'with_system_lib=%s' % self.config.target_triple)
|
||||
|
||||
if 'libcpp-has-no-threads' in self.config.available_features:
|
||||
self.compile_flags += ['-D_LIBCPP_HAS_NO_THREADS']
|
||||
@ -456,8 +451,22 @@ class Configuration(object):
|
||||
# If no target triple was given, try to infer it from the compiler
|
||||
# under test.
|
||||
if not self.config.target_triple:
|
||||
self.config.target_triple = lit.util.capture(
|
||||
target_triple = lit.util.capture(
|
||||
[self.cxx, '-dumpmachine']).strip()
|
||||
# Drop sub-major version components from the triple, because the
|
||||
# current XFAIL handling expects exact matches for feature checks.
|
||||
# Example: x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu.
|
||||
# The 5th group handles triples greater than 3 parts
|
||||
# (ex x86_64-pc-linux-gnu).
|
||||
target_triple = re.sub(r'([^-]+)-([^-]+)-([^.]+)([^-]*)(.*)',
|
||||
r'\1-\2-\3\5', target_triple)
|
||||
# linux-gnu is needed in the triple to properly identify linuxes
|
||||
# that use GLIBC. Handle redhat and opensuse triples as special
|
||||
# cases and append the missing `-gnu` portion.
|
||||
if target_triple.endswith('redhat-linux') or \
|
||||
target_triple.endswith('suse-linux'):
|
||||
target_triple += '-gnu'
|
||||
self.config.target_triple = target_triple
|
||||
self.lit_config.note(
|
||||
"inferred target_triple as: %r" % self.config.target_triple)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user