From 2e4d344b43b040a4dce2c478ca13e49979e491fc Mon Sep 17 00:00:00 2001 From: Juan M Gómez Date: Sun, 18 Aug 2024 12:21:17 +0100 Subject: Fixes #23962 `resetLoc`doenst produce any cgen code in `importcpp` types (#23964) --- compiler/cgen.nim | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'compiler') diff --git a/compiler/cgen.nim b/compiler/cgen.nim index 95155bb20..7291602f4 100644 --- a/compiler/cgen.nim +++ b/compiler/cgen.nim @@ -482,7 +482,10 @@ include ccgreset proc resetLoc(p: BProc, loc: var TLoc) = let containsGcRef = optSeqDestructors notin p.config.globalOptions and containsGarbageCollectedRef(loc.t) let typ = skipTypes(loc.t, abstractVarRange) - if isImportedCppType(typ): return + if isImportedCppType(typ): + var didGenTemp = false + linefmt(p, cpsStmts, "$1 = $2;$n", [rdLoc(loc), genCppInitializer(p.module, p, typ, didGenTemp)]) + return if optSeqDestructors in p.config.globalOptions and typ.kind in {tyString, tySequence}: assert loc.snippet != "" -- cgit 1.4.1-2-gfad0