don't crash where there is an unknown statement pragma [backport]

(cherry picked from commit 93cf0ef52e)
This commit is contained in:
Andreas Rumpf
2018-11-26 22:15:33 +01:00
committed by narimiran
parent a8b20e8129
commit e091c99514

View File

@@ -1104,10 +1104,13 @@ proc singlePragma(c: PContext, sym: PSym, n: PNode, i: var int,
else: sym.flags.incl sfUsed
of wLiftLocals: discard
else: invalidPragma(c, it)
elif sym.kind in {skVar,skLet,skParam,skField,skProc,skFunc,skConverter,skMethod,skType}:
elif sym != nil and sym.kind in {skVar, skLet, skParam, skField, skProc,
skFunc, skConverter, skMethod, skType}:
n.sons[i] = semCustomPragma(c, it)
else:
elif sym != nil:
illegalCustomPragma(c, it, sym)
else:
invalidPragma(c, it)
proc implicitPragmas*(c: PContext, sym: PSym, n: PNode,
validPragmas: TSpecialWords) =