# HG changeset patch # User Tomas Lindquist Olsen # Date 1238192687 -3600 # Node ID 2a687353c84d218b0dbc83481349a0a00385e217 # Parent 5ebe8224988b45f9e813fc76809c7bdc97f1a74f Added missing new files. diff -r 5ebe8224988b -r 2a687353c84d ir/ir.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ir/ir.cpp Fri Mar 27 23:24:47 2009 +0100 @@ -0,0 +1,34 @@ +#include "llvm/Target/TargetData.h" + +#include "gen/irstate.h" +#include "gen/tollvm.h" +#include "gen/functions.h" + +#include "ir/ir.h" +#include "ir/irfunction.h" + + +unsigned GetTypeAlignment(Ir* ir, Type* t) +{ + return gTargetData->getABITypeAlignment(DtoType(t)); +} + +Ir::Ir() +: irs(NULL) +{ +} + +void Ir::addFunctionBody(IrFunction * f) +{ + functionbodies.push_back(f); +} + +void Ir::emitFunctionBodies() +{ + while (!functionbodies.empty()) + { + IrFunction* irf = functionbodies.front(); + functionbodies.pop_front(); + DtoDefineFunction(irf->decl); + } +} diff -r 5ebe8224988b -r 2a687353c84d ir/irsymbol.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ir/irsymbol.cpp Fri Mar 27 23:24:47 2009 +0100 @@ -0,0 +1,1 @@ +#include "ir/irsymbol.h" diff -r 5ebe8224988b -r 2a687353c84d ir/irsymbol.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ir/irsymbol.h Fri Mar 27 23:24:47 2009 +0100 @@ -0,0 +1,20 @@ +#ifndef __LDC_IR_IRSYMBOL_H__ +#define __LDC_IR_IRSYMBOL_H__ + +#include "ir/ir.h" + +/// Base class for all symbols. +struct IrSymbol +{ + /// + IrSymbol(Ir* ir) : ir(ir) {} + + /// Migrate symbols to current module if necessary. + virtual void migrate() = 0; + +protected: + /// + Ir* ir; +}; + +#endif