view ir/irfunction.h @ 197:bfcb657756f6 trunk

[svn r213] Fixed: foreach on an object seems to have been broken, the issue was that DMD generates an implicit delegate with conflicting types for 'this'. Fixed: string switch runtime support had wrong param types. Fixed: string switch on a temporary slice was broken.
author lindquist
date Mon, 12 May 2008 20:02:52 +0200
parents 8f704cb9969b
children e881c9b1c738
line wrap: on
line source

#ifndef LLVMDC_IR_IRFUNCTION_H
#define LLVMDC_IR_IRFUNCTION_H

#include "ir/ir.h"

#include <vector>

// represents a function
struct IrFunction : IrBase
{
    llvm::Function* func;
    llvm::Instruction* allocapoint;
    FuncDeclaration* decl;
    TypeFunction* type;

    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