Mercurial > projects > ldc
view ir/irsymbol.h @ 1126:899a2d90645b
Fix some issues with fawzi's patch.
- It now actually compiles:
- import stdc.stdio for string formatting functions)
- remove extra '{'
- Use snprintf() instead of sprintf().
- Use return value from snprintf instead of strlen().
- Don't print the filename in Exception.writeOut() if it has zero length and
the line number is 0
(It would previously only skip these if the filename was null, but not if it
was a different empty string)
- Ignore empty filename + line number 0 in FrameInfo.writeOut() as well.
author | Frits van Bommel <fvbommel wxs.nl> |
---|---|
date | Wed, 18 Mar 2009 15:33:19 +0100 |
parents | eef8ac26c66c |
children |
line wrap: on
line source
#ifndef LDC_IR_IRSYMBOL_H #define LDC_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