blob: bf212866ec8dd438040bed3e5bb1810ff73df17f [file] [log] [blame]
Chris Lattner4b009652007-07-25 00:24:17 +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;
Chris Lattner14bba0c2007-09-04 02:46:00 +000019struct LangOptions;
Chris Lattner4b009652007-07-25 00:24:17 +000020class MinimalAction;
21class TargetInfo;
22class Diagnostic;
Ted Kremenek0841c702007-09-25 18:37:20 +000023class ASTConsumer;
Chris Lattner4b009652007-07-25 00:24:17 +000024
25/// DoPrintPreprocessedInput - Implement -E mode.
26void DoPrintPreprocessedInput(unsigned MainFileID, Preprocessor &PP,
27 const LangOptions &Options);
28
29/// CreatePrintParserActionsAction - Return the actions implementation that
30/// implements the -parse-print-callbacks option.
31MinimalAction *CreatePrintParserActionsAction();
32
33/// CreateTargetInfo - Return the set of target info objects as specified by
34/// the -arch command line option.
35TargetInfo *CreateTargetInfo(Diagnostic &Diags);
36
37/// EmitLLVMFromASTs - Implement -emit-llvm, which generates llvm IR from C.
38void EmitLLVMFromASTs(Preprocessor &PP, unsigned MainFileID,
39 bool PrintStats);
40
Ted Kremenek0841c702007-09-25 18:37:20 +000041/// CheckASTConsumer - Implement diagnostic checking for AST consumers.
Ted Kremenek6856c632007-09-26 18:39:29 +000042bool CheckASTConsumer(Preprocessor &PP, unsigned MainFileID, ASTConsumer* C);
43
Chris Lattner4b009652007-07-25 00:24:17 +000044
45} // end namespace clang
46
47#endif