blob: 717d8886feeb3e41c0e6b2235398149c6185c827 [file] [log] [blame]
Reid Spencer5f016e22007-07-11 17:01:13 +00001//===--- clang.h - C-Language Front-end -----------------------------------===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file was developed by Chris Lattner and is distributed under
6// the University of Illinois Open Source License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// This is the header file that pulls together the top-level driver.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef LLVM_CLANG_CLANG_H
15#define LLVM_CLANG_CLANG_H
16
17namespace clang {
18class Preprocessor;
19class LangOptions;
20class MinimalAction;
21class TargetInfo;
22class Diagnostic;
23
24/// DoPrintPreprocessedInput - Implement -E mode.
25void DoPrintPreprocessedInput(unsigned MainFileID, Preprocessor &PP,
26 const LangOptions &Options);
27
28/// CreatePrintParserActionsAction - Return the actions implementation that
29/// implements the -parse-print-callbacks option.
30MinimalAction *CreatePrintParserActionsAction();
31
32/// CreateTargetInfo - Return the set of target info objects as specified by
33/// the -arch command line option.
34TargetInfo *CreateTargetInfo(Diagnostic &Diags);
35
36/// EmitLLVMFromASTs - Implement -emit-llvm, which generates llvm IR from C.
37void EmitLLVMFromASTs(Preprocessor &PP, unsigned MainFileID,
38 bool PrintStats);
39
40/// CheckDiagnostics - Implement the -parse-ast-check diagnostic verifier.
41bool CheckDiagnostics(Preprocessor &PP, unsigned MainFileID);
42
43} // end namespace clang
44
45#endif