From 51edd9bd6045d98dbd21dbcebbad61dacaefe4d0 Mon Sep 17 00:00:00 2001 From: ringabout <43030857+ringabout@users.noreply.github.com> Date: Thu, 20 Feb 2025 06:03:58 +0800 Subject: [PATCH] always mangle local variables (#24681) ref #24677 (cherry picked from commit 1af88a2d20add67e3c376f0bc7144f9a0a843183) --- compiler/ccgtypes.nim | 2 +- tests/ccgbugs/tassign_nil_strings.nim | 2 +- tests/ccgbugs/tmissingvolatile.nim | 2 +- tests/ccgbugs2/tcodegen.nim | 11 +++++++++++ 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/compiler/ccgtypes.nim b/compiler/ccgtypes.nim index 43e7098698..e492559b45 100644 --- a/compiler/ccgtypes.nim +++ b/compiler/ccgtypes.nim @@ -115,7 +115,7 @@ proc fillLocalName(p: BProc; s: PSym) = if s.kind == skTemp: # speed up conflict search for temps (these are quite common): if counter != 0: result.add "_" & rope(counter+1) - elif counter != 0 or isKeyword(s.name) or p.module.g.config.cppDefines.contains(key): + elif s.kind != skResult: result.add "_" & rope(counter+1) p.sigConflicts.inc(key) s.loc.snippet = result diff --git a/tests/ccgbugs/tassign_nil_strings.nim b/tests/ccgbugs/tassign_nil_strings.nim index e32bfcade6..11d9eb568a 100644 --- a/tests/ccgbugs/tassign_nil_strings.nim +++ b/tests/ccgbugs/tassign_nil_strings.nim @@ -1,7 +1,7 @@ discard """ matrix: "--mm:refc" output: "Hello" - ccodecheck: "\\i@'a = ((NimStringDesc*) NIM_NIL)'" + ccodecheck: "\\i@'a_1 = ((NimStringDesc*) NIM_NIL)'" """ proc main() = diff --git a/tests/ccgbugs/tmissingvolatile.nim b/tests/ccgbugs/tmissingvolatile.nim index b877eff71c..3455a9cb3d 100644 --- a/tests/ccgbugs/tmissingvolatile.nim +++ b/tests/ccgbugs/tmissingvolatile.nim @@ -1,7 +1,7 @@ discard """ output: "1" cmd: r"nim c --hints:on $options --mm:refc -d:release $file" - ccodecheck: "'NI volatile state;'" + ccodecheck: "'NI volatile state_1;'" targets: "c" """ diff --git a/tests/ccgbugs2/tcodegen.nim b/tests/ccgbugs2/tcodegen.nim index aac1ecaf39..37579e0bf4 100644 --- a/tests/ccgbugs2/tcodegen.nim +++ b/tests/ccgbugs2/tcodegen.nim @@ -45,3 +45,14 @@ block: # bug #22354 main() + +proc main = # bug #24677 + let NULL = 1 + doAssert NULL == 1 + + var COMMA = 1 + doAssert COMMA == 1 + + for NDEBUG in 0..2: + doAssert NDEBUG == NDEBUG +main()