diff options
-rwxr-xr-x | compiler/ccgtypes.nim | 17 | ||||
-rwxr-xr-x | compiler/cgen.nim | 2 | ||||
-rwxr-xr-x | todo.txt | 3 |
3 files changed, 6 insertions, 16 deletions
diff --git a/compiler/ccgtypes.nim b/compiler/ccgtypes.nim index aae006208..fafc19210 100755 --- a/compiler/ccgtypes.nim +++ b/compiler/ccgtypes.nim @@ -733,21 +733,12 @@ proc genSetInfo(m: BModule, typ: PType, name: PRope) = proc genArrayInfo(m: BModule, typ: PType, name: PRope) = genTypeInfoAuxBase(m, typ, name, genTypeInfo(m, typ.sons[1])) -var - gToTypeInfoId: TIiTable - proc genTypeInfo(m: BModule, typ: PType): PRope = - var dataGenerated: bool var t = getUniqueType(typ) - var id = IiTableGet(gToTypeInfoId, t.id) - if id == invalidKey: - dataGenerated = false - id = t.id # getID(); - IiTablePut(gToTypeInfoId, t.id, id) - else: - dataGenerated = true - result = ropef("NTI$1", [toRope(id)]) - if not ContainsOrIncl(m.typeInfoMarker, id): + # gNimDat contains all the type information nowadays: + var dataGenerated = ContainsOrIncl(gNimDat.typeInfoMarker, t.id) + result = ropef("NTI$1", [toRope(t.id)]) + if not ContainsOrIncl(m.typeInfoMarker, t.id): # declare type information structures: discard cgsym(m, "TNimType") discard cgsym(m, "TNimNode") diff --git a/compiler/cgen.nim b/compiler/cgen.nim index 2cdbf9159..aa4285214 100755 --- a/compiler/cgen.nim +++ b/compiler/cgen.nim @@ -966,5 +966,3 @@ proc cgenPass(): TPass = result.process = myProcess result.close = myClose -InitIiTable(gToTypeInfoId) - diff --git a/todo.txt b/todo.txt index eadf9642a..6b9446c1c 100755 --- a/todo.txt +++ b/todo.txt @@ -16,9 +16,10 @@ Version 0.8.14 incremental compilation ----------------------- -- implement C file merge operation - adapt thread var implementation to care about the new merge operation - write test cases: needs test script support + - test thread var + - test DLL interfacing! - fix remaining bugs - write documentation - make the compiler output a warning if linking fails with --symbolFiles:on |