aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2018-11-11 11:09:58 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2018-11-11 11:09:58 +0000
commit0c0592bb6789d8f273944d9ab8ca355c0823dbbf (patch)
treefd3b06eeb2648241c35acb24d812c62dc8219197
parent966c180ad22600f1936ee73cd51b32bef1be2af4 (diff)
downloadllvm-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.cpp19
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;
}