X-Git-Url: http://andersk.mit.edu/gitweb/splint.git/blobdiff_plain/a0a162cdc5db4d998824629e9f4d370b9b68df56..ed62d3fbeda6bb085991cdd683ceacfc57f7afbe:/src/Headers/cprim.h diff --git a/src/Headers/cprim.h b/src/Headers/cprim.h index ce7c012..9cd8ba2 100644 --- a/src/Headers/cprim.h +++ b/src/Headers/cprim.h @@ -1,5 +1,5 @@ /* -** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2000. +** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2003. ** See ../LICENSE for license information. ** */ @@ -43,7 +43,7 @@ extern bool cprim_isAnyChar (/*@sef@*/ cprim p_c); /* ** only a few combiniations of type qualifiers and base types are -** recognized in the ANSI standard. LCLint treats these as distinct +** recognized in the ANSI standard. Splint treats these as distinct ** types. */ @@ -93,8 +93,13 @@ extern bool cprim_isAnyChar (/*@sef@*/ cprim p_c); extern bool cprim_isAnyInt (/*@sef@*/ cprim p_c); extern bool cprim_isAnyReal (/*@sef@*/ cprim p_c); -# define cprim_isAnyInt(c) ((c) >= CTX_INT && (c) <= CTX_SIGNEDINTEGRAL) -# define cprim_isAnyReal(c) ((c) >= CTX_FLOAT && (c) <= CTX_LDOUBLE) +# define cprim_isAnyInt(c) ((c) >= CTX_INT && (c) <= CTX_SIGNEDINTEGRAL) + +extern bool cprim_isAnyUnsignedInt (/*@sef@*/ cprim p_c); +# define cprim_isAnyUnsignedInt(c) ((c) == CTX_UINT || (c) == CTX_USINT \ + || (c) == CTX_ULINT || (c) == CTX_ULLINT \ + || (c) == CTX_UNSIGNEDINTEGRAL) +# define cprim_isAnyReal(c) ((c) >= CTX_FLOAT && (c) <= CTX_LDOUBLE) /*@constant int CTX_LAST;@*/ # define CTX_LAST CTX_LDOUBLE @@ -109,8 +114,8 @@ extern bool cprim_closeEnough (cprim, cprim) /*@*/ ; extern bool cprim_closeEnoughDeep (cprim, cprim) /*@*/ ; extern /*@only@*/ cstring cprim_unparse (cprim) /*@*/ ; extern cprim cprim_fromInt (int p_i); - extern bool cprim_isInt(cprim p_c); +extern int cprim_getExpectedBits (cprim p_c) /*@*/ ; # else # error "Multiple include"