mirror of
https://github.com/nim-lang/Nim.git
synced 2026-01-04 20:17:42 +00:00
--hint:processing (+friends) is now supported and means --hint:processing:on, like all other bool flags (#14271)
This commit is contained in:
@@ -137,6 +137,9 @@
|
||||
nim r compiler/nim.nim --fullhelp # no recompilation
|
||||
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
|
||||
|
||||
|
||||
@@ -176,7 +176,7 @@ proc expectNoArg(conf: ConfigRef; switch, arg: string, pass: TCmdLinePass, info:
|
||||
|
||||
proc processSpecificNote*(arg: string, state: TSpecialWord, pass: TCmdLinePass,
|
||||
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 n = hintMin
|
||||
var isBracket = false
|
||||
@@ -190,7 +190,8 @@ proc processSpecificNote*(arg: string, state: TSpecialWord, pass: TCmdLinePass,
|
||||
if i < arg.len and arg[i] == ']': inc(i)
|
||||
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)
|
||||
if state == wHint:
|
||||
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))
|
||||
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"]:
|
||||
localError(conf, info, errOnOrOffExpectedButXFound % arg)
|
||||
elif n notin conf.cmdlineNotes or pass == passCmd1:
|
||||
|
||||
@@ -2068,7 +2068,7 @@ const
|
||||
## is the minor number of Nim's version.
|
||||
## Odd for devel, even for releases.
|
||||
|
||||
NimPatch* {.intdefine.}: int = 1
|
||||
NimPatch* {.intdefine.}: int = 3
|
||||
## is the patch number of Nim's version.
|
||||
|
||||
import system/dollars
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
discard """
|
||||
cmd: "nim default $file"
|
||||
cmd: "nim default --hint:cc:off --hint:cc $file"
|
||||
output: '''hello world! 0.5'''
|
||||
nimout: '''[NimScript] exec: gcc -v'''
|
||||
"""
|
||||
|
||||
@@ -7,7 +7,26 @@ exec "gcc -v"
|
||||
--path: "../friends"
|
||||
|
||||
warning("uninit", off)
|
||||
hint("processing", off)
|
||||
|
||||
block: # supported syntaxes for hint,warning,switch
|
||||
--hint:processing
|
||||
hint("processing", on)
|
||||
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
|
||||
patchFile("stdlib", "math", "mymath")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user