summary refs log tree commit diff stats
path: root/compiler
diff options
context:
space:
mode:
Diffstat (limited to 'compiler')
-rw-r--r--compiler/ccgtypes.nim11
1 files changed, 6 insertions, 5 deletions
diff --git a/compiler/ccgtypes.nim b/compiler/ccgtypes.nim
index 914368423..2e403a61d 100644
--- a/compiler/ccgtypes.nim
+++ b/compiler/ccgtypes.nim
@@ -127,15 +127,16 @@ const
                           tyDistinct, tyRange, tyStatic, tyAlias}
 
 proc getTypeName(m: BModule; typ: PType; sig: SigHash): Rope =
-  var typ = typ
+  var t = typ
   while true:
-    if typ.sym != nil and {sfImportc, sfExportc} * typ.sym.flags != {}:
-      return typ.sym.loc.r
+    if t.sym != nil and {sfImportc, sfExportc} * t.sym.flags != {}:
+      return t.sym.loc.r
 
-    if typ.kind in irrelevantForBackend:
-      typ = typ.lastSon
+    if t.kind in irrelevantForBackend:
+      t = t.lastSon
     else:
       break
+  let typ = if typ.kind == tyAlias: typ.lastSon else: typ
   if typ.loc.r == nil:
     typ.loc.r = typ.typeName & $sig
   else: