diff options
Diffstat (limited to 'clang/test/lit.cfg')
| -rw-r--r-- | clang/test/lit.cfg | 21 |
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( |

