view ir/irvar.h @ 797:340acf1535d0

Removed KDevelop3 project files, CMake can generate them just fine! Fixed function literals in static initializers. Changed alignment of delegates from 2*PTRSIZE to just PTRSIZE. Changed errors to go to stderr instead of stdout. Fairly major rewriting of struct/union/class handling, STILL A BIT BUGGY !!!
author Tomas Lindquist Olsen <>
date Sat, 29 Nov 2008 21:25:43 +0100
parents eef8ac26c66c
children 8699c450a1a0
line wrap: on
line source
#ifndef LDC_IR_IRVAR_H
#define LDC_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);

    unsigned index;
    unsigned unionOffset;

    llvm::Constant* constInit;