summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--lib/system/hti.nim6
-rw-r--r--tests/cpp/t9013.nim9
2 files changed, 14 insertions, 1 deletions
diff --git a/lib/system/hti.nim b/lib/system/hti.nim
index c7b52bbdf..bffe81bc8 100644
--- a/lib/system/hti.nim
+++ b/lib/system/hti.nim
@@ -103,6 +103,10 @@ type
   PNimType = ptr TNimType
 
 when defined(nimTypeNames):
-  var nimTypeRoot {.compilerProc.}: PNimType
+  # Declare this variable only once in system.nim
+  when declared(ThisIsSystem):
+    var nimTypeRoot {.compilerProc.}: PNimType
+  else:
+    var nimTypeRoot {.importc.}: PNimType
 
 # node.len may be the ``first`` element of a set
diff --git a/tests/cpp/t9013.nim b/tests/cpp/t9013.nim
new file mode 100644
index 000000000..6103cf2e7
--- /dev/null
+++ b/tests/cpp/t9013.nim
@@ -0,0 +1,9 @@
+discard """
+  targets: "cpp"
+  cmd: "nim $target --debugger:native $options $file"
+"""
+
+# The --debugger switch is needed in order to enable the defined(nimTypeNames)
+# code path in hti.nim
+import typeinfo
+var tt: Any