2006-07-04 19:04:05 +00:00
|
|
|
//===--- clang.h - C-Language Front-end -----------------------------------===//
|
|
|
|
//
|
|
|
|
// The LLVM Compiler Infrastructure
|
|
|
|
//
|
2007-12-29 19:59:25 +00:00
|
|
|
// This file is distributed under the University of Illinois Open Source
|
|
|
|
// License. See LICENSE.TXT for details.
|
2006-07-04 19:04:05 +00:00
|
|
|
//
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
//
|
|
|
|
// This is the header file that pulls together the top-level driver.
|
|
|
|
//
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
|
|
|
#ifndef LLVM_CLANG_CLANG_H
|
|
|
|
#define LLVM_CLANG_CLANG_H
|
|
|
|
|
2007-12-03 22:06:55 +00:00
|
|
|
#include <vector>
|
|
|
|
#include <string>
|
|
|
|
|
2006-07-04 19:04:05 +00:00
|
|
|
namespace clang {
|
2006-07-29 06:30:25 +00:00
|
|
|
class Preprocessor;
|
2006-11-05 18:39:59 +00:00
|
|
|
class MinimalAction;
|
2006-10-14 07:39:34 +00:00
|
|
|
class TargetInfo;
|
|
|
|
class Diagnostic;
|
2007-09-25 18:37:20 +00:00
|
|
|
class ASTConsumer;
|
2007-10-31 20:55:39 +00:00
|
|
|
class IdentifierTable;
|
2007-12-11 21:27:55 +00:00
|
|
|
class SourceManager;
|
2006-07-04 19:04:05 +00:00
|
|
|
|
|
|
|
/// DoPrintPreprocessedInput - Implement -E mode.
|
2008-01-27 23:55:11 +00:00
|
|
|
void DoPrintPreprocessedInput(Preprocessor &PP, const std::string& OutFile);
|
2006-07-04 19:04:05 +00:00
|
|
|
|
2008-05-08 06:52:13 +00:00
|
|
|
/// RewriteMacrosInInput - Implement -rewrite-macros mode.
|
2008-05-09 22:43:24 +00:00
|
|
|
void RewriteMacrosInInput(Preprocessor &PP, const std::string &InFileName,
|
|
|
|
const std::string& OutFile);
|
2008-05-08 06:52:13 +00:00
|
|
|
|
2006-08-17 05:51:27 +00:00
|
|
|
/// CreatePrintParserActionsAction - Return the actions implementation that
|
|
|
|
/// implements the -parse-print-callbacks option.
|
2007-10-31 20:55:39 +00:00
|
|
|
MinimalAction *CreatePrintParserActionsAction(IdentifierTable &);
|
2006-08-17 05:51:27 +00:00
|
|
|
|
2007-06-28 04:54:17 +00:00
|
|
|
/// EmitLLVMFromASTs - Implement -emit-llvm, which generates llvm IR from C.
|
2007-12-19 22:51:13 +00:00
|
|
|
void EmitLLVMFromASTs(Preprocessor &PP, bool PrintStats);
|
2007-05-24 06:29:05 +00:00
|
|
|
|
2007-09-25 18:37:20 +00:00
|
|
|
/// CheckASTConsumer - Implement diagnostic checking for AST consumers.
|
2007-12-19 22:51:13 +00:00
|
|
|
bool CheckASTConsumer(Preprocessor &PP, ASTConsumer* C);
|
2007-09-26 18:39:29 +00:00
|
|
|
|
2007-06-28 04:54:17 +00:00
|
|
|
|
2006-07-04 19:04:05 +00:00
|
|
|
} // end namespace clang
|
|
|
|
|
|
|
|
#endif
|