]> andersk Git - splint.git/blobdiff - src/Headers/cpphash.h
Fixed line numbering when multi-line macro parameters are used.
[splint.git] / src / Headers / cpphash.h
index 2ec74c268ece27bdac01ef98ae66486d10537e54..f29180e4b4cf86b5546ef7b05276ed9bab688566 100644 (file)
@@ -8,7 +8,7 @@
    of a hash node.  Actually, this may be useless now. */
 typedef union u_hashvalue {
   int ival;
-  /*@owned@*/ char *cpval;
+  /*@null@*/ /*@owned@*/ char *cpval;
   /*@owned@*/ DEFINITION *defn;
 } hashValue;
 
@@ -26,7 +26,7 @@ struct s_hashNode {
   /*@null@*/ /*@dependent@*/ hashNode *bucket_hdr;
 
   enum node_type type;         /* type of special token */
-  int length;                  /* length of token, for quick comparison */
+  size_t length;               /* length of token, for quick comparison */
   cstring name;                        /* the actual name */
   hashValue value;             /* pointer to expansion, or whatever */
 } ;
@@ -39,23 +39,24 @@ struct s_hashNode {
    politeness, for use when speed isn't so important. */
 
 extern void cppReader_deleteMacro (/*@exposed@*/ hashNode p_hp) 
-     /*@modifies internalState, *p_hp@*/;
+     /*@modifies internalState, p_hp@*/;
 
-extern /*@exposed@*/ hashNode cppReader_install (char *, int, 
+extern /*@exposed@*/ hashNode cpphash_install (char *, int, 
                                                  enum node_type, int, 
                                                  /*@only@*/ /*@null@*/ char *, int);
 
 extern void cppReader_hashCleanup (void);
-extern /*@null@*/ /*@exposed@*/ hashNode cppReader_lookup (char *, int, int); 
-extern /*@null@*/ /*@exposed@*/ hashNode cppReader_lookupExpand (char *, int, int); 
+extern /*@null@*/ /*@exposed@*/ hashNode cpphash_lookup (char *, int, int); 
+extern /*@null@*/ /*@exposed@*/ hashNode cpphash_lookupExpand (char *, int, int,
+                                                              bool p_forceExpand); 
 
+extern int cpphash_hashCode (const char *p_name, size_t p_len, int p_hashsize) /*@*/ ;
 extern void cppReader_saveHashtab (void);
 extern void cppReader_restoreHashtab (void);
-extern int hashf (const char *p_name, int p_len, int p_hashsize);
 
 extern /*@exposed@*/ hashNode 
-cppReader_installMacro (char *p_name, int p_len, 
-                       /*@only@*/ struct definition *p_defn, int p_hash);
+cpphash_installMacro (char *p_name, size_t p_len, 
+                     /*@only@*/ struct definition *p_defn, int p_hash);
 
 # else
 # error "Multiple include"
This page took 0.161948 seconds and 4 git commands to generate.