Clean up types, removing some casts. Patch contributed by

Cedric Venet.

llvm-svn: 44050
This commit is contained in:
Chris Lattner 2007-11-13 18:16:41 +00:00
parent 2f72c427cf
commit 034b49dca0
3 changed files with 17 additions and 19 deletions

View File

@ -17,30 +17,30 @@ using namespace clang;
/// Init - Create an ModuleBuilder with the specified ASTContext.
clang::CodeGen::BuilderTy *
clang::CodeGen::CodeGenModule *
clang::CodeGen::Init(ASTContext &Context, llvm::Module &M,
const llvm::TargetData &TD) {
return new CodeGenModule(Context, M, TD);
}
void clang::CodeGen::Terminate(BuilderTy *B) {
delete static_cast<CodeGenModule*>(B);
void clang::CodeGen::Terminate(CodeGenModule *B) {
delete B;
}
/// CodeGenFunction - Convert the AST node for a FunctionDecl into LLVM.
///
void clang::CodeGen::CodeGenFunction(BuilderTy *B, FunctionDecl *D) {
static_cast<CodeGenModule*>(B)->EmitFunction(D);
void clang::CodeGen::CodeGenFunction(CodeGenModule *B, FunctionDecl *D) {
B->EmitFunction(D);
}
/// CodeGenGlobalVar - Emit the specified global variable to LLVM.
void clang::CodeGen::CodeGenGlobalVar(BuilderTy *Builder, FileVarDecl *D) {
static_cast<CodeGenModule*>(Builder)->EmitGlobalVarDeclarator(D);
void clang::CodeGen::CodeGenGlobalVar(CodeGenModule *Builder, FileVarDecl *D) {
Builder->EmitGlobalVarDeclarator(D);
}
/// PrintStats - Emit statistic information to stderr.
///
void clang::CodeGen::PrintStats(BuilderTy *B) {
static_cast<CodeGenModule*>(B)->PrintStats();
void clang::CodeGen::PrintStats(CodeGenModule *B) {
B->PrintStats();
}

View File

@ -511,7 +511,7 @@ namespace {
llvm::Module *M;
const llvm::TargetData *TD;
ASTContext *Ctx;
CodeGen::BuilderTy *Builder;
CodeGen::CodeGenModule *Builder;
public:
LLVMEmitter(Diagnostic &diags) : Diags(diags) {}
virtual void Initialize(ASTContext &Context, unsigned MainFileID) {

View File

@ -23,30 +23,28 @@ namespace clang {
class ASTContext;
class FunctionDecl;
class FileVarDecl;
namespace CodeGen {
/// BuilderTy - This is an opaque type used to reference ModuleBuilder
/// objects.
typedef void BuilderTy;
class CodeGenModule;
/// Init - Create an ModuleBuilder with the specified ASTContext.
BuilderTy *Init(ASTContext &Context, llvm::Module &M,
CodeGenModule *Init(ASTContext &Context, llvm::Module &M,
const llvm::TargetData &TD);
/// CodeGenFunction - Convert the AST node for a FunctionDecl into LLVM.
///
void CodeGenFunction(BuilderTy *Builder, FunctionDecl *D);
void CodeGenFunction(CodeGenModule *Builder, FunctionDecl *D);
/// CodeGenGlobalVar - Emit the specified global variable to LLVM.
void CodeGenGlobalVar(BuilderTy *Builder, FileVarDecl *D);
void CodeGenGlobalVar(CodeGenModule *Builder, FileVarDecl *D);
/// PrintStats - Emit statistic information to stderr.
///
void PrintStats(BuilderTy *Builder);
void PrintStats(CodeGenModule *Builder);
/// Terminate - Gracefully shut down the builder.
///
void Terminate(BuilderTy *Builder);
void Terminate(CodeGenModule *Builder);
} // end namespace CodeGen
} // end namespace clang