summaryrefslogtreecommitdiffstats
path: root/clang/test/lit.cfg
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/lit.cfg')
-rw-r--r--clang/test/lit.cfg21
1 files changed, 21 insertions, 0 deletions
diff --git a/clang/test/lit.cfg b/clang/test/lit.cfg
index ee011c6d2ea..48b2fad1a9b 100644
--- a/clang/test/lit.cfg
+++ b/clang/test/lit.cfg
@@ -228,6 +228,25 @@ def getClangBuiltinIncludeDir(clang):
# Ensure the result is an ascii string, across Python2.5+ - Python3.
return str(dir.decode('ascii'))
+def makeItaniumABITriple(triple):
+ m = re.match(r'(\w+)-(\w+)-(\w+)', triple)
+ if not m:
+ lit_config.fatal("Could not turn '%s' into Itanium ABI triple" % triple)
+ if m.group(3).lower() != 'win32':
+ # All non-win32 triples use the Itanium ABI.
+ return triple
+ return m.group(1) + '-' + m.group(2) + '-mingw32'
+
+def makeMSABITriple(triple):
+ m = re.match(r'(\w+)-(\w+)-(\w+)', triple)
+ if not m:
+ lit_config.fatal("Could not turn '%s' into MS ABI triple" % triple)
+ if m.group(3).lower() == 'win32':
+ # If the OS is win32, we're done.
+ return triple
+ # Otherwise, replace the OS part with Win32.
+ return m.group(1) + '-' + m.group(2) + '-win32'
+
config.substitutions.append( ('%clang_cc1', '%s -cc1 -internal-isystem %s'
% (config.clang,
getClangBuiltinIncludeDir(config.clang))) )
@@ -239,6 +258,8 @@ config.substitutions.append( ('%clangxx', ' ' + config.clang +
' --driver-mode=g++ '))
config.substitutions.append( ('%clang', ' ' + config.clang + ' ') )
config.substitutions.append( ('%test_debuginfo', ' ' + config.llvm_src_root + '/utils/test_debuginfo.pl ') )
+config.substitutions.append( ('%itanium_abi_triple', makeItaniumABITriple(config.target_triple)) )
+config.substitutions.append( ('%ms_abi_triple', makeMSABITriple(config.target_triple)) )
# FIXME: Find nicer way to prohibit this.
config.substitutions.append(
OpenPOWER on IntegriCloud