Mercurial > projects > ldc
diff gen/irstate.h @ 102:027b8d8b71ec trunk
[svn r106] Turns out the last commit wasn't enough, now the D->LLVM process is even more split up.
Basically it tries to do the following in order: Resolve types, Declare symbols, Create constant initializers, Apply initializers, Generate functions bodies.
ClassInfo is now has the most useful(biased?) members working.
Probably other stuf...
author | lindquist |
---|---|
date | Sun, 18 Nov 2007 06:52:57 +0100 |
parents | 5071469303d4 |
children | 855adfdb8d38 |
line wrap: on
line diff
--- a/gen/irstate.h Fri Nov 16 10:01:24 2007 +0100 +++ b/gen/irstate.h Sun Nov 18 06:52:57 2007 +0100 @@ -5,6 +5,7 @@ #include <vector> #include <deque> #include <map> +#include <list> #include "root.h" @@ -176,11 +177,15 @@ // builder helper IRBuilderHelper ir; - typedef std::vector<Dsymbol*> DsymbolVector; + typedef std::list<Dsymbol*> DsymbolList; + // dsymbols that need to be resolved + DsymbolList resolveList; + // dsymbols that need to be declared + DsymbolList declareList; // dsymbols that need constant initializers constructed - DsymbolVector constInitQueue; - // dsymbols that need definitions (symbols in current module) - DsymbolVector defineQueue; + DsymbolList constInitList; + // dsymbols that need definitions + DsymbolList defineList; }; #endif // LLVMDC_GEN_IRSTATE_H