]> andersk Git - splint.git/blobdiff - src/Headers/flags.h
Fixed problem with NULL being changed.
[splint.git] / src / Headers / flags.h
index 079700a9e829437bdff9807b65f65e57876a6311..ac362ada38c674defc54ed860e8c014d67858c4e 100644 (file)
@@ -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.
 **
 */
@@ -9,13 +9,16 @@
 
 typedef enum 
 {
-  FK_ABSTRACT, FK_ANSI, FK_BEHAVIOR, 
+  FK_ABSTRACT, FK_ANSI, FK_BEHAVIOR, FK_BOUNDS,
   FK_COMMENTS, FK_COMPLETE, FK_CONTROL, FK_DEBUG, FK_DECL,
+  FK_SYNCOMMENTS, FK_HINTS, FK_SYSTEMFUNCTIONS, FK_ITS4,
   FK_DEF, FK_DIRECT, FK_DISPLAY, FK_EFFECT, FK_EXPORT,
-  FK_EXPOSURE, FK_FORMAT, FK_GLOBAL, FK_GLOBALS, FK_HEADERS,
+  FK_EXPOSURE, 
+  FK_EXTENSIBLE,
+  FK_FORMAT, FK_GLOBAL, FK_GLOBALS, FK_HEADERS,
   FK_HELP, FK_IGNORERET, FK_INIT, FK_ITER, FK_LIBS, FK_LIMITS,
   FK_MACROS, FK_MEMORY, FK_MODIFIES, FK_NAMES, FK_NONE,
-  FK_NULL, FK_NT, FK_OPS, FK_PRED, FK_PREPROC, FK_SECRET,
+  FK_NULL, FK_OPS, FK_PRED, FK_PREPROC, FK_SECRET,
   FK_SUPPRESS, FK_SYNTAX, FK_TYPE, FK_TYPEEQ, FK_NUMBERS, 
   FK_POINTER, FK_UNRECOG, FK_USE, FK_BOOL, FK_ALIAS, 
   FK_PROTOS, FK_SPEC, 
@@ -27,7 +30,7 @@ typedef enum
 extern void listAllCategories (void);
 extern void printAlphaFlags (void);
 extern void printAllFlags (bool p_desc, bool p_full);
-extern void printFlagManual (void);
+extern void printFlagManual (bool p_html);
 
 extern void flagcode_recordError (flagcode p_f);
 extern void flagcode_recordSuppressed (flagcode p_f);
@@ -36,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)
@@ -57,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)
 
@@ -74,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"
This page took 0.521774 seconds and 4 git commands to generate.