diff options
author | Timothee Cour <timothee.cour2@gmail.com> | 2020-11-18 14:28:52 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-18 23:28:52 +0100 |
commit | 557dcfd87d6801138702e087935ad3c7053d5e87 (patch) | |
tree | 282f49699de8e937782a5bcbb56223950542009f | |
parent | 2773efa03463edc6c98614d895cc21221080f6cf (diff) | |
download | Nim-557dcfd87d6801138702e087935ad3c7053d5e87.tar.gz |
fix #16033 nim js --gc:arc works and ignores --gc:arc (#16036)
-rw-r--r-- | compiler/commands.nim | 5 | ||||
-rw-r--r-- | tests/arc/t16033.nim | 10 |
2 files changed, 14 insertions, 1 deletions
diff --git a/compiler/commands.nim b/compiler/commands.nim index 7a94fb612..1ad5ec64c 100644 --- a/compiler/commands.nim +++ b/compiler/commands.nim @@ -499,7 +499,10 @@ proc processSwitch*(switch, arg: string, pass: TCmdLinePass, info: TLineInfo; of "project": processOnOffSwitchG(conf, {optWholeProject, optGenIndex}, arg, pass, info) of "gc": - if conf.backend == backendJs: + if conf.backend == backendJs or conf.command == "js": + # for: bug #16033 + # This might still be imperfect, in rarse corner cases + # (where command is reset in nimscript, maybe). return expectArg(conf, switch, arg, pass, info) if pass in {passCmd2, passPP}: diff --git a/tests/arc/t16033.nim b/tests/arc/t16033.nim new file mode 100644 index 000000000..59ed22e4d --- /dev/null +++ b/tests/arc/t16033.nim @@ -0,0 +1,10 @@ +discard """ + targets: "c js" + matrix: "--gc:arc" +""" + +# bug #16033 +when defined js: + doAssert not compileOption("gc", "arc") +else: + doAssert compileOption("gc", "arc") |