diff options
author | Sam McCall <sam.mccall@gmail.com> | 2019-07-12 10:11:40 +0000 |
---|---|---|
committer | Sam McCall <sam.mccall@gmail.com> | 2019-07-12 10:11:40 +0000 |
commit | 9c0391b36a76f8e3949588de3f44b7314c2318bf (patch) | |
tree | eaa0ffe78c36dbc9d381a1eada7ff253a2b18d7b /lldb/packages/Python/lldbsuite/test/python_api/thread/main.cpp | |
parent | 0739ccd3b588a6f2562bdc5a8f8847a49356394e (diff) | |
download | bcm5719-llvm-9c0391b36a76f8e3949588de3f44b7314c2318bf.tar.gz bcm5719-llvm-9c0391b36a76f8e3949588de3f44b7314c2318bf.zip |
[JSONCompilationDatabase] Strip distcc/ccache/gomacc wrappers from parsed commands.
Summary:
It's common to use compiler wrappers by setting CC="gomacc clang++".
This results in both args appearing in compile_commands.json, and clang's driver
can't handle this.
This patch attempts to recognize this pattern (by looking for well-known
wrappers) and dropping argv0 in this case.
It conservatively ignores other cases for now:
- wrappers with unknown names
- wrappers that accept -flags
- wrappers where the compiler to use is implied (usually cc or gcc)
This is done at the JSONCompilationDatabase level rather than somewhere more
fundamental, as (hopefully) this isn't a general conceptual problem, but a messy
aspect of the nature of the ecosystem around compile_commands.json.
i.e. compilation databases more tightly tied to the build system should not have
this problem.
Reviewers: phosek, klimek
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D64297
llvm-svn: 365887
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api/thread/main.cpp')
0 files changed, 0 insertions, 0 deletions