mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-10-22 02:37:26 +02:00
[svn r140] did a lot of the work towards being able to pass multiple modules on the command line. not complete yet though
This commit is contained in:
+42
@@ -0,0 +1,42 @@
|
||||
#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
|
||||
Reference in New Issue
Block a user