view ir/irvar.h @ 285:297690b5d4a5 trunk

[svn r306] Fixed: it's now possible to compile and link llvmdc with MinGW32 and msys on Win32 :D I tried it myself ;) Building the runtime still needs some work, but it's a step in the right direction.
author lindquist
date Sat, 21 Jun 2008 03:14:49 +0200
parents 0e28624814e8
children eef8ac26c66c
line wrap: on
line source

#ifndef LLVMDC_IR_IRVAR_H
#define LLVMDC_IR_IRVAR_H

#include "ir/ir.h"
#include "llvm/Type.h"

struct IrVar : IrBase
{
    IrVar(VarDeclaration* var);

    VarDeclaration* V;
    llvm::Value* value;
};

// represents a global variable
struct IrGlobal : IrVar
{
    IrGlobal(VarDeclaration* v);

    llvm::PATypeHolder type;
    llvm::Constant* constInit;
};

// represents a local variable variable
struct IrLocal : IrVar
{
    IrLocal(VarDeclaration* v);

    int nestedIndex;
};

// represents an aggregate field variable
struct IrField : IrVar
{
    IrField(VarDeclaration* v);

    int index;
    size_t indexOffset;
    llvm::Constant* constInit;
};

#endif