Index: clang/include/clang/Basic/JsonSupport.h
===================================================================
--- clang/include/clang/Basic/JsonSupport.h
+++ clang/include/clang/Basic/JsonSupport.h
@@ -97,9 +97,17 @@
// The macro expansion and spelling pos is identical for file locs.
if (AddBraces)
Out << "{ ";
+#ifdef _WIN32 // handle windows specific path delimiters
+ std::string filename(PLoc.getFilename());
+ std::replace(filename.begin(), filename.end(), '\\', '/');
+#endif
Out << "\"line\": " << PLoc.getLine()
<< ", \"column\": " << PLoc.getColumn()
+#ifdef _WIN32 // handle windows specific path delimiters
+ << ", \"file\": \"" << filename << "\"";
+#else
<< ", \"file\": \"" << PLoc.getFilename() << "\"";
+#endif
if (AddBraces)
Out << " }";
return;
Index: clang/test/Analysis/exploded-graph-rewriter/checker_messages.dot
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/checker_messages.dot
+++ clang/test/Analysis/exploded-graph-rewriter/checker_messages.dot
@@ -1,8 +1,5 @@
// RUN: %exploded_graph_rewriter %s | FileCheck %s
-// FIXME: Substitution doesn't seem to work on Windows.
-// UNSUPPORTED: system-windows
-
// CHECK: Checker State:
// CHECK-SAME:
// CHECK-SAME:
Index: clang/test/Analysis/exploded-graph-rewriter/constraints_diff.dot
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/constraints_diff.dot
+++ clang/test/Analysis/exploded-graph-rewriter/constraints_diff.dot
@@ -1,8 +1,5 @@
// RUN: %exploded_graph_rewriter -d %s | FileCheck %s
-// FIXME: Substitution doesn't seem to work on Windows.
-// UNSUPPORTED: system-windows
-
Node0x1 [shape=record,label=
"{
{
Index: clang/test/Analysis/exploded-graph-rewriter/dynamic_types.cpp
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/dynamic_types.cpp
+++ clang/test/Analysis/exploded-graph-rewriter/dynamic_types.cpp
@@ -5,9 +5,6 @@
// RUN: %exploded_graph_rewriter %t.dot | FileCheck %s
// REQUIRES: asserts
-// FIXME: Substitution doesn't seem to work on Windows.
-// UNSUPPORTED: system-windows
-
struct S {};
void test() {
Index: clang/test/Analysis/exploded-graph-rewriter/edge.dot
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/edge.dot
+++ clang/test/Analysis/exploded-graph-rewriter/edge.dot
@@ -1,9 +1,6 @@
// RUN: %exploded_graph_rewriter %s | FileCheck %s -check-prefix=LIGHT
// RUN: %exploded_graph_rewriter --dark %s | FileCheck %s -check-prefixes=DARK
-// FIXME: Substitution doesn't seem to work on Windows.
-// UNSUPPORTED: system-windows
-
Node0x1 [shape=record,label=
"{{ "state_id": 0, "program_state": null, "program_points": [
{
Index: clang/test/Analysis/exploded-graph-rewriter/empty.dot
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/empty.dot
+++ clang/test/Analysis/exploded-graph-rewriter/empty.dot
@@ -2,9 +2,6 @@
// RUN: %exploded_graph_rewriter --dark %s | FileCheck %s \
// RUN: -check-prefixes=CHECK,DARK
-// FIXME: Substitution doesn't seem to work on Windows.
-// UNSUPPORTED: system-windows
-
digraph "Exploded Graph" {
label="Exploded Graph";
}
Index: clang/test/Analysis/exploded-graph-rewriter/environment.dot
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/environment.dot
+++ clang/test/Analysis/exploded-graph-rewriter/environment.dot
@@ -1,8 +1,5 @@
// RUN: %exploded_graph_rewriter %s | FileCheck %s
-// FIXME: Substitution doesn't seem to work on Windows.
-// UNSUPPORTED: system-windows
-
// CHECK: Expressions:
// CHECK-SAME:
// CHECK-SAME:
Index: clang/test/Analysis/exploded-graph-rewriter/environment_diff.dot
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/environment_diff.dot
+++ clang/test/Analysis/exploded-graph-rewriter/environment_diff.dot
@@ -1,8 +1,5 @@
// RUN: %exploded_graph_rewriter -d %s | FileCheck %s
-// FIXME: Substitution doesn't seem to work on Windows.
-// UNSUPPORTED: system-windows
-
// No diffs on the first node, nothing to check.
Node0x1 [shape=record,label=
"{
Index: clang/test/Analysis/exploded-graph-rewriter/escapes.c
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/escapes.c
+++ clang/test/Analysis/exploded-graph-rewriter/escapes.c
@@ -5,9 +5,6 @@
// RUN: %exploded_graph_rewriter %t.dot | FileCheck %s
// REQUIRES: asserts
-// FIXME: Substitution doesn't seem to work on Windows.
-// UNSUPPORTED: system-windows
-
void escapes() {
// CHECK: Store: (0x{{[0-9a-f]*}}) |
// CHECK-SAME: foo | 0 |
Index: clang/test/Analysis/exploded-graph-rewriter/initializers_under_construction.cpp
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/initializers_under_construction.cpp
+++ clang/test/Analysis/exploded-graph-rewriter/initializers_under_construction.cpp
@@ -5,9 +5,6 @@
// RUN: %exploded_graph_rewriter %t.dot | FileCheck %s
// REQUIRES: asserts
-// FIXME: Substitution doesn't seem to work on Windows.
-// UNSUPPORTED: system-windows
-
struct A {
A() {}
};
Index: clang/test/Analysis/exploded-graph-rewriter/lit.local.cfg
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/lit.local.cfg
+++ clang/test/Analysis/exploded-graph-rewriter/lit.local.cfg
@@ -9,10 +9,9 @@
config.substitutions.append(('%exploded_graph_rewriter',
'\'%s\' %s --dump-dot-only' % (
- config.python_executable,
- lit.util.which('exploded-graph-rewriter.py',
- os.path.join(
- config.clang_src_dir,
- 'utils', 'analyzer')))))
+ config.python_executable,
+ os.path.join(
+ config.clang_src_dir,
+ 'utils', 'analyzer', 'exploded-graph-rewriter.py'))))
config.suffixes.add('.dot')
Index: clang/test/Analysis/exploded-graph-rewriter/macros.c
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/macros.c
+++ clang/test/Analysis/exploded-graph-rewriter/macros.c
@@ -1,3 +1,11 @@
+#define NULL 0
+void *foo() {
+ return NULL;
+}
+
+// The code above shall go first, because check tags below are sensetive to the line numbers on which the code is placed.
+// You can change lines below in the way you need.
+
// FIXME: Figure out how to use %clang_analyze_cc1 with our lit.local.cfg.
// RUN: %clang_cc1 -analyze -triple x86_64-unknown-linux-gnu \
// RUN: -analyzer-checker=core \
@@ -5,14 +13,7 @@
// RUN: %exploded_graph_rewriter %t.dot | FileCheck %s
// REQUIRES: asserts
-// FIXME: Substitution doesn't seem to work on Windows.
-// UNSUPPORTED: system-windows
-
-// CHECK: macros.c:17:10
+// CHECK: macros.c:3:10
// CHECK-SAME:
-// CHECK-SAME: (spelling at macros.c:15:14)
+// CHECK-SAME: (spelling at macros.c:1:14)
// CHECK-SAME:
-#define NULL 0
-void *foo() {
- return NULL;
-}
Index: clang/test/Analysis/exploded-graph-rewriter/node_labels.dot
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/node_labels.dot
+++ clang/test/Analysis/exploded-graph-rewriter/node_labels.dot
@@ -7,9 +7,6 @@
// RUN: %exploded_graph_rewriter %s --gray --dark \
// RUN: | FileCheck %s -check-prefixes CHECK,DARK,GRAY
-// FIXME: Substitution doesn't seem to work on Windows.
-// UNSUPPORTED: system-windows
-
// LIGHT: Node0x1 [shape=record,label=<
// DARK: Node0x1 [shape=record,color="white",fontcolor="gray80",label=<
// CHECK-SAME:
Index: clang/test/Analysis/exploded-graph-rewriter/objects_under_construction.cpp
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/objects_under_construction.cpp
+++ clang/test/Analysis/exploded-graph-rewriter/objects_under_construction.cpp
@@ -6,9 +6,6 @@
// RUN: %exploded_graph_rewriter %t.dot | FileCheck %s
// REQUIRES: asserts
-// FIXME: Substitution doesn't seem to work on Windows.
-// UNSUPPORTED: system-windows
-
struct S {
S() {}
};
Index: clang/test/Analysis/exploded-graph-rewriter/program_points.dot
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/program_points.dot
+++ clang/test/Analysis/exploded-graph-rewriter/program_points.dot
@@ -1,8 +1,5 @@
// RUN: %exploded_graph_rewriter %s | FileCheck %s
-// FIXME: Substitution doesn't seem to work on Windows.
-// UNSUPPORTED: system-windows
-
// CHECK: Program points:
// CHECK-SAME:
// CHECK-SAME:
Index: clang/test/Analysis/exploded-graph-rewriter/store.dot
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/store.dot
+++ clang/test/Analysis/exploded-graph-rewriter/store.dot
@@ -1,8 +1,5 @@
// RUN: %exploded_graph_rewriter %s | FileCheck %s
-// FIXME: Substitution doesn't seem to work on Windows.
-// UNSUPPORTED: system-windows
-
// CHECK: Store:
// CHECK-SAME: (0x2)
// CHECK-SAME:
Index: clang/test/Analysis/exploded-graph-rewriter/store_diff.dot
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/store_diff.dot
+++ clang/test/Analysis/exploded-graph-rewriter/store_diff.dot
@@ -1,8 +1,5 @@
// RUN: %exploded_graph_rewriter -d %s | FileCheck %s
-// FIXME: Substitution doesn't seem to work on Windows.
-// UNSUPPORTED: system-windows
-
Node0x1 [shape=record,label=
"{
{ "node_id": 1,
Index: clang/test/Analysis/exploded-graph-rewriter/topology.dot
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/topology.dot
+++ clang/test/Analysis/exploded-graph-rewriter/topology.dot
@@ -3,9 +3,6 @@
// RUN: %exploded_graph_rewriter -t %s \
// RUN: | FileCheck -check-prefixes=TOPOLOGY %s
-// FIXME: Substitution doesn't seem to work on Windows.
-// UNSUPPORTED: system-windows
-
// NORMAL: Program point
// TOPOLOGY-NOT: Program point
// NORMAL: Checker State
Index: clang/test/Analysis/exploded-graph-rewriter/trimmers.dot
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/trimmers.dot
+++ clang/test/Analysis/exploded-graph-rewriter/trimmers.dot
@@ -13,9 +13,6 @@
// RUN: %exploded_graph_rewriter --to 4 -s %s \
// RUN: | FileCheck %s -check-prefixes=ONE,TWO,NOTHREE,FOUR
-// FIXME: Substitution doesn't seem to work on Windows.
-// UNSUPPORTED: system-windows
-
Node0x1 [shape=record,label=
"{{ "state_id": 0, "program_state": null, "program_points": [
{
Index: clang/test/Analysis/scan-build/exclude_directories.test
===================================================================
--- clang/test/Analysis/scan-build/exclude_directories.test
+++ clang/test/Analysis/scan-build/exclude_directories.test
@@ -1,9 +1,3 @@
-// FIXME: Actually, "perl".
-REQUIRES: shell
-
-// FIXME: Should ideally work on Windows.
-UNSUPPORTED: system-windows
-
RUN: rm -rf %t.output_dir && mkdir %t.output_dir
RUN: %scan-build -o %t.output_dir %clang -S \
RUN: %S/Inputs/multidirectory_project/directory1/file1.c \
Index: clang/test/Analysis/scan-build/help.test
===================================================================
--- clang/test/Analysis/scan-build/help.test
+++ clang/test/Analysis/scan-build/help.test
@@ -1,9 +1,3 @@
-// FIXME: Actually, "perl".
-REQUIRES: shell
-
-// FIXME: Should ideally work on Windows.
-UNSUPPORTED: system-windows
-
RUN: %scan-build -h | FileCheck %s
RUN: %scan-build --help | FileCheck %s
Index: clang/test/Analysis/scan-build/html_output.test
===================================================================
--- clang/test/Analysis/scan-build/html_output.test
+++ clang/test/Analysis/scan-build/html_output.test
@@ -1,9 +1,3 @@
-// FIXME: Actually, "perl".
-REQUIRES: shell
-
-// FIXME: Should ideally work on Windows.
-UNSUPPORTED: system-windows
-
RUN: rm -rf %t.output_dir && mkdir %t.output_dir
RUN: %scan-build -o %t.output_dir %clang -S %S/Inputs/single_null_dereference.c \
RUN: | FileCheck %s -check-prefix CHECK-STDOUT
Index: clang/test/Analysis/scan-build/plist_html_output.test
===================================================================
--- clang/test/Analysis/scan-build/plist_html_output.test
+++ clang/test/Analysis/scan-build/plist_html_output.test
@@ -1,9 +1,3 @@
-// FIXME: Actually, "perl".
-REQUIRES: shell
-
-// FIXME: Should ideally work on Windows.
-UNSUPPORTED: system-windows
-
RUN: rm -rf %t.output_dir && mkdir %t.output_dir
RUN: %scan-build -plist-html -o %t.output_dir %clang -S %S/Inputs/single_null_dereference.c \
RUN: | FileCheck %s -check-prefix CHECK-STDOUT
Index: clang/test/Analysis/scan-build/plist_output.test
===================================================================
--- clang/test/Analysis/scan-build/plist_output.test
+++ clang/test/Analysis/scan-build/plist_output.test
@@ -1,9 +1,3 @@
-// FIXME: Actually, "perl".
-REQUIRES: shell
-
-// FIXME: Should ideally work on Windows.
-UNSUPPORTED: system-windows
-
RUN: rm -rf %t.output_dir && mkdir %t.output_dir
RUN: %scan-build -plist -o %t.output_dir %clang -S %S/Inputs/single_null_dereference.c \
RUN: | FileCheck %s -check-prefix CHECK-STDOUT
|