blob: fd11590854e6c7fad52ac87d7564960f943e898a [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;
Steve Naroffebeb4282007-10-31 20:55:39 +000024class IdentifierTable;
Chris Lattner4b009652007-07-25 00:24:17 +000025
26/// DoPrintPreprocessedInput - Implement -E mode.
27void DoPrintPreprocessedInput(unsigned MainFileID, Preprocessor &PP,
28 const LangOptions &Options);
29
30/// CreatePrintParserActionsAction - Return the actions implementation that
31/// implements the -parse-print-callbacks option.
Steve Naroffebeb4282007-10-31 20:55:39 +000032MinimalAction *CreatePrintParserActionsAction(IdentifierTable &);
Chris Lattner4b009652007-07-25 00:24:17 +000033
34/// CreateTargetInfo - Return the set of target info objects as specified by
35/// the -arch command line option.
36TargetInfo *CreateTargetInfo(Diagnostic &Diags);
37
38/// EmitLLVMFromASTs - Implement -emit-llvm, which generates llvm IR from C.
39void EmitLLVMFromASTs(Preprocessor &PP, unsigned MainFileID,
40 bool PrintStats);
41
Ted Kremenek0841c702007-09-25 18:37:20 +000042/// CheckASTConsumer - Implement diagnostic checking for AST consumers.
Ted Kremenek6856c632007-09-26 18:39:29 +000043bool CheckASTConsumer(Preprocessor &PP, unsigned MainFileID, ASTConsumer* C);
44
Chris Lattner4b009652007-07-25 00:24:17 +000045
46} // end namespace clang
47
48#endif