Skip to content

Commit

Permalink
[lldb] build.py: fix behavior when passing --compiler=/path/to/compiler
Browse files Browse the repository at this point in the history
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
  • Loading branch information
slackito committed May 9, 2019
1 parent f0ee69f commit adf427b
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 6 deletions.
10 changes: 10 additions & 0 deletions lldb/lit/BuildScript/compiler-full-path.test
@@ -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
12 changes: 6 additions & 6 deletions lldb/lit/helper/build.py
Expand Up @@ -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):
Expand Down

0 comments on commit adf427b

Please sign in to comment.