Mercurial > projects > ldc
view ir/irfunction.h @ 144:a27941d00351 trunk
[svn r149] fixed: a bunch of D-style variadics problems.
fixed: GotoDefaultStatement implemented.
fixed: some other minor bugs.
author | lindquist |
---|---|
date | Sat, 26 Jan 2008 17:13:22 +0100 |
parents | 0e28624814e8 |
children | 8f704cb9969b |
line wrap: on
line source
#ifndef LLVMDC_IR_IRFUNCTION_H #define LLVMDC_IR_IRFUNCTION_H #include "ir/ir.h" #include <vector> // represents a finally block struct IrFinally { llvm::BasicBlock* bb; llvm::BasicBlock* retbb; IrFinally(); IrFinally(llvm::BasicBlock* b, llvm::BasicBlock* rb); }; // represents a function struct IrFunction : IrBase { llvm::Function* func; llvm::Instruction* allocapoint; FuncDeclaration* decl; TypeFunction* type; // finally blocks typedef std::vector<IrFinally> FinallyVec; FinallyVec finallys; llvm::Value* finallyretval; bool queued; bool defined; llvm::Value* retArg; llvm::Value* thisVar; llvm::Value* nestedVar; llvm::Value* _arguments; llvm::Value* _argptr; llvm::Constant* dwarfSubProg; IrFunction(FuncDeclaration* fd); virtual ~IrFunction(); }; #endif