diff options
| -rw-r--r-- | clang/test/Tooling/clang-check-fixit.cpp | 21 | ||||
| -rw-r--r-- | clang/tools/clang-check/ClangCheck.cpp | 3 |
2 files changed, 21 insertions, 3 deletions
diff --git a/clang/test/Tooling/clang-check-fixit.cpp b/clang/test/Tooling/clang-check-fixit.cpp new file mode 100644 index 00000000000..41a12e9a5f5 --- /dev/null +++ b/clang/test/Tooling/clang-check-fixit.cpp @@ -0,0 +1,21 @@ +// RUN: rm -rf %t +// RUN: mkdir %t +// +// RUN: sed -s 's,^//.*,//,' %s > %t/absolute-fixed.cpp +// RUN: sed -s 's,^//.*,//,' %s > %t/absolute-json.cpp +// RUN: sed -s 's,^//.*,//,' %s > %t/relative-fixed.cpp +// RUN: sed -s 's,^//.*,//,' %s > %t/relative-json.cpp +// +// RUN: clang-check %t/absolute-fixed.cpp -fixit -- 2>&1 | FileCheck %s +// +// RUN: echo "[{ \"directory\":\"%/t\", \"command\":\"/path/to/clang -c %/t/absolute-json.cpp\", \"file\": \"%/t/absolute-json.cpp\" }]" > %t/compile_commands.json +// RUN: clang-check %t/absolute-json.cpp -fixit 2>&1 | FileCheck %s +// +// RUN: cd %t +// RUN: clang-check relative-fixed.cpp -fixit -- 2>&1 | FileCheck %s +// +// RUN: echo "[{ \"directory\": \"%/t\", \"command\": \"/path/to/clang -c relative-json.cpp\", \"file\": \"relative-json.cpp\" }]" > %t/compile_commands.json +// RUN: clang-check relative-json.cpp -fixit 2>&1 | FileCheck %s +typedef int T +// CHECK: .cpp:[[@LINE-1]]:14: error: expected ';' after top level declarator +// CHECK: .cpp:[[@LINE-2]]:14: note: FIX-IT applied suggested code changes diff --git a/clang/tools/clang-check/ClangCheck.cpp b/clang/tools/clang-check/ClangCheck.cpp index 96a593a29b4..ce400b5c200 100644 --- a/clang/tools/clang-check/ClangCheck.cpp +++ b/clang/tools/clang-check/ClangCheck.cpp @@ -90,9 +90,6 @@ public: } std::string RewriteFilename(const std::string& filename, int &fd) override { - assert(llvm::sys::path::is_absolute(filename) && - "clang-fixit expects absolute paths only."); - // We don't need to do permission checking here since clang will diagnose // any I/O errors itself. |

