From 81e7811e01b22518cb5e533cf75ed5dda0873415 Mon Sep 17 00:00:00 2001 From: ringabout <43030857+ringabout@users.noreply.github.com> Date: Sun, 2 Oct 2022 12:44:10 +0800 Subject: [PATCH] fixes nim check with orc (#20456) * fixes nim check with orc * fixes tests * add tests * fixes tests * Update tests/arc/t20456.nim --- compiler/nim.nim | 4 ++++ tests/arc/t20456.nim | 7 +++++++ tests/errmsgs/tsigmatch.nim | 2 +- tests/misc/m20456.nims | 1 + tests/misc/t20456_2.nim | 14 ++++++++++++++ 5 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 tests/arc/t20456.nim create mode 100644 tests/misc/m20456.nims create mode 100644 tests/misc/t20456_2.nim diff --git a/compiler/nim.nim b/compiler/nim.nim index 2a6b3bc1b7..b98a514d73 100644 --- a/compiler/nim.nim +++ b/compiler/nim.nim @@ -97,6 +97,10 @@ proc handleCmdLine(cache: IdentCache; conf: ConfigRef) = if not self.loadConfigsAndProcessCmdLine(cache, conf, graph): return + if conf.cmd == cmdCheck and optWasNimscript notin conf.globalOptions and + conf.backend == backendInvalid: + conf.backend = backendC + if conf.selectedGC == gcUnselected: if conf.backend in {backendC, backendCpp, backendObjc}: initOrcDefines(conf) diff --git a/tests/arc/t20456.nim b/tests/arc/t20456.nim new file mode 100644 index 0000000000..ace79255a0 --- /dev/null +++ b/tests/arc/t20456.nim @@ -0,0 +1,7 @@ +discard """ + cmd: "nim check $file" + action: "compile" +""" + +when not defined(gcOrc): + {.error: "orc".} diff --git a/tests/errmsgs/tsigmatch.nim b/tests/errmsgs/tsigmatch.nim index 8f32ef9e66..49b3559829 100644 --- a/tests/errmsgs/tsigmatch.nim +++ b/tests/errmsgs/tsigmatch.nim @@ -1,5 +1,5 @@ discard """ - cmd: "nim check --showAllMismatches:on --hints:off $file" + cmd: "nim check --mm:refc --showAllMismatches:on --hints:off $file" nimout: ''' tsigmatch.nim(111, 4) Error: type mismatch: got but expected one of: diff --git a/tests/misc/m20456.nims b/tests/misc/m20456.nims new file mode 100644 index 0000000000..8a93131295 --- /dev/null +++ b/tests/misc/m20456.nims @@ -0,0 +1 @@ +echo 123 \ No newline at end of file diff --git a/tests/misc/t20456_2.nim b/tests/misc/t20456_2.nim new file mode 100644 index 0000000000..37e52c4522 --- /dev/null +++ b/tests/misc/t20456_2.nim @@ -0,0 +1,14 @@ +discard """ + joinable: false +""" + +import std/[osproc, os, strformat] +from stdtest/specialpaths import testsDir + +when defined(nimPreviewSlimSystem): + import std/assertions + +const + nim = getCurrentCompilerExe() + file = testsDir / "misc" / "m20456.nims" +doAssert execCmd(fmt"{nim} check {file}") == 0