diff options
| author | David Goldman <dallasftball@gmail.com> | 2019-10-21 20:45:02 +0000 |
|---|---|---|
| committer | David Goldman <dallasftball@gmail.com> | 2019-10-21 20:45:02 +0000 |
| commit | e5ecba4f53e77210c960606b4a3b5a411a4d5823 (patch) | |
| tree | fd5733c9cc7a566552f5d886c159929da46e84cb /clang/tools/clang-fuzzer/handle-cxx | |
| parent | 6f0ae81512c17ae8fb1033dc4e0b3d4c2424742c (diff) | |
| download | bcm5719-llvm-e5ecba4f53e77210c960606b4a3b5a411a4d5823.tar.gz bcm5719-llvm-e5ecba4f53e77210c960606b4a3b5a411a4d5823.zip | |
[clang-fuzzer] Add new fuzzer target for Objective-C
Summary:
- Similar to that of `clang-fuzzer` itself but instead only
targets Objective-C source files via cc1
- Also adds an example corpus directory containing some
input for Objective-C
Subscribers: mgorny, jfb, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D69171
llvm-svn: 375453
Diffstat (limited to 'clang/tools/clang-fuzzer/handle-cxx')
| -rw-r--r-- | clang/tools/clang-fuzzer/handle-cxx/handle_cxx.cpp | 5 | ||||
| -rw-r--r-- | clang/tools/clang-fuzzer/handle-cxx/handle_cxx.h | 1 |
2 files changed, 4 insertions, 2 deletions
diff --git a/clang/tools/clang-fuzzer/handle-cxx/handle_cxx.cpp b/clang/tools/clang-fuzzer/handle-cxx/handle_cxx.cpp index bc172f23733..32d351f4c3e 100644 --- a/clang/tools/clang-fuzzer/handle-cxx/handle_cxx.cpp +++ b/clang/tools/clang-fuzzer/handle-cxx/handle_cxx.cpp @@ -21,12 +21,13 @@ using namespace clang; void clang_fuzzer::HandleCXX(const std::string &S, + const char *FileName, const std::vector<const char *> &ExtraArgs) { llvm::opt::ArgStringList CC1Args; CC1Args.push_back("-cc1"); for (auto &A : ExtraArgs) CC1Args.push_back(A); - CC1Args.push_back("./test.cc"); + CC1Args.push_back(FileName); llvm::IntrusiveRefCntPtr<FileManager> Files( new FileManager(FileSystemOptions())); @@ -39,7 +40,7 @@ void clang_fuzzer::HandleCXX(const std::string &S, tooling::newInvocation(&Diagnostics, CC1Args)); std::unique_ptr<llvm::MemoryBuffer> Input = llvm::MemoryBuffer::getMemBuffer(S); - Invocation->getPreprocessorOpts().addRemappedFile("./test.cc", + Invocation->getPreprocessorOpts().addRemappedFile(FileName, Input.release()); std::unique_ptr<tooling::ToolAction> action( tooling::newFrontendActionFactory<clang::EmitObjAction>()); diff --git a/clang/tools/clang-fuzzer/handle-cxx/handle_cxx.h b/clang/tools/clang-fuzzer/handle-cxx/handle_cxx.h index 8359bea9691..2126ae9ea37 100644 --- a/clang/tools/clang-fuzzer/handle-cxx/handle_cxx.h +++ b/clang/tools/clang-fuzzer/handle-cxx/handle_cxx.h @@ -18,6 +18,7 @@ namespace clang_fuzzer { void HandleCXX(const std::string &S, + const char *FileName, const std::vector<const char *> &ExtraArgs); } // namespace clang_fuzzer |

