xref: /netbsd-src/sys/external/bsd/compiler_rt/dist/lib/fuzzer/FuzzerMain.cpp (revision a7c257b03e4462df2b1020128fb82716512d7856)
1*a7c257b0Skamil //===- FuzzerMain.cpp - main() function and flags -------------------------===//
2*a7c257b0Skamil //
3*a7c257b0Skamil //                     The LLVM Compiler Infrastructure
4*a7c257b0Skamil //
5*a7c257b0Skamil // This file is distributed under the University of Illinois Open Source
6*a7c257b0Skamil // License. See LICENSE.TXT for details.
7*a7c257b0Skamil //
8*a7c257b0Skamil //===----------------------------------------------------------------------===//
9*a7c257b0Skamil // main() and flags.
10*a7c257b0Skamil //===----------------------------------------------------------------------===//
11*a7c257b0Skamil 
12*a7c257b0Skamil #include "FuzzerDefs.h"
13*a7c257b0Skamil 
14*a7c257b0Skamil extern "C" {
15*a7c257b0Skamil // This function should be defined by the user.
16*a7c257b0Skamil int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size);
17*a7c257b0Skamil }  // extern "C"
18*a7c257b0Skamil 
main(int argc,char ** argv)19*a7c257b0Skamil __attribute__((visibility("default"))) int main(int argc, char **argv) {
20*a7c257b0Skamil   return fuzzer::FuzzerDriver(&argc, &argv, LLVMFuzzerTestOneInput);
21*a7c257b0Skamil }
22