summary refs log tree commit diff stats
path: root/compiler
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2016-05-12 00:57:43 +0200
committerAndreas Rumpf <rumpf_a@web.de>2016-05-12 00:57:43 +0200
commit909a161ad23e7a693a8e6db9a8f4875684d4685c (patch)
tree9505c79de53d5cb856e73fdfaf45e181ecd622da /compiler
parent5bdde429e7d03ae72d252556d04c33aaf0617d45 (diff)
downloadNim-909a161ad23e7a693a8e6db9a8f4875684d4685c.tar.gz
fixes #4146
Diffstat (limited to 'compiler')
-rw-r--r--compiler/ccgtypes.nim48
1 files changed, 24 insertions, 24 deletions
diff --git a/compiler/ccgtypes.nim b/compiler/ccgtypes.nim
index 195417342..08432e42a 100644
--- a/compiler/ccgtypes.nim
+++ b/compiler/ccgtypes.nim
@@ -570,30 +570,30 @@ proc getTypeDescAux(m: BModule, typ: PType, check: var IntSet): Rope =
   of tyRange, tyEnum:
     let t = if t.kind == tyRange: t.lastSon else: t
     result = getTypeName(t)
-    if isImportedCppType(t) or
-        (sfImportc in t.sym.flags and t.sym.magic == mNone): return
-    idTablePut(m.typeCache, t, result)
-    var size: int
-    if firstOrd(t) < 0:
-      addf(m.s[cfsTypes], "typedef NI32 $1;$n", [result])
-      size = 4
-    else:
-      size = int(getSize(t))
-      case size
-      of 1: addf(m.s[cfsTypes], "typedef NU8 $1;$n", [result])
-      of 2: addf(m.s[cfsTypes], "typedef NU16 $1;$n", [result])
-      of 4: addf(m.s[cfsTypes], "typedef NI32 $1;$n", [result])
-      of 8: addf(m.s[cfsTypes], "typedef NI64 $1;$n", [result])
-      else: internalError(t.sym.info, "getTypeDescAux: enum")
-    let owner = hashOwner(t.sym)
-    if not gDebugInfo.hasEnum(t.sym.name.s, t.sym.info.line, owner):
-      var vals: seq[(string, int)] = @[]
-      for i in countup(0, t.n.len - 1):
-        assert(t.n.sons[i].kind == nkSym)
-        let field = t.n.sons[i].sym
-        vals.add((field.name.s, field.position.int))
-      gDebugInfo.registerEnum(EnumDesc(size: size, owner: owner, id: t.sym.id,
-        name: t.sym.name.s, values: vals))
+    if not (isImportedCppType(t) or
+        (sfImportc in t.sym.flags and t.sym.magic == mNone)):
+      idTablePut(m.typeCache, t, result)
+      var size: int
+      if firstOrd(t) < 0:
+        addf(m.s[cfsTypes], "typedef NI32 $1;$n", [result])
+        size = 4
+      else:
+        size = int(getSize(t))
+        case size
+        of 1: addf(m.s[cfsTypes], "typedef NU8 $1;$n", [result])
+        of 2: addf(m.s[cfsTypes], "typedef NU16 $1;$n", [result])
+        of 4: addf(m.s[cfsTypes], "typedef NI32 $1;$n", [result])
+        of 8: addf(m.s[cfsTypes], "typedef NI64 $1;$n", [result])
+        else: internalError(t.sym.info, "getTypeDescAux: enum")
+      let owner = hashOwner(t.sym)
+      if not gDebugInfo.hasEnum(t.sym.name.s, t.sym.info.line, owner):
+        var vals: seq[(string, int)] = @[]
+        for i in countup(0, t.n.len - 1):
+          assert(t.n.sons[i].kind == nkSym)
+          let field = t.n.sons[i].sym
+          vals.add((field.name.s, field.position.int))
+        gDebugInfo.registerEnum(EnumDesc(size: size, owner: owner, id: t.sym.id,
+          name: t.sym.name.s, values: vals))
   of tyProc:
     result = getTypeName(t)
     idTablePut(m.typeCache, t, result)