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()