diff options
author | Sam McCall <sam.mccall@gmail.com> | 2018-09-14 12:24:09 +0000 |
---|---|---|
committer | Sam McCall <sam.mccall@gmail.com> | 2018-09-14 12:24:09 +0000 |
commit | 9d3530bd4ebaa7dc02494db440026f87f2bb8bc4 (patch) | |
tree | 20f4c360c26fe3d07dfb5da30bac7f54764ac3fb /clang/test/Tooling/auto-detect-from-source.cpp | |
parent | 2fcdf76eef8705d5813e1529bf97ca62805aeb39 (diff) | |
download | bcm5719-llvm-9d3530bd4ebaa7dc02494db440026f87f2bb8bc4.tar.gz bcm5719-llvm-9d3530bd4ebaa7dc02494db440026f87f2bb8bc4.zip |
[Tooling] JSONCompilationDatabasePlugin infers compile commands for missing files
Summary:
See the existing InterpolatingCompilationDatabase for details on how this works.
We've been using this in clangd for a while, the heuristics seem to work well.
Reviewers: bkramer
Subscribers: ilya-biryukov, ioeric, kadircet, cfe-commits
Differential Revision: https://reviews.llvm.org/D51729
llvm-svn: 342228
Diffstat (limited to 'clang/test/Tooling/auto-detect-from-source.cpp')
-rw-r--r-- | clang/test/Tooling/auto-detect-from-source.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/clang/test/Tooling/auto-detect-from-source.cpp b/clang/test/Tooling/auto-detect-from-source.cpp index 12a660d585a..e6241a9ec3e 100644 --- a/clang/test/Tooling/auto-detect-from-source.cpp +++ b/clang/test/Tooling/auto-detect-from-source.cpp @@ -1,8 +1,12 @@ // RUN: rm -rf %t // RUN: mkdir %t -// RUN: echo "[{\"directory\":\".\",\"command\":\"clang++ -c %/t/test.cpp\",\"file\":\"%/t/test.cpp\"}]" | sed -e 's/\\/\\\\/g' > %t/compile_commands.json +// RUN: echo "[{\"directory\":\".\",\"command\":\"clang++ -DSECRET=XYZZY -c %/t/test.cpp\",\"file\":\"%/t/test.cpp\"}]" | sed -e 's/\\/\\\\/g' > %t/compile_commands.json // RUN: cp "%s" "%t/test.cpp" // RUN: not clang-check "%t/test.cpp" 2>&1 | FileCheck %s -// CHECK: C++ requires -invalid; +// CHECK: XYZZY +SECRET; + +// Copy to a different file, and rely on the command being inferred. +// RUN: cp "%s" "%t/other.cpp" +// RUN: not clang-check "%t/other.cpp" 2>&1 | FileCheck %s |