Mercurial > projects > ldc
view ir/irvar.cpp @ 1228:79758fd2f48a
Added Doxygen file.
Completely seperated type and symbol generation. Should fix a lot of bugs, but is not yet 100% complete.
author | Tomas Lindquist Olsen <tomas.l.olsen gmail.com> |
---|---|
date | Wed, 15 Apr 2009 20:06:25 +0200 |
parents | 340acf1535d0 |
children | 212ec2d9d176 |
line wrap: on
line source
#include "gen/llvm.h" #include "declaration.h" #include "ir/irvar.h" ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// IrVar::IrVar(VarDeclaration* var) { V = var; value = NULL; } ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// IrGlobal::IrGlobal(VarDeclaration* v): IrVar(v), type(llvm::OpaqueType::get()) { constInit = NULL; } ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// IrLocal::IrLocal(VarDeclaration* v) : IrVar(v) { nestedIndex = -1; } ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// IrField::IrField(VarDeclaration* v, size_t idx, size_t offset) : IrVar(v) { index = idx; unionOffset = offset; constInit = NULL; assert(V->ir.irField == NULL && "field for this variable already exists"); V->ir.irField = this; } ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////