don't crash where there is an unknown statement pragma [backport]
This commit is contained in:
parent
518c72e57a
commit
93cf0ef52e
1 changed files with 5 additions and 2 deletions
|
|
@ -1110,10 +1110,13 @@ proc singlePragma(c: PContext, sym: PSym, n: PNode, i: var int,
|
||||||
else: sym.flags.incl sfUsed
|
else: sym.flags.incl sfUsed
|
||||||
of wLiftLocals: discard
|
of wLiftLocals: discard
|
||||||
else: invalidPragma(c, it)
|
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)
|
n.sons[i] = semCustomPragma(c, it)
|
||||||
else:
|
elif sym != nil:
|
||||||
illegalCustomPragma(c, it, sym)
|
illegalCustomPragma(c, it, sym)
|
||||||
|
else:
|
||||||
|
invalidPragma(c, it)
|
||||||
|
|
||||||
proc implicitPragmas*(c: PContext, sym: PSym, n: PNode,
|
proc implicitPragmas*(c: PContext, sym: PSym, n: PNode,
|
||||||
validPragmas: TSpecialWords) =
|
validPragmas: TSpecialWords) =
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue