From 2f399807cb45ea073e1c1bb640d16956e58fcae0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20M=20G=C3=B3mez?= Date: Tue, 14 May 2024 14:03:26 +0100 Subject: [PATCH] [Backport 2.0 ] Skips generic owner when mangling instances (#23600) --- compiler/ccgutils.nim | 2 +- tests/codegen/titaniummangle.nim | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/compiler/ccgutils.nim b/compiler/ccgutils.nim index 0ef87bf266..ebef00e101 100644 --- a/compiler/ccgutils.nim +++ b/compiler/ccgutils.nim @@ -166,7 +166,7 @@ proc encodeSym*(m: BModule; s: PSym; makeUnique: bool = false): string = var name = s.name.s if makeUnique: name = makeUnique(m, s, name) - "N" & encodeName(s.owner.name.s) & encodeName(name) & "E" + "N" & encodeName(s.skipGenericOwner.name.s) & encodeName(name) & "E" proc elementType*(n: PType): PType {.inline.} = n.sons[^1] diff --git a/tests/codegen/titaniummangle.nim b/tests/codegen/titaniummangle.nim index b20ffee3b8..cb282fbf6c 100644 --- a/tests/codegen/titaniummangle.nim +++ b/tests/codegen/titaniummangle.nim @@ -5,11 +5,11 @@ discard """ ccodecheck: "'_ZN14titaniummangle8testFuncE6stringN14titaniummangle3FooE'" ccodecheck: "'_ZN14titaniummangle8testFuncE3int7varargsI6stringE'" ccodecheck: "'_ZN14titaniummangle8testFuncEN14titaniummangle3BooE'" - ccodecheck: "'_ZN8testFunc8testFuncE8typeDescIN14titaniummangle17EnumAnotherSampleEE'" + ccodecheck: "'_ZN14titaniummangle8testFuncE8typeDescIN14titaniummangle17EnumAnotherSampleEE'" ccodecheck: "'_ZN14titaniummangle8testFuncE3ptrI14uncheckedArrayI3intEE'" ccodecheck: "'_ZN14titaniummangle8testFuncE3setIN14titaniummangle10EnumSampleEE'" ccodecheck: "'_ZN14titaniummangle8testFuncE4procI6string6stringE'" - ccodecheck: "'_ZN8testFunc8testFuncE3intN10Comparable10ComparableE'" + ccodecheck: "'_ZN14titaniummangle8testFuncE3intN10Comparable10ComparableE'" ccodecheck: "'_ZN14titaniummangle8testFuncE3int3int'" ccodecheck: "'_ZN14titaniummangle8testFuncEN14titaniummangle10EnumSampleE'" ccodecheck: "'_ZN14titaniummangle8testFuncEN14titaniummangle17EnumAnotherSampleE'"