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