diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2018-11-11 11:09:58 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2018-11-11 11:09:58 +0000 |
commit | 0c0592bb6789d8f273944d9ab8ca355c0823dbbf (patch) | |
tree | fd3b06eeb2648241c35acb24d812c62dc8219197 | |
parent | 966c180ad22600f1936ee73cd51b32bef1be2af4 (diff) | |
download | llvm-0c0592bb6789d8f273944d9ab8ca355c0823dbbf.zip llvm-0c0592bb6789d8f273944d9ab8ca355c0823dbbf.tar.gz llvm-0c0592bb6789d8f273944d9ab8ca355c0823dbbf.tar.bz2 |
[clangd] Make ClangdFuzzer compile again.
llvm-svn: 346608
-rw-r--r-- | clang-tools-extra/clangd/fuzzer/ClangdFuzzer.cpp | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/clang-tools-extra/clangd/fuzzer/ClangdFuzzer.cpp b/clang-tools-extra/clangd/fuzzer/ClangdFuzzer.cpp index d521e62..8c9c7bd 100644 --- a/clang-tools-extra/clangd/fuzzer/ClangdFuzzer.cpp +++ b/clang-tools-extra/clangd/fuzzer/ClangdFuzzer.cpp @@ -19,20 +19,23 @@ #include <sstream> #include <stdio.h> +using namespace clang::clangd; + extern "C" int LLVMFuzzerTestOneInput(uint8_t *data, size_t size) { if (size == 0) return 0; - clang::clangd::JSONOutput Out(llvm::nulls(), llvm::nulls(), - clang::clangd::Logger::Error, nullptr); - clang::clangd::CodeCompleteOptions CCOpts; + // fmemopen isn't portable, but I think we only run the fuzzer on Linux. + std::FILE *In = fmemopen(data, size, "r"); + auto Transport = newJSONTransport(In, llvm::nulls(), + /*InMirror=*/nullptr, /*Pretty=*/false, + /*Style=*/JSONStreamStyle::Standard); + CodeCompleteOptions CCOpts; CCOpts.EnableSnippets = false; - clang::clangd::ClangdServer::Options Opts; + ClangdServer::Options Opts; // Initialize and run ClangdLSPServer. - clang::clangd::ClangdLSPServer LSPServer(Out, CCOpts, llvm::None, false, - Opts); - // fmemopen isn't portable, but I think we only run the fuzzer on Linux. - LSPServer.run(fmemopen(data, size, "r")); + ClangdLSPServer LSPServer(*Transport, CCOpts, llvm::None, false, Opts); + LSPServer.run(); return 0; } |