add warnings if noinit is ignored

This commit is contained in:
xflywind
2022-06-29 15:54:45 +08:00
parent e885d89f63
commit dd6833297f
2 changed files with 4 additions and 0 deletions

View File

@@ -1067,6 +1067,8 @@ proc genProcAux(m: BModule, prc: PSym) =
if sfNoInit in prc.flags and p.config.selectedGC notin {gcArc, gcOrc}: discard
elif allPathsAsgnResult(procBody) == InitSkippable: discard
else:
if sfNoInit in prc.flags and p.config.selectedGC in {gcArc, gcOrc}:
message(m.config, resNode.info, warnNoInitIgnored, "")
resetLoc(p, res.loc)
if skipTypes(res.typ, abstractInst).kind == tyArray:
#incl(res.loc.flags, lfIndirect)

View File

@@ -78,6 +78,7 @@ type
warnAnyEnumConv = "AnyEnumConv",
warnHoleEnumConv = "HoleEnumConv",
warnCstringConv = "CStringConv",
warnNoInitIgnored = "NoInitIgnored"
warnEffect = "Effect",
warnUser = "User",
# hints
@@ -170,6 +171,7 @@ const
warnAnyEnumConv: "$1",
warnHoleEnumConv: "$1",
warnCstringConv: "$1",
warnNoInitIgnored: "noInit is ignored",
warnEffect: "$1",
warnUser: "$1",
hintSuccess: "operation successful: $#",