/*
** File generated from flags.def by genflagcodes. Don't modify this file directly
** as changes will be discarded. Modify either flags.def or genflagcodes.
*/

/*
** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2003.
** Copyright (C) Mihail Groza 2017
** See ../LICENSE for license information.
**
*/

# ifndef FLAGCODES_H
# define FLAGCODES_H

typedef enum  
{ 
    MODENAME_FLAG = -3,
    SKIP_FLAG = -2,
    INVALID_FLAG = -1,
    FLG_NULL,
    FLG_NULLDEREF,
    FLG_NULLPASS,
    FLG_NULLRET,
    FLG_NULLSTATE,
    FLG_NULLASSIGN,
    FLG_NULLINIT,
    FLG_USEDEF,
    FLG_MUSTDEFINE,
    FLG_UNIONDEF,
    FLG_COMPDEF,
    FLG_FULLINITBLOCK,
    FLG_INITALLELEMENTS,
    FLG_INITSIZE,
    FLG_IMPOUTS,
    FLG_INCONDEFS,
    FLG_MATCHFIELDS,
    FLG_FCNDEREF,
    FLG_REALCOMPARE,
    FLG_REALRELATECOMPARE,
    FLG_UNSIGNEDCOMPARE,
    FLG_POINTERARITH,
    FLG_NULLPOINTERARITH,
    FLG_PTRNUMCOMPARE,
    FLG_STRICTOPS,
    FLG_BITWISEOPS,
    FLG_SHIFTNEGATIVE,
    FLG_SHIFTIMPLEMENTATION,
    FLG_SIZEOFTYPE,
    FLG_SIZEOFFORMALARRAY,
    FLG_FIXEDFORMALARRAY,
    FLG_INCOMPLETETYPE,
    FLG_FORMALARRAY,
    FLG_BOOLTYPE,
    FLG_BOOLFALSE,
    FLG_BOOLTRUE,
    FLG_LIKELYBOOL,
    FLG_BOOLCOMPARE,
    FLG_BOOLOPS,
    FLG_PTRNEGATE,
    FLG_PREDASSIGN,
    FLG_PREDBOOL,
    FLG_PREDBOOLINT,
    FLG_PREDBOOLPTR,
    FLG_PREDBOOLOTHERS,
    FLG_ABSTRACT,
    FLG_ABSTRACTCOMPARE,
    FLG_NUMABSTRACT,
    FLG_NUMABSTRACTCAST,
    FLG_NUMABSTRACTLIT,
    FLG_NUMABSTRACTINDEX,
    FLG_NUMABSTRACTPRINT,
    FLG_IMPABSTRACT,
    FLG_ACCESSMODULE,
    FLG_ACCESSFILE,
    FLG_ACCESSCZECH,
    FLG_ACCESSSLOVAK,
    FLG_ACCESSCZECHOSLOVAK,
    FLG_ACCESSALL,
    FLG_MUTREP,
    FLG_MUSTFREEFRESH,
    FLG_MUSTFREEONLY,
    FLG_MUSTFREE,
    FLG_USERELEASED,
    FLG_STRICTUSERELEASED,
    FLG_COMPDESTROY,
    FLG_STRICTDESTROY,
    FLG_DEPARRAYS,
    FLG_BRANCHSTATE,
    FLG_STRICTBRANCHSTATE,
    FLG_MEMCHECKS,
    FLG_COMPMEMPASS,
    FLG_RETSTACK,
    FLG_MEMTRANS,
    FLG_DEPENDENTTRANS,
    FLG_NEWREFTRANS,
    FLG_ONLYTRANS,
    FLG_ONLYUNQGLOBALTRANS,
    FLG_OWNEDTRANS,
    FLG_FRESHTRANS,
    FLG_SHAREDTRANS,
    FLG_TEMPTRANS,
    FLG_KEPTTRANS,
    FLG_KEEPTRANS,
    FLG_IMMEDIATETRANS,
    FLG_REFCOUNTTRANS,
    FLG_STATICTRANS,
    FLG_UNKNOWNTRANS,
    FLG_STATICINITTRANS,
    FLG_UNKNOWNINITTRANS,
    FLG_READONLYTRANS,
    FLG_PASSUNKNOWN,
    FLG_READONLYSTRINGS,
    FLG_MEMIMPLICIT,
    FLG_PARAMIMPTEMP,
    FLG_ALLIMPONLY,
    FLG_CODEIMPONLY,
    FLG_SPECALLIMPONLY,
    FLG_GLOBIMPONLY,
    FLG_RETIMPONLY,
    FLG_STRUCTIMPONLY,
    FLG_SPECGLOBIMPONLY,
    FLG_SPECRETIMPONLY,
    FLG_SPECSTRUCTIMPONLY,
    FLG_ALIASUNIQUE,
    FLG_MAYALIASUNIQUE,
    FLG_MUSTNOTALIAS,
    FLG_RETALIAS,
    FLG_GLOBALIAS,
    FLG_CHECKSTRICTGLOBALIAS,
    FLG_CHECKEDGLOBALIAS,
    FLG_CHECKMODGLOBALIAS,
    FLG_UNCHECKEDGLOBALIAS,
    FLG_EXPOSETRANS,
    FLG_OBSERVERTRANS,
    FLG_REPEXPOSE,
    FLG_RETEXPOSE,
    FLG_ASSIGNEXPOSE,
    FLG_CASTEXPOSE,
    FLG_REDUNDANTSHAREQUAL,
    FLG_MISPLACEDSHAREQUAL,
    FLG_MODIFIES,
    FLG_MUSTMOD,
    FLG_MODOBSERVER,
    FLG_MODOBSERVERUNCON,
    FLG_MODINTERNALSTRICT,
    FLG_MODFILESYSTEM,
    FLG_MODUNSPEC,
    FLG_MODNOMODS,
    FLG_MODUNCON,
    FLG_MODUNCONNOMODS,
    FLG_GLOBALSIMPMODIFIESNOTHING,
    FLG_MODIFIESIMPNOGLOBALS,
    FLG_GLOBSTATE,
    FLG_GLOBALS,
    FLG_USEALLGLOBS,
    FLG_INTERNALGLOBS,
    FLG_INTERNALGLOBSNOGLOBS,
    FLG_WARNMISSINGGLOBALS,
    FLG_WARNMISSINGGLOBALSNOGLOBS,
    FLG_GLOBUNSPEC,
    FLG_ALLGLOBALS,
    FLG_CHECKSTRICTGLOBALS,
    FLG_IMPCHECKEDSPECGLOBALS,
    FLG_IMPCHECKMODSPECGLOBALS,
    FLG_IMPCHECKEDSTRICTSPECGLOBALS,
    FLG_IMPCHECKEDGLOBALS,
    FLG_IMPCHECKMODGLOBALS,
    FLG_IMPCHECKEDSTRICTGLOBALS,
    FLG_IMPCHECKEDSTATICS,
    FLG_IMPCHECKMODSTATICS,
    FLG_IMPCHECKMODINTERNALS,
    FLG_IMPCHECKEDSTRICTSTATICS,
    FLG_MODGLOBS,
    FLG_MODGLOBSUNSPEC,
    FLG_MODSTRICTGLOBSUNSPEC,
    FLG_MODGLOBSUNCHECKED,
    FLG_NORETURN,
    FLG_EMPTYRETURN,
    FLG_ALWAYSEXITS,
    FLG_LOOPEXEC,
    FLG_FORLOOPEXEC,
    FLG_WHILELOOPEXEC,
    FLG_ITERLOOPEXEC,
    FLG_OBVIOUSLOOPEXEC,
    FLG_EVALORDER,
    FLG_EVALORDERUNCON,
    FLG_INFLOOPS,
    FLG_INFLOOPSUNCON,
    FLG_CASEBREAK,
    FLG_MISSCASE,
    FLG_FIRSTCASE,
    FLG_DUPLICATECASES,
    FLG_DEEPBREAK,
    FLG_LOOPLOOPBREAK,
    FLG_SWITCHLOOPBREAK,
    FLG_LOOPSWITCHBREAK,
    FLG_SWITCHSWITCHBREAK,
    FLG_LOOPLOOPCONTINUE,
    FLG_WHILEEMPTY,
    FLG_WHILEBLOCK,
    FLG_FOREMPTY,
    FLG_FORBLOCK,
    FLG_IFEMPTY,
    FLG_IFBLOCK,
    FLG_ALLEMPTY,
    FLG_ALLBLOCK,
    FLG_ELSEIFCOMPLETE,
    FLG_UNREACHABLE,
    FLG_NOEFFECT,
    FLG_NOEFFECTUNCON,
    FLG_RETVAL,
    FLG_RETVALOTHER,
    FLG_RETVALBOOL,
    FLG_RETVALINT,
    FLG_NULLTERMINATED,
    FLG_BOUNDS,
    FLG_LIKELYBOUNDS,
    FLG_LIKELYBOUNDSREAD,
    FLG_LIKELYBOUNDSWRITE,
    FLG_BOUNDSREAD,
    FLG_BOUNDSWRITE,
    FLG_FUNCTIONPOST,
    FLG_REDUNDANTCONSTRAINTS,
    FLG_CHECKPOST,
    FLG_IMPBOUNDSCONSTRAINTS,
    FLG_ORCONSTRAINT,
    FLG_PARENCONSTRAINT,
    FLG_BOUNDSCOMPACTERRORMESSAGES,
    FLG_CONSTRAINTLOCATION,
    FLG_ALLOCMISMATCH,
    FLG_MTSFILE,
    FLG_STATETRANSFER,
    FLG_STATEMERGE,
    FLG_MACROREDEF,
    FLG_MACROUNDEF,
    FLG_MACROCONSTDECL,
    FLG_MACROCONSTDIST,
    FLG_MACROSTMT,
    FLG_MACROEMPTY,
    FLG_MACROPARAMS,
    FLG_MACRORETURN,
    FLG_MACROASSIGN,
    FLG_MACROPARENS,
    FLG_MACRODECL,
    FLG_MACROFCNDECL,
    FLG_SEFPARAMS,
    FLG_SEFUNSPEC,
    FLG_CONSTMACROS,
    FLG_FCNMACROS,
    FLG_ALLMACROS,
    FLG_LIBMACROS,
    FLG_SPECMACROS,
    FLG_MACROMATCHNAME,
    FLG_MACRONEXTLINE,
    FLG_ITERBALANCE,
    FLG_ITERYIELD,
    FLG_HASYIELD,
    FLG_NAMECHECKS,
    FLG_CZECH,
    FLG_CZECHFUNCTIONS,
    FLG_CZECHVARS,
    FLG_CZECHMACROS,
    FLG_CZECHCONSTANTS,
    FLG_CZECHTYPES,
    FLG_SLOVAK,
    FLG_SLOVAKFUNCTIONS,
    FLG_SLOVAKMACROS,
    FLG_SLOVAKVARS,
    FLG_SLOVAKCONSTANTS,
    FLG_SLOVAKTYPES,
    FLG_CZECHOSLOVAK,
    FLG_CZECHOSLOVAKFUNCTIONS,
    FLG_CZECHOSLOVAKMACROS,
    FLG_CZECHOSLOVAKVARS,
    FLG_CZECHOSLOVAKCONSTANTS,
    FLG_CZECHOSLOVAKTYPES,
    FLG_MACROVARPREFIX,
    FLG_MACROVARPREFIXEXCLUDE,
    FLG_TAGPREFIX,
    FLG_TAGPREFIXEXCLUDE,
    FLG_ENUMPREFIX,
    FLG_ENUMPREFIXEXCLUDE,
    FLG_FILESTATICPREFIX,
    FLG_FILESTATICPREFIXEXCLUDE,
    FLG_GLOBPREFIX,
    FLG_GLOBPREFIXEXCLUDE,
    FLG_TYPEPREFIX,
    FLG_TYPEPREFIXEXCLUDE,
    FLG_EXTERNALPREFIX,
    FLG_EXTERNALPREFIXEXCLUDE,
    FLG_LOCALPREFIX,
    FLG_LOCALPREFIXEXCLUDE,
    FLG_UNCHECKEDMACROPREFIX,
    FLG_UNCHECKEDMACROPREFIXEXCLUDE,
    FLG_CONSTPREFIX,
    FLG_CONSTPREFIXEXCLUDE,
    FLG_ITERPREFIX,
    FLG_ITERPREFIXEXCLUDE,
    FLG_DECLPARAMPREFIX,
    FLG_ISORESERVED,
    FLG_CPPNAMES,
    FLG_ISORESERVEDLOCAL,
    FLG_DISTINCTEXTERNALNAMES,
    FLG_EXTERNALNAMELEN,
    FLG_EXTERNALNAMECASEINSENSITIVE,
    FLG_DISTINCTINTERNALNAMES,
    FLG_INTERNALNAMELEN,
    FLG_INTERNALNAMECASEINSENSITIVE,
    FLG_INTERNALNAMELOOKALIKE,
    FLG_DECLPARAMNAME,
    FLG_DECLPARAMMATCH,
    FLG_DECLPARAMPREFIXEXCLUDE,
    FLG_TOPUNUSED,
    FLG_EXPORTLOCAL,
    FLG_EXPORTHEADER,
    FLG_EXPORTHEADERVAR,
    FLG_FIELDUNUSED,
    FLG_ENUMMEMUNUSED,
    FLG_CONSTUNUSED,
    FLG_FUNCUNUSED,
    FLG_PARAMUNUSED,
    FLG_TYPEUNUSED,
    FLG_VARUNUSED,
    FLG_UNUSEDSPECIAL,
    FLG_DECLUNDEF,
    FLG_SPECUNDEF,
    FLG_SPECUNDECL,
    FLG_NEWDECL,
    FLG_NEEDSPEC,
    FLG_NOLIB,
    FLG_STDLIB,
    FLG_STDSTRICTLIB,
    FLG_UNIXLIB,
    FLG_UNIXSTRICTLIB,
    FLG_POSIXLIB,
    FLG_POSIXSTRICTLIB,
    FLG_WHICHLIB,
    FLG_WARNPOSIX,
    FLG_WARNUNIXLIB,
    FLG_USEVARARGS,
    FLG_CASEINSENSITIVEFILENAMES,
    FLG_DUMP,
    FLG_MERGE,
    FLG_SINGLEINCLUDE,
    FLG_NEVERINCLUDE,
    FLG_SKIPSYSHEADERS,
    FLG_GNUEXTENSIONS,
    FLG_NOPARAMS,
    FLG_OLDSTYLE,
    FLG_MAINTYPE,
    FLG_EXITARG,
    FLG_SHADOW,
    FLG_INCONDEFSLIB,
    FLG_WARNOVERLOAD,
    FLG_NESTEDEXTERN,
    FLG_REDECL,
    FLG_REDEF,
    FLG_IMPTYPE,
    FLG_TMPDIR,
    FLG_LARCHPATH,
    FLG_LCLIMPORTDIR,
    FLG_SYSTEMDIRS,
    FLG_SKIPSTDHEADERS,
    FLG_SKIPPOSIXHEADERS,
    FLG_SYSTEMDIRERRORS,
    FLG_SYSTEMDIREXPAND,
    FLG_INCLUDEPATH,
    FLG_SPECPATH,
    FLG_EXPORTANY,
    FLG_EXPORTFCN,
    FLG_EXPORTMACRO,
    FLG_EXPORTTYPE,
    FLG_EXPORTVAR,
    FLG_EXPORTCONST,
    FLG_EXPORTITER,
    FLG_LINELEN,
    FLG_INDENTSPACES,
    FLG_LOCINDENTSPACES,
    FLG_SHOWDEEPHISTORY,
    FLG_SHOWCOL,
    FLG_SHOWLOADLOC,
    FLG_CSV,
    FLG_CSVOVERWRITE,
    FLG_PARENFILEFORMAT,
    FLG_HTMLFILEFORMAT,
    FLG_SHOWFUNC,
    FLG_SHOWALLCONJS,
    FLG_IMPCONJ,
    FLG_EXPECT,
    FLG_LCLEXPECT,
    FLG_PARTIAL,
    FLG_DOLH,
    FLG_DOLCS,
    FLG_WARNFLAGS,
    FLG_WARNRC,
    FLG_BADFLAG,
    FLG_FILEEXTENSIONS,
    FLG_HELP,
    FLG_OPTF,
    FLG_INIT,
    FLG_NOF,
    FLG_COMMENTCHAR,
    FLG_CONTROLNESTDEPTH,
    FLG_STRINGLITERALLEN,
    FLG_NUMSTRUCTFIELDS,
    FLG_NUMENUMMEMBERS,
    FLG_INCLUDENEST,
    FLG_ANSI89LIMITS,
    FLG_ISO99LIMITS,
    FLG_DEFINE,
    FLG_UNDEFINE,
    FLG_UNRECOGDIRECTIVE,
    FLG_SUPCOUNTS,
    FLG_LIMIT,
    FLG_SYNTAX,
    FLG_TRYTORECOVER,
    FLG_PREPROC,
    FLG_TYPE,
    FLG_STRINGLITTOOLONG,
    FLG_STRINGLITNOROOMFINALNULL,
    FLG_STRINGLITNOROOM,
    FLG_STRINGLITSMALLER,
    FLG_ENUMMEMBERS,
    FLG_FORMATTYPE,
    FLG_FORMATCONST,
    FLG_FORMATCODE,
    FLG_FORWARDDECL,
    FLG_ABSTVOIDP,
    FLG_CASTFCNPTR,
    FLG_CHARINDEX,
    FLG_ENUMINDEX,
    FLG_BOOLINT,
    FLG_CHARINT,
    FLG_ENUMINT,
    FLG_LONGINT,
    FLG_SHORTINT,
    FLG_FLOATDOUBLE,
    FLG_IGNOREQUALS,
    FLG_DUPLICATEQUALS,
    FLG_IGNORESIGNS,
    FLG_NUMLITERAL,
    FLG_CHARINTLITERAL,
    FLG_RELAXQUALS,
    FLG_RELAXTYPES,
    FLG_CHARUNSIGNEDCHAR,
    FLG_MATCHANYINTEGRAL,
    FLG_LONGUNSIGNEDINTEGRAL,
    FLG_LONGINTEGRAL,
    FLG_LONGUNSIGNEDUNSIGNEDINTEGRAL,
    FLG_LONGSIGNEDINTEGRAL,
    FLG_ZEROPTR,
    FLG_ZEROBOOL,
    FLG_REPEATUNRECOG,
    FLG_SYSTEMUNRECOG,
    FLG_UNRECOG,
    FLG_ANNOTATIONERROR,
    FLG_COMMENTERROR,
    FLG_WARNUSE,
    FLG_BUFFEROVERFLOW,
    FLG_BUFFEROVERFLOWHIGH,
    FLG_IMPLEMENTATIONOPTIONAL,
    FLG_LEGACY,
    FLG_MULTITHREADED,
    FLG_PORTABILITY,
    FLG_SUPERUSER,
    FLG_TOCTOU,
    FLG_UNIXSTANDARD,
    FLG_ITS4MOSTRISKY,
    FLG_ITS4VERYRISKY,
    FLG_ITS4RISKY,
    FLG_ITS4MODERATERISK,
    FLG_ITS4LOWRISK,
    FLG_NOCOMMENTS,
    FLG_NOACCESS,
    FLG_UNRECOGCOMMENTS,
    FLG_UNRECOGFLAGCOMMENTS,
    FLG_TMPCOMMENTS,
    FLG_LINTCOMMENTS,
    FLG_WARNLINTCOMMENTS,
    FLG_CONTINUECOMMENT,
    FLG_SLASHSLASHCOMMENT,
    FLG_NESTCOMMENT,
    FLG_QUIET,
    FLG_MESSAGESTREAMSTDOUT,
    FLG_MESSAGESTREAMSTDERR,
    FLG_MESSAGESTREAM,
    FLG_WARNINGSTREAMSTDOUT,
    FLG_WARNINGSTREAMSTDERR,
    FLG_WARNINGSTREAM,
    FLG_ERRORSTREAMSTDOUT,
    FLG_ERRORSTREAMSTDERR,
    FLG_ERRORSTREAM,
    FLG_STREAMOVERWRITE,
    FLG_SHOWSUMMARY,
    FLG_SHOWSCAN,
    FLG_WARNSYSFILES,
    FLG_STATS,
    FLG_TIMEDIST,
    FLG_SHOWUSES,
    FLG_HINTS,
    FLG_FORCEHINTS,
    FLG_BUGSLIMIT,
    FLG_DEBUGFUNCTIONCONSTRAINT,
    FLG_GRAMMAR,
    FLG_KEEP,
    FLG_NOPP,
    FLG_SHOWSOURCELOC,
    NUMFLAGS
} flagcode;

/*@constant int NUMVALUEFLAGS; @*/
# define NUMVALUEFLAGS       15

/*@constant int NUMSTRINGFLAGS; @*/
# define NUMSTRINGFLAGS      28

/*@iter allFlagCodes (yield flagcode f); @*/
# define allFlagCodes(m_code) \
  { /*@+enumint@*/ flagcode m_code; for (m_code = 0; m_code < NUMFLAGS; m_code++) \
      /*@=enumint@*/ { 

# define end_allFlagCodes }}

# else
# error "Multiple include"
# endif

