1226584Sdim//===- llvm/TableGen/Main.h - tblgen entry point ----------------*- C++ -*-===//
2226584Sdim//
3226584Sdim//                     The LLVM Compiler Infrastructure
4226584Sdim//
5226584Sdim// This file is distributed under the University of Illinois Open Source
6226584Sdim// License. See LICENSE.TXT for details.
7226584Sdim//
8226584Sdim//===----------------------------------------------------------------------===//
9226584Sdim//
10226584Sdim// This file declares the common entry point for tblgen tools.
11226584Sdim//
12226584Sdim//===----------------------------------------------------------------------===//
13226584Sdim
14226584Sdim#ifndef LLVM_TABLEGEN_MAIN_H
15226584Sdim#define LLVM_TABLEGEN_MAIN_H
16226584Sdim
17226584Sdimnamespace llvm {
18226584Sdim
19243830Sdimclass RecordKeeper;
20243830Sdimclass raw_ostream;
21243830Sdim/// \brief Perform the action using Records, and write output to OS.
22243830Sdim/// \returns true on error, false otherwise
23243830Sdimtypedef bool TableGenMainFn(raw_ostream &OS, RecordKeeper &Records);
24226584Sdim
25243830Sdimint TableGenMain(char *argv0, TableGenMainFn *MainFn);
26226584Sdim
27226584Sdim}
28226584Sdim
29226584Sdim#endif
30