--hint:processing (+friends) is now supported and means --hint:processing:on, like all other bool flags (#14271)
This commit is contained in:
parent
ce16115e79
commit
411be506a3
5 changed files with 30 additions and 6 deletions
|
|
@ -137,6 +137,9 @@
|
||||||
nim r compiler/nim.nim --fullhelp # no recompilation
|
nim r compiler/nim.nim --fullhelp # no recompilation
|
||||||
nim r --nimcache:/tmp main # binary saved to /tmp/main
|
nim r --nimcache:/tmp main # binary saved to /tmp/main
|
||||||
```
|
```
|
||||||
|
- `--hint:processing` is now supported and means `--hint:processing:on`
|
||||||
|
(likewise with other hints and warnings), which is consistent with all other bool flags.
|
||||||
|
(since 1.3.3).
|
||||||
|
|
||||||
## Tool changes
|
## Tool changes
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -176,7 +176,7 @@ proc expectNoArg(conf: ConfigRef; switch, arg: string, pass: TCmdLinePass, info:
|
||||||
|
|
||||||
proc processSpecificNote*(arg: string, state: TSpecialWord, pass: TCmdLinePass,
|
proc processSpecificNote*(arg: string, state: TSpecialWord, pass: TCmdLinePass,
|
||||||
info: TLineInfo; orig: string; conf: ConfigRef) =
|
info: TLineInfo; orig: string; conf: ConfigRef) =
|
||||||
var id = "" # arg = key:val or [key]:val; with val=on|off
|
var id = "" # arg = key or [key] or key:val or [key]:val; with val=on|off
|
||||||
var i = 0
|
var i = 0
|
||||||
var n = hintMin
|
var n = hintMin
|
||||||
var isBracket = false
|
var isBracket = false
|
||||||
|
|
@ -190,7 +190,8 @@ proc processSpecificNote*(arg: string, state: TSpecialWord, pass: TCmdLinePass,
|
||||||
if i < arg.len and arg[i] == ']': inc(i)
|
if i < arg.len and arg[i] == ']': inc(i)
|
||||||
else: invalidCmdLineOption(conf, pass, orig, info)
|
else: invalidCmdLineOption(conf, pass, orig, info)
|
||||||
|
|
||||||
if i < arg.len and (arg[i] in {':', '='}): inc(i)
|
if i == arg.len: discard
|
||||||
|
elif i < arg.len and (arg[i] in {':', '='}): inc(i)
|
||||||
else: invalidCmdLineOption(conf, pass, orig, info)
|
else: invalidCmdLineOption(conf, pass, orig, info)
|
||||||
if state == wHint:
|
if state == wHint:
|
||||||
let x = findStr(lineinfos.HintsToStr, id)
|
let x = findStr(lineinfos.HintsToStr, id)
|
||||||
|
|
@ -201,7 +202,8 @@ proc processSpecificNote*(arg: string, state: TSpecialWord, pass: TCmdLinePass,
|
||||||
if x >= 0: n = TNoteKind(x + ord(warnMin))
|
if x >= 0: n = TNoteKind(x + ord(warnMin))
|
||||||
else: localError(conf, info, "unknown warning: " & id)
|
else: localError(conf, info, "unknown warning: " & id)
|
||||||
|
|
||||||
let val = substr(arg, i).normalize
|
var val = substr(arg, i).normalize
|
||||||
|
if val == "": val = "on"
|
||||||
if val notin ["on", "off"]:
|
if val notin ["on", "off"]:
|
||||||
localError(conf, info, errOnOrOffExpectedButXFound % arg)
|
localError(conf, info, errOnOrOffExpectedButXFound % arg)
|
||||||
elif n notin conf.cmdlineNotes or pass == passCmd1:
|
elif n notin conf.cmdlineNotes or pass == passCmd1:
|
||||||
|
|
|
||||||
|
|
@ -2068,7 +2068,7 @@ const
|
||||||
## is the minor number of Nim's version.
|
## is the minor number of Nim's version.
|
||||||
## Odd for devel, even for releases.
|
## Odd for devel, even for releases.
|
||||||
|
|
||||||
NimPatch* {.intdefine.}: int = 1
|
NimPatch* {.intdefine.}: int = 3
|
||||||
## is the patch number of Nim's version.
|
## is the patch number of Nim's version.
|
||||||
|
|
||||||
import system/dollars
|
import system/dollars
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
discard """
|
discard """
|
||||||
cmd: "nim default $file"
|
cmd: "nim default --hint:cc:off --hint:cc $file"
|
||||||
output: '''hello world! 0.5'''
|
output: '''hello world! 0.5'''
|
||||||
nimout: '''[NimScript] exec: gcc -v'''
|
nimout: '''[NimScript] exec: gcc -v'''
|
||||||
"""
|
"""
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,26 @@ exec "gcc -v"
|
||||||
--path: "../friends"
|
--path: "../friends"
|
||||||
|
|
||||||
warning("uninit", off)
|
warning("uninit", off)
|
||||||
|
|
||||||
|
block: # supported syntaxes for hint,warning,switch
|
||||||
|
--hint:processing
|
||||||
|
hint("processing", on)
|
||||||
hint("processing", off)
|
hint("processing", off)
|
||||||
|
switch("hint", "processing")
|
||||||
|
switch("hint", "processing:on")
|
||||||
|
switch("hint", "processing:off")
|
||||||
|
switch("hint", "[processing]")
|
||||||
|
switch("hint", "[processing]:on")
|
||||||
|
switch("hint", "[processing]:off") # leave it off
|
||||||
|
|
||||||
|
--warning:UnusedImport
|
||||||
|
switch("warning", "UnusedImport:off")
|
||||||
|
switch("warning", "UnusedImport:on")
|
||||||
|
switch("warning", "[UnusedImport]:off")
|
||||||
|
switch("warning", "[UnusedImport]:on")
|
||||||
|
switch("warning", "[UnusedImport]")
|
||||||
|
switch("warning", "UnusedImport") # leave it on
|
||||||
|
|
||||||
#--verbosity:2
|
#--verbosity:2
|
||||||
patchFile("stdlib", "math", "mymath")
|
patchFile("stdlib", "math", "mymath")
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue