summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Goldman <davg@google.com>2020-01-08 17:01:59 -0500
committerDavid Goldman <davg@google.com>2020-01-09 11:02:58 -0500
commitea9888b8f6f20887647b77ebf5864d647fd2ea44 (patch)
tree1a2e779827f451c200ad8c90c1633930f2e20065
parentfb76c7934dce2ede7e04097edb455eba58f6ebfd (diff)
downloadbcm5719-llvm-ea9888b8f6f20887647b77ebf5864d647fd2ea44.tar.gz
bcm5719-llvm-ea9888b8f6f20887647b77ebf5864d647fd2ea44.zip
[clangd] Respect `--sysroot` argument if it is set
Summary: - Since `--sysroot` is a superset of the `-isysroot` argument, we shouldn't add the `-isysroot` if we detect a `--sysroot` flag. Reviewers: sammccall Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D72415
-rw-r--r--clang-tools-extra/clangd/CompileCommands.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/clang-tools-extra/clangd/CompileCommands.cpp b/clang-tools-extra/clangd/CompileCommands.cpp
index b1eca02813b..f11b1236803 100644
--- a/clang-tools-extra/clangd/CompileCommands.cpp
+++ b/clang-tools-extra/clangd/CompileCommands.cpp
@@ -155,7 +155,9 @@ void CommandMangler::adjust(std::vector<std::string> &Cmd) const {
if (ResourceDir && !Has("-resource-dir"))
Cmd.push_back(("-resource-dir=" + *ResourceDir));
- if (Sysroot && !Has("-isysroot")) {
+ // Don't set `-isysroot` if it is already set or if `--sysroot` is set.
+ // `--sysroot` is a superset of the `-isysroot` argument.
+ if (Sysroot && !Has("-isysroot") && !Has("--sysroot")) {
Cmd.push_back("-isysroot");
Cmd.push_back(*Sysroot);
}
OpenPOWER on IntegriCloud