pragmas

Imports

condsyms, ast, astalgo, idents, semdata, msgs, renderer, wordrecg, ropes, options, extccomp, magicsys, trees, types, lookups, lineinfos, pathutils, linter

Consts

FirstCallConv = wNimcall
Source Edit
LastCallConv = wNoconv
Source Edit
procPragmas = {wMagic..wThread, wConstructor, wDelegator,
               wImportCpp..wExportNims, wNodecl, wSideEffect..wMerge,
               wDynlib..wProcVar, wUsed, wError, wStackTrace..wLineTrace,
               wDeprecated..wVarargs, wNimcall..wNoconv, wNonReloadable,
               wRaises, wTags..wEnsures, wNoDestroy, wCompileTime..wNoInit,
               wBorrow..wDiscardable, wGensym..wInject, wAsmNoStackFrame,
               wCodegenDecl, wLocks, wLiftLocals, wExtern}
Source Edit
converterPragmas = {wMagic..wThread, wConstructor, wDelegator,
                    wImportCpp..wExportNims, wNodecl, wSideEffect..wMerge,
                    wDynlib..wProcVar, wUsed, wError, wStackTrace..wLineTrace,
                    wDeprecated..wVarargs, wNimcall..wNoconv, wNonReloadable,
                    wRaises, wTags..wEnsures, wNoDestroy, wCompileTime..wNoInit,
                    wBorrow..wDiscardable, wGensym..wInject, wAsmNoStackFrame,
                    wCodegenDecl, wLocks, wLiftLocals, wExtern}
Source Edit
methodPragmas = {wMagic..wThread, wConstructor, wDelegator,
                 wImportObjC..wExportNims, wNodecl, wSideEffect..wMerge,
                 wDynlib..wUsed, wError, wStackTrace..wLineTrace,
                 wDeprecated..wVarargs, wNimcall..wNoconv, wNonReloadable,
                 wRaises, wTags..wEnsures, wNoDestroy, wCompileTime..wNoInit,
                 wBorrow..wDiscardable, wGensym..wInject, wAsmNoStackFrame,
                 wCodegenDecl, wLocks, wLiftLocals, wExtern}
Source Edit
templatePragmas = {wDeprecated, wError, wGensym, wInject, wDirty, wDelegator,
                   wExportNims, wUsed, wPragma}
Source Edit
macroPragmas = {wMagic, wDelegator, wImportCpp..wImportObjC,
                wImportc..wExportNims, wNodecl, wNoSideEffect,
                wCompilerProc..wCore, wUsed, wError, wDeprecated,
                wNimcall..wNoconv, wNonReloadable, wDiscardable,
                wGensym..wInject, wExtern}
Source Edit
iteratorPragmas = {wMagic, wImportCpp..wImportObjC, wImportc..wExportNims,
                   wNodecl, wSideEffect, wNoSideEffect..wGcSafe, wUsed, wError,
                   wDeprecated, wNimcall..wNoconv, wRaises, wTags..wEnsures,
                   wBorrow..wDiscardable, wGensym..wInject, wLocks, wExtern}
Source Edit
exprPragmas = {wLine, wLocks, wNoRewrite, wGcSafe, wNoSideEffect}
Source Edit
stmtPragmas = {wChecks, wObjChecks, wFieldChecks, wRangeChecks, wBoundChecks,
               wOverflowChecks, wNilChecks, wStaticBoundchecks, wStyleChecks,
               wAssertions, wWarnings, wHints, wLineDir, wStackTrace,
               wLineTrace, wOptimization, wHint, wWarning, wError, wFatal,
               wDefine, wUndef, wCompile, wLink, wLinksys, wPure, wPush, wPop,
               wPassl, wPassc, wLocalPassc, wDeadCodeElimUnused, wDeprecated,
               wFloatChecks, wInfChecks, wNanChecks, wPragma, wEmit, wUnroll,
               wLinearScanEnd, wPatterns, wTrMacros, wEffects, wNoForward,
               wReorder, wComputedGoto, wInjectStmt, wExperimental, wThis,
               wUsed, wInvariant, wAssume, wAssert}
Source Edit
lambdaPragmas = {wNimcall..wNoconv, wNoSideEffect, wSideEffect, wNoreturn,
                 wNosinks, wDynlib, wHeader, wThread, wAsmNoStackFrame, wRaises,
                 wLocks, wTags, wRequires, wEnsures, wGcSafe, wCodegenDecl,
                 wNoInit}
Source Edit
typePragmas = {wMagic, wFinal, wImportCpp..wImportObjC, wImportc..wRequiresInit,
               wNodecl..wPure, wHeader, wGcSafe, wCompilerProc..wCore, wUsed,
               wError, wDeprecated, wSize, wPackage, wBorrow,
               wAcyclic..wShallow, wGensym..wInject, wInheritable, wUnchecked,
               wPartial..wExplain, wExtern, wUnion..wPacked, wByCopy..wByRef}
Source Edit
fieldPragmas = {wCursor..wNoalias, wImportCpp..wImportObjC,
                wImportc..wExportCpp, wRequiresInit..wAlign, wUsed, wError,
                wDeprecated, wGuard, wExtern, wBitsize}
Source Edit
varPragmas = {wMagic, wCursor..wNoalias, wImportCpp..wImportObjC,
              wImportc..wExportNims, wAlign..wNodecl, wHeader, wDynlib..wCore,
              wUsed, wError, wDeprecated, wCompileTime..wNoInit,
              wGensym..wInject, wThreadVar, wGlobal..wCodegenDecl, wGuard,
              wExtern, wGoto, wRegister, wVolatile}
Source Edit
constPragmas = {wMagic, wIntDefine..wBoolDefine, wImportCpp..wImportObjC,
                wImportc..wExportNims, wNodecl, wHeader, wCompilerProc..wCore,
                wUsed, wError, wDeprecated, wGensym..wInject, wExtern}
Source Edit
paramPragmas = {wNoalias, wInject, wGensym}
Source Edit
letPragmas = {wMagic, wCursor..wNoalias, wImportCpp..wImportObjC,
              wImportc..wExportNims, wAlign..wNodecl, wHeader, wDynlib..wCore,
              wUsed, wError, wDeprecated, wCompileTime..wNoInit,
              wGensym..wInject, wThreadVar, wGlobal..wCodegenDecl, wGuard,
              wExtern, wGoto, wRegister, wVolatile}
Source Edit
procTypePragmas = {wNimcall..wNoconv, wVarargs, wNoSideEffect, wThread, wRaises,
                   wLocks, wTags, wGcSafe, wRequires, wEnsures}
Source Edit
forVarPragmas = {wInject, wGensym}
Source Edit
allRoutinePragmas = {wMagic..wThread, wConstructor, wDelegator,
                     wImportCpp..wExportNims, wNodecl, wSideEffect..wMerge,
                     wDynlib..wUsed, wError, wStackTrace..wLineTrace,
                     wDeprecated..wVarargs, wNimcall..wNoconv, wNonReloadable,
                     wRaises, wTags..wEnsures, wNoDestroy,
                     wCompileTime..wNoInit, wBorrow..wDiscardable,
                     wGensym..wInject, wAsmNoStackFrame, wCodegenDecl, wLocks,
                     wLiftLocals, wExtern}
Source Edit
enumFieldPragmas = {wDeprecated}
Source Edit

Procs

proc getPragmaVal(procAst: PNode; name: TSpecialWord): PNode {...}{.raises: [],
    tags: [].}
Source Edit
proc invalidPragma(c: PContext; n: PNode) {...}{.
    raises: [Exception, ValueError, IOError, ERecoverableError],
    tags: [RootEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
Source Edit
proc illegalCustomPragma(c: PContext; n: PNode; s: PSym) {...}{.
    raises: [Exception, ValueError, IOError, ERecoverableError],
    tags: [RootEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
Source Edit
proc pragmaAsm(c: PContext; n: PNode): char {...}{.
    raises: [Exception, ValueError, IOError, ERecoverableError],
    tags: [RootEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
Source Edit
proc semAsmOrEmit(con: PContext; n: PNode; marker: char): PNode {...}{.
    raises: [Exception, ValueError, IOError, ERecoverableError],
    tags: [RootEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
Source Edit
proc implicitPragmas(c: PContext; sym: PSym; n: PNode;
                     validPragmas: TSpecialWords) {...}{.raises: [Exception,
    ValueError, IOError, ERecoverableError, OSError, KeyError, EOFError], tags: [
    RootEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect, ReadDirEffect,
    WriteDirEffect].}
Source Edit
proc hasPragma(n: PNode; pragma: TSpecialWord): bool {...}{.raises: [], tags: [].}
Source Edit
proc pragma(c: PContext; sym: PSym; n: PNode; validPragmas: TSpecialWords;
            isStatement: bool = false) {...}{.raises: [Exception, ValueError,
    IOError, ERecoverableError, OSError, KeyError, EOFError], tags: [RootEffect,
    WriteIOEffect, ReadIOEffect, ReadEnvEffect, ReadDirEffect, WriteDirEffect].}
Source Edit

© 2006–2021 Andreas Rumpf
Licensed under the MIT License.
https://nim-lang.org/docs/compiler/pragmas.html