view ir/ir.h @ 1596:42fc0d955a0d

Updated runtest to always rebuild libtangobos-partial.a in case of updates. Changed std.stdarg to import ldc.vararg so it has the correct implementation.
author Robert Clipsham <robert@octarineparrot.com>
date Sun, 15 Nov 2009 13:22:02 +0000
parents 46f6365a50d7
children
line wrap: on
line source

// this head contains stuff used by all the IR

#ifndef LDC_IR_IR_H
#define LDC_IR_IR_H

#include <deque>

#include "ir/irforw.h"
#include "root.h"

struct IRState;
struct IrFunction;

struct IrBase : Object
{
    virtual ~IrBase() {}
};

class Ir
{
public:
    Ir();

    void setState(IRState* p)   { irs = p; }
    IRState* getState()         { return irs; }

    void addFunctionBody(IrFunction* f);
    void emitFunctionBodies();

private:
    IRState* irs;

    std::deque<IrFunction*> functionbodies;
};

#endif