summaryrefslogtreecommitdiffstats
path: root/clang/test/Tooling/clang-check-chdir.cpp
diff options
context:
space:
mode:
authorManuel Klimek <klimek@google.com>2012-05-07 09:17:48 +0000
committerManuel Klimek <klimek@google.com>2012-05-07 09:17:48 +0000
commit805d8dc52a9b7af01447b7afd64679060042ddc8 (patch)
tree0130b9c8f2e590fb7b6bfcee1a78b9f385096107 /clang/test/Tooling/clang-check-chdir.cpp
parentf5386817c179055d06e57955b4fa7b6a56e5c307 (diff)
downloadbcm5719-llvm-805d8dc52a9b7af01447b7afd64679060042ddc8.tar.gz
bcm5719-llvm-805d8dc52a9b7af01447b7afd64679060042ddc8.zip
Fixes resolution of relative paths when running clang tools.
The chdir is not the perfect fix, as it is thread hostile. The real fix will be to make -working-dir work correctly, which will take time to implement. Before that, the tooling library cannot be used concurrently. llvm-svn: 156299
Diffstat (limited to 'clang/test/Tooling/clang-check-chdir.cpp')
-rw-r--r--clang/test/Tooling/clang-check-chdir.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/clang/test/Tooling/clang-check-chdir.cpp b/clang/test/Tooling/clang-check-chdir.cpp
new file mode 100644
index 00000000000..fbcd7ae3e82
--- /dev/null
+++ b/clang/test/Tooling/clang-check-chdir.cpp
@@ -0,0 +1,18 @@
+// Verifies that paths are resolved relatively to the directory specified in the
+// compilation database.
+// RUN: rm -rf %t
+// RUN: mkdir %t
+// RUN: echo "[{\"directory\":\"%t\",\"command\":\"clang -c test.cpp -I.\",\"file\":\"%t/test.cpp\"}]" > %t/compile_commands.json
+// RUN: cp "%s" "%t/test.cpp"
+// RUN: touch "%t/clang-check-test.h"
+// RUN: clang-check "%t" "%t/test.cpp" 2>&1|FileCheck %s
+// FIXME: Make the above easier.
+
+#include "clang-check-test.h"
+
+// CHECK: C++ requires
+invalid;
+
+// FIXME: JSON doesn't like path separator '\', on Win32 hosts.
+// FIXME: clang-check doesn't like gcc driver on cygming.
+// XFAIL: cygwin,mingw32,win32
OpenPOWER on IntegriCloud