From 7f28d732d2a851c097aeb544dc8010bd78d721b5 Mon Sep 17 00:00:00 2001 From: Justin Bogner Date: Sat, 2 Sep 2017 23:43:04 +0000 Subject: Move some CLI utils out of llvm-isel-fuzzer and into the library FuzzMutate might not be the best place for these, but it makes more sense than an entirely new library for now. This will make setting up fuzz targets with consistent CLI handling easier. llvm-svn: 312425 --- llvm/tools/llvm-isel-fuzzer/llvm-isel-fuzzer.cpp | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) (limited to 'llvm/tools/llvm-isel-fuzzer/llvm-isel-fuzzer.cpp') diff --git a/llvm/tools/llvm-isel-fuzzer/llvm-isel-fuzzer.cpp b/llvm/tools/llvm-isel-fuzzer/llvm-isel-fuzzer.cpp index 1d16376bb87..314acdb5087 100644 --- a/llvm/tools/llvm-isel-fuzzer/llvm-isel-fuzzer.cpp +++ b/llvm/tools/llvm-isel-fuzzer/llvm-isel-fuzzer.cpp @@ -16,6 +16,7 @@ #include "llvm/Bitcode/BitcodeReader.h" #include "llvm/Bitcode/BitcodeWriter.h" #include "llvm/CodeGen/CommandFlags.h" +#include "llvm/FuzzMutate/FuzzerCLI.h" #include "llvm/FuzzMutate/IRMutator.h" #include "llvm/FuzzMutate/Operations.h" #include "llvm/FuzzMutate/Random.h" @@ -133,21 +134,6 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { return 0; } -/// Parse command line options, but ignore anything before '--'. -static void parseCLOptsAfterDashDash(int argc, char *argv[]) { - std::vector CLArgs; - CLArgs.push_back(argv[0]); - - int I = 1; - while (I < argc) - if (StringRef(argv[I++]).equals("-ignore_remaining_args=1")) - break; - while (I < argc) - CLArgs.push_back(argv[I++]); - - cl::ParseCommandLineOptions(CLArgs.size(), CLArgs.data()); -} - static void handleLLVMFatalError(void *, const std::string &Message, bool) { // TODO: Would it be better to call into the fuzzer internals directly? dbgs() << "LLVM ERROR: " << Message << "\n" @@ -164,7 +150,7 @@ extern "C" LLVM_ATTRIBUTE_USED int LLVMFuzzerInitialize(int *argc, InitializeAllAsmPrinters(); InitializeAllAsmParsers(); - parseCLOptsAfterDashDash(*argc, *argv); + parseFuzzerCLOpts(*argc, *argv); if (TargetTriple.empty()) { errs() << *argv[0] << ": -mtriple must be specified\n"; -- cgit v1.2.3