2006-07-05 03:04:05 +08:00
|
|
|
//===--- clang.h - C-Language Front-end -----------------------------------===//
|
|
|
|
//
|
|
|
|
// The LLVM Compiler Infrastructure
|
|
|
|
//
|
|
|
|
// This file was developed by Chris Lattner and is distributed under
|
|
|
|
// the University of Illinois Open Source License. See LICENSE.TXT for details.
|
|
|
|
//
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
//
|
|
|
|
// This is the header file that pulls together the top-level driver.
|
|
|
|
//
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
|
|
|
#ifndef LLVM_CLANG_CLANG_H
|
|
|
|
#define LLVM_CLANG_CLANG_H
|
|
|
|
|
2007-09-26 02:37:20 +08:00
|
|
|
#include <memory>
|
|
|
|
|
2006-07-05 03:04:05 +08:00
|
|
|
namespace clang {
|
2006-07-29 14:30:25 +08:00
|
|
|
class Preprocessor;
|
2007-09-04 10:46:00 +08:00
|
|
|
struct LangOptions;
|
2006-11-06 02:39:59 +08:00
|
|
|
class MinimalAction;
|
2006-10-14 15:39:34 +08:00
|
|
|
class TargetInfo;
|
|
|
|
class Diagnostic;
|
2007-09-26 02:37:20 +08:00
|
|
|
class ASTConsumer;
|
2006-07-05 03:04:05 +08:00
|
|
|
|
|
|
|
/// DoPrintPreprocessedInput - Implement -E mode.
|
2006-07-29 14:35:08 +08:00
|
|
|
void DoPrintPreprocessedInput(unsigned MainFileID, Preprocessor &PP,
|
2006-11-21 14:18:11 +08:00
|
|
|
const LangOptions &Options);
|
2006-07-05 03:04:05 +08:00
|
|
|
|
2006-08-17 13:51:27 +08:00
|
|
|
/// CreatePrintParserActionsAction - Return the actions implementation that
|
|
|
|
/// implements the -parse-print-callbacks option.
|
2006-11-06 02:39:59 +08:00
|
|
|
MinimalAction *CreatePrintParserActionsAction();
|
2006-08-17 13:51:27 +08:00
|
|
|
|
2006-10-14 15:39:34 +08:00
|
|
|
/// CreateTargetInfo - Return the set of target info objects as specified by
|
|
|
|
/// the -arch command line option.
|
|
|
|
TargetInfo *CreateTargetInfo(Diagnostic &Diags);
|
|
|
|
|
2007-06-28 12:54:17 +08:00
|
|
|
/// EmitLLVMFromASTs - Implement -emit-llvm, which generates llvm IR from C.
|
2007-05-24 14:29:05 +08:00
|
|
|
void EmitLLVMFromASTs(Preprocessor &PP, unsigned MainFileID,
|
|
|
|
bool PrintStats);
|
|
|
|
|
2007-06-28 12:54:17 +08:00
|
|
|
/// CheckDiagnostics - Implement the -parse-ast-check diagnostic verifier.
|
|
|
|
bool CheckDiagnostics(Preprocessor &PP, unsigned MainFileID);
|
2007-09-26 02:37:20 +08:00
|
|
|
|
|
|
|
/// CheckASTConsumer - Implement diagnostic checking for AST consumers.
|
|
|
|
bool CheckASTConsumer(Preprocessor &PP, unsigned MainFileID,
|
|
|
|
std::auto_ptr<ASTConsumer> C);
|
2007-06-28 12:54:17 +08:00
|
|
|
|
2006-07-05 03:04:05 +08:00
|
|
|
} // end namespace clang
|
|
|
|
|
|
|
|
#endif
|