diff options
author | cooldome <ariabushenko@gmail.com> | 2020-10-12 10:12:32 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-12 10:12:32 +0100 |
commit | 9668a1106de6ccd86b377d2a2c566d8efb11479b (patch) | |
tree | b3dd1f2ad2def87c2a3be9d55a56c6032ac5c143 | |
parent | d66e274e1ac8e86266151ad0c48f7705b3bd1582 (diff) | |
download | Nim-9668a1106de6ccd86b377d2a2c566d8efb11479b.tar.gz |
Fix 15543 (#15544)
* fix #15543 * fix spacing * fix test * simplify test for freebsd platform
-rw-r--r-- | compiler/ccgtypes.nim | 2 | ||||
-rw-r--r-- | tests/arc/t14472.nim | 22 |
2 files changed, 22 insertions, 2 deletions
diff --git a/compiler/ccgtypes.nim b/compiler/ccgtypes.nim index 0df7c8d2a..6c82a140b 100644 --- a/compiler/ccgtypes.nim +++ b/compiler/ccgtypes.nim @@ -1487,7 +1487,7 @@ proc genTypeInfoV1(m: BModule, t: PType; info: TLineInfo): Rope = elif origType.attachedOps[attachedDeepCopy] != nil: genDeepCopyProc(m, origType.attachedOps[attachedDeepCopy], result) - if optTinyRtti in m.config.globalOptions and t.kind == tyObject: + if optTinyRtti in m.config.globalOptions and t.kind == tyObject and sfImportc notin t.sym.flags: let v2info = genTypeInfoV2(m, origType, info) addf(m.s[cfsTypeInit3], "$1->typeInfoV1 = (void*)&$2; $2.typeInfoV2 = (void*)$1;$n", [ v2info, result]) diff --git a/tests/arc/t14472.nim b/tests/arc/t14472.nim index 47ed77f4c..4ef661161 100644 --- a/tests/arc/t14472.nim +++ b/tests/arc/t14472.nim @@ -1,6 +1,6 @@ discard """ valgrind: true - cmd: "nim c --gc:arc -d:useMalloc $file" + cmd: "nim cpp --gc:arc -d:useMalloc --deepcopy:on $file" """ type @@ -21,3 +21,23 @@ proc bork() : ImportedScene = add(result.meshes, Mesh(material: mats[0])) var s = bork() + + +#------------------------------------------------------------------------ +# issue #15543 + +import tables + +type + cdbl {.importc: "double".} = object + + MyObject = ref object of RootObj + y: Table[string, cdbl] + + +proc test = + var x = new(MyObject) + +test() + + |