Mercurial > projects > ddmd
diff dmd/Module.d @ 176:fa9a71a9f5a8
Moved all the mutable globals to Global
author | korDen |
---|---|
date | Sun, 10 Oct 2010 05:22:45 +0400 |
parents | af724d3510d7 |
children | e3afd1303184 |
line wrap: on
line diff
--- a/dmd/Module.d Sun Oct 10 03:48:06 2010 +0400 +++ b/dmd/Module.d Sun Oct 10 05:22:45 2010 +0400 @@ -937,17 +937,17 @@ //printf("Module.genobjfile(multiobj = %d) %s\n", multiobj, toChars()); - lastmname = srcfile.toChars(); /// global mutation + auto lastmname = global.lastmname = srcfile.toChars(); obj_initfile(toStringz(lastmname), null, toStringz(toPrettyChars())); - eictor = null; - ictorlocalgot = null; - ector = null; - ectorgates.setDim(0); - edtor = null; - etest = null; - dtorcount = 0; + global.eictor = null; + global.ictorlocalgot = null; + global.ector = null; + global.ectorgates.setDim(0); + global.edtor = null; + global.etest = null; + global.dtorcount = 0; if (doppelganger) { @@ -1039,7 +1039,7 @@ sictor = toSymbolX("__modictor", SC.SCglobal, t, "FZv"); cstate.CSpsymtab = &sictor.Sfunc.Flocsym; - localgot = ictorlocalgot; + global.localgot = global.ictorlocalgot; elem* e; e = el_params(el_ptr(cov), el_long(TYM.TYuint, numlines), @@ -1047,12 +1047,12 @@ toEfilename(), null); e = el_bin(OPER.OPcall, TYM.TYvoid, el_var(rtlsym[RTLSYM.RTLSYM_DCOVER]), e); - eictor = el_combine(e, eictor); - ictorlocalgot = localgot; + global.eictor = el_combine(e, global.eictor); + global.ictorlocalgot = global.localgot; } // If coverage / static constructor / destructor / unittest calls - if (eictor || ector || ectorgates.dim || edtor || etest) + if (global.eictor || global.ector || global.ectorgates.dim || global.edtor || global.etest) { /* t will be the type of the functions generated: * extern (C) void func(); @@ -1065,36 +1065,36 @@ enum moddeco = "FZv"; - if (eictor) + if (global.eictor) { - localgot = ictorlocalgot; + global.localgot = global.ictorlocalgot; block* b = block_calloc(); b.BC = BC.BCret; - b.Belem = eictor; + b.Belem = global.eictor; sictor.Sfunc.Fstartblock = b; writefunc(sictor); } - if (ector || ectorgates.dim) + if (global.ector || global.ectorgates.dim) { - localgot = null; + global.localgot = null; sctor = toSymbolX("__modctor", SC.SCglobal, t, moddeco); cstate.CSpsymtab = &sctor.Sfunc.Flocsym; - for (int i = 0; i < ectorgates.dim; i++) + for (int i = 0; i < global.ectorgates.dim; i++) { - StaticDtorDeclaration f = cast(StaticDtorDeclaration)ectorgates.data[i]; + StaticDtorDeclaration f = cast(StaticDtorDeclaration)global.ectorgates.data[i]; Symbol* s = f.vgate.toSymbol(); elem* e = el_var(s); e = el_bin(OPER.OPaddass, TYM.TYint, e, el_long(TYM.TYint, 1)); - ector = el_combine(ector, e); + global.ector = el_combine(global.ector, e); } block* b = block_calloc(); b.BC = BC.BCret; - b.Belem = ector; + b.Belem = global.ector; sctor.Sfunc.Fstartblock = b; writefunc(sctor); version (STATICCTOR) { @@ -1102,26 +1102,26 @@ } } - if (edtor) + if (global.edtor) { - localgot = null; + global.localgot = null; sdtor = toSymbolX("__moddtor", SC.SCglobal, t, moddeco); block* b = block_calloc(); b.BC = BC.BCret; - b.Belem = edtor; + b.Belem = global.edtor; sdtor.Sfunc.Fstartblock = b; writefunc(sdtor); } - if (etest) + if (global.etest) { - localgot = null; + global.localgot = null; stest = toSymbolX("__modtest", SC.SCglobal, t, moddeco); block* b = block_calloc(); b.BC = BC.BCret; - b.Belem = etest; + b.Belem = global.etest; stest.Sfunc.Fstartblock = b; writefunc(stest); } @@ -1156,7 +1156,7 @@ elem* elinnum; elem* efilename; - localgot = null; + global.localgot = null; // Call dassert(filename, line) // Get sole parameter, linnum