[lldb] build.py: fix behavior when passing --compiler=/path/to/compiler

All the other paths in the find_toolchain function return a tuple
(detected_toolchain_type, compiler_path), but when the parameter to
--compiler is not one of the predefined names it only returns the
detected toolchain type, which causes an error when trying to unpack the
result.

This patch changes it to return also the compiler path passed as a
parameter.

Differential Revision: https://reviews.llvm.org/D61713

llvm-svn: 360355
This commit is contained in:
Jorge Gorbe Moya 2019-05-09 16:47:07 +00:00
parent f0ee69f75d
commit adf427b82d
2 changed files with 16 additions and 6 deletions

View File

@ -0,0 +1,10 @@
RUN: %build -n --verbose --arch=64 --compiler=/path/to/my/clang -o foo \
RUN: foobar.c | FileCheck %s --check-prefix=CHECK-CLANG
RUN: %build -n --verbose --arch=64 --compiler=/path/to/my/x64/cl.exe -o foo \
RUN: foobar.c | FileCheck %s --check-prefix=CHECK-MSVC
CHECK-CLANG: Command Line: /path/to/my/clang
CHECK-SAME: -o
CHECK-MSVC: Command Line: /path/to/my/x64/cl.exe
CHECK-SAME: /Fo

View File

@ -207,16 +207,16 @@ def find_toolchain(compiler, tools_dir):
file = os.path.basename(compiler)
name, ext = os.path.splitext(file)
if file.lower() == 'cl.exe':
return 'msvc'
return ('msvc', compiler)
if name == 'clang-cl':
return 'clang-cl'
return ('clang-cl', compiler)
if name.startswith('clang'):
return 'clang'
return ('clang', compiler)
if name.startswith('gcc') or name.startswith('g++'):
return 'gcc'
return ('gcc', compiler)
if name == 'cc' or name == 'c++':
return 'generic'
return 'unknown'
return ('generic', compiler)
return ('unknown', compiler)
class Builder(object):
def __init__(self, toolchain_type, args, obj_ext):