X-Git-Url: http://andersk.mit.edu/gitweb/splint.git/blobdiff_plain/6fcd0b1e01252139211d34a4476d377cf6e5f37a..7ac98eb7e62335f5bb191d2c399d7dae5c1e62ab:/src/Headers/cpplib.h diff --git a/src/Headers/cpplib.h b/src/Headers/cpplib.h index cdefe6b..bc44c01 100644 --- a/src/Headers/cpplib.h +++ b/src/Headers/cpplib.h @@ -155,7 +155,7 @@ struct cppReader { /* Current maximum length of directory names in the search path for include files. (Altered as we get more of them.) */ - int max_include_len; + size_t max_include_len; /*@null@*/ struct if_stack *if_stack; @@ -222,8 +222,7 @@ cpplib_createDefinition (/*@dependent@*/ cstring p_def, fileloc p_loc, extern void cpplib_reserve (/*@sef@*/ cppReader *, /*@sef@*/ size_t); #define cpplib_reserve(PFILE, N) \ - (cpplib_getWritten (PFILE) + (N) > (PFILE)->token_buffer_size \ - && (cppReader_growBuffer (PFILE, (N)), 0)) + (((cpplib_getWritten (PFILE) + (N) > (PFILE)->token_buffer_size)) ? cppReader_growBuffer (PFILE, (N)) : (void) 0) /* Append string STR (of length N) to PFILE's output buffer. Assume there is enough space. */ @@ -403,7 +402,7 @@ extern bool cppReader_isTraditional (/*@special@*/ cppReader *p_pfile) /*@uses p_pfile->opts@*/ /*@modifies nothing@*/ ; -#define cppReader_isTraditional(PFILE) (CPPOPTIONS(PFILE)-> traditional) +#define cppReader_isTraditional(PFILE) (CPPOPTIONS(PFILE)->traditional) extern bool cppReader_isPedantic (cppReader *) /*@*/; #define cppReader_isPedantic(PFILE) (CPPOPTIONS (PFILE)->pedantic) @@ -418,37 +417,38 @@ extern bool cppReader_isPedantic (cppReader *) /*@*/; /* different flavors of hash nodes --- also used in keyword table */ enum node_type { T_NONE = 0, - T_DEFINE = 1, /* the `#define' keyword */ - T_INCLUDE, /* the `#include' keyword */ - T_INCLUDE_NEXT, /* the `#include_next' keyword */ - T_IFDEF, /* the `#ifdef' keyword */ - T_IFNDEF, /* the `#ifndef' keyword */ - T_IF, /* the `#if' keyword */ - T_ELSE, /* `#else' */ - T_PRAGMA, /* `#pragma' */ - T_ELIF, /* `#elif' */ - T_UNDEF, /* `#undef' */ - T_LINE, /* `#line' */ - T_ERROR, /* `#error' */ - T_WARNING, /* `#warning' */ - T_ENDIF, /* `#endif' */ - T_IDENT, /* `#ident', used on system V. */ - T_SPECLINE, /* special symbol `__LINE__' */ - T_DATE, /* `__DATE__' */ - T_FILE, /* `__FILE__' */ - T_BASE_FILE, /* `__BASE_FILE__' */ - T_INCLUDE_LEVEL, /* `__INCLUDE_LEVEL__' */ - T_VERSION, /* `__VERSION__' */ - T_SIZE_TYPE, /* `__SIZE_TYPE__' */ - T_PTRDIFF_TYPE, /* `__PTRDIFF_TYPE__' */ - T_WCHAR_TYPE, /* `__WCHAR_TYPE__' */ - T_USER_LABEL_PREFIX_TYPE, /* `__USER_LABEL_PREFIX__' */ - T_REGISTER_PREFIX_TYPE, /* `__REGISTER_PREFIX__' */ - T_TIME, /* `__TIME__' */ - T_CONST, /* Constant value, used by `__STDC__' */ - T_MACRO, /* macro defined by `#define' */ + T_DEFINE = 1, /* the #define keyword */ + T_INCLUDE, /* the #include keyword */ + T_INCLUDE_NEXT, /* the #include_next keyword */ + T_IFDEF, /* the #ifdef keyword */ + T_IFNDEF, /* the #ifndef keyword */ + T_IF, /* the #if keyword */ + T_ELSE, /* #else */ + T_PRAGMA, /* #pragma */ + T_ELIF, /* #elif */ + T_UNDEF, /* #undef */ + T_LINE, /* #line */ + T_ERROR, /* #error */ + T_WARNING, /* #warning */ + T_ENDIF, /* #endif */ + T_IDENT, /* #ident, used on system V. */ + T_SPECLINE, /* special symbol __LINE__ */ + T_DATE, /* __DATE__ */ + T_FILE, /* __FILE__ */ + T_BASE_FILE, /* __BASE_FILE__ */ + T_INCLUDE_LEVEL, /* __INCLUDE_LEVEL__ */ + T_FUNC, /* __func__ */ + T_VERSION, /* __VERSION__ */ + T_SIZE_TYPE, /* __SIZE_TYPE__ */ + T_PTRDIFF_TYPE, /* __PTRDIFF_TYPE__ */ + T_WCHAR_TYPE, /* __WCHAR_TYPE__ */ + T_USER_LABEL_PREFIX_TYPE, /* __USER_LABEL_PREFIX__ */ + T_REGISTER_PREFIX_TYPE, /* __REGISTER_PREFIX__ */ + T_TIME, /* __TIME__ */ + T_CONST, /* Constant value, used by __STDC__ */ + T_MACRO, /* macro defined by #define */ T_DISABLED, /* macro temporarily turned off for rescan */ - T_SPEC_DEFINED, /* special `defined' macro for use in #if statements */ + T_SPEC_DEFINED, /* special defined macro for use in #if statements */ T_PCSTRING, /* precompiled string (hashval is KEYDEF *) */ T_UNUSED /* Used for something not defined. */ } ;