Mercurial > projects > ldc
view ir/irsymbol.h @ 314:8d98e42ece93 trunk
[svn r335] The basics of exception handling are in place.
Still need to make sure calls are turned into invokes everywhere. (NewExpression for instance)
Still some rough edges and corner cases to figure out.
Needs testing!
author | ChristianK |
---|---|
date | Wed, 02 Jul 2008 22:20:18 +0200 |
parents | c44e6a711885 |
children | eef8ac26c66c |
line wrap: on
line source
#ifndef LLVMDC_IR_IRSYMBOL_H #define LLVMDC_IR_IRSYMBOL_H #include <set> struct IrModule; struct IrFunction; struct IrStruct; struct IrGlobal; struct IrLocal; struct IrField; struct IrVar; struct Dsymbol; namespace llvm { struct Value; } struct IrDsymbol { static std::set<IrDsymbol*> list; static void resetAll(); // overload all of these to make sure // the static list is up to date IrDsymbol(); IrDsymbol(const IrDsymbol& s); ~IrDsymbol(); void reset(); Module* DModule; bool resolved; bool declared; bool initialized; bool defined; IrModule* irModule; IrStruct* irStruct; IrFunction* irFunc; IrGlobal* irGlobal; IrLocal* irLocal; IrField* irField; IrVar* getIrVar(); llvm::Value*& getIrValue(); bool isSet(); }; #endif