2006-07-04 19:04:05 +00: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-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;
|
2007-09-04 02:46:00 +00:00
|
|
|
struct LangOptions;
|
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;
|
2006-07-04 19:04:05 +00:00
|
|
|
|
|
|
|
/// DoPrintPreprocessedInput - Implement -E mode.
|
2006-07-29 06:35:08 +00:00
|
|
|
void DoPrintPreprocessedInput(unsigned MainFileID, Preprocessor &PP,
|
2006-11-21 06:18:11 +00:00
|
|
|
const LangOptions &Options);
|
2006-07-04 19:04:05 +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
|
|
|
|
2006-10-14 07:39:34 +00:00
|
|
|
/// CreateTargetInfo - Return the set of target info objects as specified by
|
|
|
|
/// the -arch command line option.
|
2007-12-03 22:06:55 +00:00
|
|
|
TargetInfo *CreateTargetInfo(const std::vector<std::string>& triples,
|
2007-12-05 21:34:36 +00:00
|
|
|
Diagnostic *Diags);
|
2006-10-14 07:39:34 +00:00
|
|
|
|
2007-06-28 04:54:17 +00:00
|
|
|
/// EmitLLVMFromASTs - Implement -emit-llvm, which generates llvm IR from C.
|
2007-05-24 06:29:05 +00:00
|
|
|
void EmitLLVMFromASTs(Preprocessor &PP, unsigned MainFileID,
|
|
|
|
bool PrintStats);
|
|
|
|
|
2007-09-25 18:37:20 +00:00
|
|
|
/// CheckASTConsumer - Implement diagnostic checking for AST consumers.
|
2007-09-26 18:39:29 +00:00
|
|
|
bool CheckASTConsumer(Preprocessor &PP, unsigned MainFileID, ASTConsumer* C);
|
|
|
|
|
2007-06-28 04:54:17 +00:00
|
|
|
|
2006-07-04 19:04:05 +00:00
|
|
|
} // end namespace clang
|
|
|
|
|
|
|
|
#endif
|