X-Git-Url: http://andersk.mit.edu/gitweb/splint.git/blobdiff_plain/45569d7296a74e5620ced469031bc7b91522b6c7..210066f9dd04de7d7d2f04d320b39a52f28b290b:/src/Headers/flags.h diff --git a/src/Headers/flags.h b/src/Headers/flags.h index 042948f..ac362ad 100644 --- a/src/Headers/flags.h +++ b/src/Headers/flags.h @@ -1,5 +1,5 @@ /* -** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2001. +** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2003. ** See ../LICENSE for license information. ** */ @@ -39,20 +39,25 @@ extern bool flagcode_isNamePrefixFlag (flagcode p_f); extern /*@only@*/ cstring describeFlag (cstring p_flagname); -extern flagcode flags_identifyFlag (cstring p_s) /*@modifies g_msgstream@*/ ; +extern flagcode flags_identifyFlag (cstring p_s) /*@modifies g_warningstream@*/ ; extern flagcode flags_identifyFlagQuiet (cstring p_s) /*@modifies nothing@*/ ; -extern void setValueFlag (flagcode p_opt, cstring p_arg); -extern void setStringFlag (flagcode p_opt, /*@only@*/ cstring p_arg); +extern void flags_setValueFlag (flagcode p_opt, /*@only@*/ cstring p_arg); +extern void flags_setStringFlag (flagcode p_opt, /*@only@*/ cstring p_arg); extern /*@observer@*/ cstring flagcode_unparse (flagcode p_code) /*@*/ ; extern int flagcode_valueIndex (flagcode p_f) /*@*/ ; extern int flagcode_stringIndex (flagcode p_f) /*@*/ ; +extern int flagcode_priority (flagcode p_code) /*@*/ ; + +extern bool flagcode_equal (flagcode p_code1, flagcode p_code2) /*@*/ ; +# define flagcode_equal(c1, c2) ((c1) == (c2)) + extern /*@observer@*/ cstring flagcodeHint (flagcode p_f); extern flagkind identifyCategory (cstring p_s) /*@*/ ; -extern void printCategory (flagkind p_kind) /*@modifies g_msgstream@*/ ; +extern void printCategory (flagkind p_kind) /*@modifies g_warningstream@*/ ; extern bool flagcode_isInvalid (flagcode p_f) /*@*/ ; # define flagcode_isInvalid(f) ((f) == INVALID_FLAG) @@ -60,6 +65,9 @@ extern bool flagcode_isInvalid (flagcode p_f) /*@*/ ; extern bool flagcode_isSkip (flagcode p_f) /*@*/ ; # define flagcode_isSkip(f) ((f) == SKIP_FLAG) +extern bool flagcode_isModeName (flagcode p_f) /*@*/ ; +# define flagcode_isModeName(f) ((f) == MODENAME_FLAG) + extern bool flagcode_isValid (flagcode p_f) /*@*/ ; # define flagcode_isValid(f) ((f) != INVALID_FLAG) @@ -77,25 +85,40 @@ extern bool flagcode_isWarnUseFlag (/*@sef@*/ flagcode p_f); # define flagcode_isWarnUseFlag(f) \ ((f) == FLG_BUFFEROVERFLOW || (f) == FLG_BUFFEROVERFLOWHIGH) -extern bool flagcode_hasNumber (flagcode p_f); -extern bool flagcode_hasChar (flagcode p_f); -extern bool flagcode_hasString (flagcode p_f); -extern bool flagcode_hasArgument (flagcode p_f); +extern bool flagcode_hasNumber (flagcode p_f) /*@*/ ; +extern bool flagcode_hasChar (flagcode p_f) /*@*/ ; +extern bool flagcode_hasString (flagcode p_f) /*@*/ ; +extern bool flagcode_hasArgument (flagcode p_f) /*@*/ ; /*@constant observer cstring DEFAULT_MODE;@*/ # define DEFAULT_MODE (cstring_makeLiteralTemp ("standard")) -extern void flags_initMod (void); - -extern bool isMode (cstring p_s); -extern /*@only@*/ cstring describeModes (void); -extern void summarizeErrors (void); - -extern bool flagcode_isNameChecksFlag (flagcode p_f); -extern bool flagcode_isIdemFlag (flagcode p_f); -extern bool flagcode_isModeFlag (flagcode p_f); -extern bool flagcode_isSpecialFlag (flagcode p_f); -extern bool flagcode_isGlobalFlag (flagcode p_f); +extern bool flags_isModeName (cstring p_s) /*@*/ ; +extern /*@only@*/ cstring describeModes (void) /*@modifies g_messagestream@*/ ; +extern /*@only@*/ cstring describeMode (/*@temp@*/ cstring p_mode) /*@*/ ; +extern void summarizeErrors (void) /*@modifies g_messagestream@*/ ; + +extern bool flagcode_isNameChecksFlag (flagcode p_f) /*@*/ ; +extern bool flagcode_isIdemFlag (flagcode p_f) /*@*/ ; +extern bool flagcode_isModeFlag (flagcode p_f) /*@*/ ; +extern bool flagcode_isSpecialFlag (flagcode p_f) /*@*/ ; +extern bool flagcode_isGlobalFlag (flagcode p_f) /*@*/ ; +extern bool flagcode_isMessageControlFlag (flagcode p_f) /*@*/ ; +extern bool flagcode_isHelpFlag (flagcode p_f) /*@*/ ; + +extern void flags_initMod (void) /*@modifies internalState@*/ ; + +extern void +flags_processFlags (bool p_inCommandLine, + fileIdList p_xfiles, + fileIdList p_cfiles, + fileIdList p_lclfiles, + fileIdList p_mtfiles, + cstringList *p_passThroughArgs, + int p_argc, + /*@null@*/ char **p_argv) + /*@requires maxRead(p_argv) >= (p_argc - 1) @*/ + /* returns true if normal, false if execution should exit */ ; # else # error "Multiple include"