Mercurial > projects > ldc
comparison ir/irdsymbol.h @ 1146:1860414bf3b7
* Moved ir/irsymbol.cpp/h into ir/irdsymbol.cpp/h.
* Added #if IN_DMD versioning around DMD backend specific code in the D1 frontend, D2 is currently broken.
* All part of a greater cleanup scheme.
author | Tomas Lindquist Olsen <tomas.l.olsen gmail.com> |
---|---|
date | Thu, 26 Mar 2009 20:45:53 +0100 |
parents | ir/irsymbol.h@eef8ac26c66c |
children |
comparison
equal
deleted
inserted
replaced
1145:40caa8207b3e | 1146:1860414bf3b7 |
---|---|
1 #ifndef LDC_IR_IRDSYMBOL_H | |
2 #define LDC_IR_IRDSYMBOL_H | |
3 | |
4 #include <set> | |
5 | |
6 struct IrModule; | |
7 struct IrFunction; | |
8 struct IrStruct; | |
9 struct IrGlobal; | |
10 struct IrLocal; | |
11 struct IrField; | |
12 struct IrVar; | |
13 struct Dsymbol; | |
14 | |
15 namespace llvm { | |
16 struct Value; | |
17 } | |
18 | |
19 struct IrDsymbol | |
20 { | |
21 static std::set<IrDsymbol*> list; | |
22 static void resetAll(); | |
23 | |
24 // overload all of these to make sure | |
25 // the static list is up to date | |
26 IrDsymbol(); | |
27 IrDsymbol(const IrDsymbol& s); | |
28 ~IrDsymbol(); | |
29 | |
30 void reset(); | |
31 | |
32 Module* DModule; | |
33 | |
34 bool resolved; | |
35 bool declared; | |
36 bool initialized; | |
37 bool defined; | |
38 | |
39 IrModule* irModule; | |
40 | |
41 IrStruct* irStruct; | |
42 | |
43 IrFunction* irFunc; | |
44 | |
45 IrGlobal* irGlobal; | |
46 IrLocal* irLocal; | |
47 IrField* irField; | |
48 IrVar* getIrVar(); | |
49 llvm::Value*& getIrValue(); | |
50 | |
51 bool isSet(); | |
52 }; | |
53 | |
54 #endif |