Commit faa76596 by Zack Weinberg Committed by Jeff Law

cppexp.c: When forcing unsigned comparisons, cast both sides of the operation.

        * cppexp.c: When forcing unsigned comparisons, cast both sides
        of the operation.
        * cpphash.h: Move static declaration of hashtab[]...
        * cpphash.c: ...here.
        * cpplib.c: Cast difference of two pointers to size_t before
        comparing it to size_t.  Cast signed to unsigned
        before comparing to size_t. (FIXME: struct argdata should use
        unsigned buffer sizes.)
        * cpplib.h (struct cpp_reader): Declare token_buffer_size as
        unsigned int. (CPP_WRITTEN): Cast return value to size_t.
        (CPP_RESERVE): Parenthesize N for evaluation order, cast to
        size_t before comparison.

From-SVN: r22980
parent 9265dacf
Sun Oct 11 01:03:05 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
* cppexp.c: When forcing unsigned comparisons, cast both sides
of the operation.
* cpphash.h: Move static declaration of hashtab[]...
* cpphash.c: ...here.
* cpplib.c: Cast difference of two pointers to size_t before
comparing it to size_t. Cast signed to unsigned
before comparing to size_t. (FIXME: struct argdata should use
unsigned buffer sizes.)
* cpplib.h (struct cpp_reader): Declare token_buffer_size as
unsigned int. (CPP_WRITTEN): Cast return value to size_t.
(CPP_RESERVE): Parenthesize N for evaluation order, cast to
size_t before comparison.
Sun Oct 11 00:15:29 1998 Jeffrey A Law (law@cygnus.com) Sun Oct 11 00:15:29 1998 Jeffrey A Law (law@cygnus.com)
* flow.c (find_basic_blocks): Delte "live_reachable_p" argument. * flow.c (find_basic_blocks): Delte "live_reachable_p" argument.
......
...@@ -365,7 +365,7 @@ cpp_lex (pfile, skip_evaluation) ...@@ -365,7 +365,7 @@ cpp_lex (pfile, skip_evaluation)
{ {
c = cpp_parse_escape (pfile, (char **) &ptr); c = cpp_parse_escape (pfile, (char **) &ptr);
if (width < HOST_BITS_PER_INT if (width < HOST_BITS_PER_INT
&& (unsigned) c >= (1 << width)) && (unsigned) c >= (unsigned)(1 << width))
cpp_pedwarn (pfile, cpp_pedwarn (pfile,
"escape sequence out of range for character"); "escape sequence out of range for character");
} }
...@@ -649,7 +649,8 @@ right_shift (pfile, a, unsignedp, b) ...@@ -649,7 +649,8 @@ right_shift (pfile, a, unsignedp, b)
#define COMPARE(OP) \ #define COMPARE(OP) \
top->unsignedp = 0;\ top->unsignedp = 0;\
top->value = (unsigned1 || unsigned2) ? (unsigned long) v1 OP v2 : (v1 OP v2) top->value = (unsigned1 || unsigned2) \
? (unsigned long) v1 OP (unsigned long) v2 : (v1 OP v2)
/* Parse and evaluate a C expression, reading from PFILE. /* Parse and evaluate a C expression, reading from PFILE.
Returns the value of the expression. */ Returns the value of the expression. */
......
...@@ -30,6 +30,8 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ...@@ -30,6 +30,8 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
extern char *xmalloc PARAMS ((unsigned)); extern char *xmalloc PARAMS ((unsigned));
static HASHNODE *hashtab[HASHSIZE];
/* Return hash function on name. must be compatible with the one /* Return hash function on name. must be compatible with the one
computed a step at a time, elsewhere */ computed a step at a time, elsewhere */
......
...@@ -31,7 +31,6 @@ typedef struct hashnode HASHNODE; ...@@ -31,7 +31,6 @@ typedef struct hashnode HASHNODE;
politeness, for use when speed isn't so important. */ politeness, for use when speed isn't so important. */
#define HASHSIZE 1403 #define HASHSIZE 1403
static HASHNODE *hashtab[HASHSIZE];
#define HASHSTEP(old, c) ((old << 2) + c) #define HASHSTEP(old, c) ((old << 2) + c)
#define MAKE_POS(v) (v & 0x7fffffff) /* make number positive */ #define MAKE_POS(v) (v & 0x7fffffff) /* make number positive */
......
...@@ -1512,7 +1512,7 @@ create_definition (buf, limit, pfile, predefinition) ...@@ -1512,7 +1512,7 @@ create_definition (buf, limit, pfile, predefinition)
while (is_idchar[*bp]) { while (is_idchar[*bp]) {
bp++; bp++;
/* do we have a "special" rest-args extension here? */ /* do we have a "special" rest-args extension here? */
if (limit - bp > REST_EXTENSION_LENGTH if ((size_t)(limit - bp) > REST_EXTENSION_LENGTH
&& strncmp (rest_extension, bp, REST_EXTENSION_LENGTH) == 0) { && strncmp (rest_extension, bp, REST_EXTENSION_LENGTH) == 0) {
rest_args = 1; rest_args = 1;
temp->rest_args = 1; temp->rest_args = 1;
...@@ -2747,7 +2747,7 @@ macroexpand (pfile, hp) ...@@ -2747,7 +2747,7 @@ macroexpand (pfile, hp)
one space except within an string or char token.*/ one space except within an string or char token.*/
if (is_space[c]) if (is_space[c])
{ {
if (CPP_WRITTEN (pfile) > arg->stringified if (CPP_WRITTEN (pfile) > (unsigned)arg->stringified
&& (CPP_PWRITTEN (pfile))[-1] == '@') && (CPP_PWRITTEN (pfile))[-1] == '@')
{ {
/* "@ " escape markers are removed */ /* "@ " escape markers are removed */
...@@ -5528,7 +5528,7 @@ open_include_file (pfile, filename, searchptr) ...@@ -5528,7 +5528,7 @@ open_include_file (pfile, filename, searchptr)
p = filename; p = filename;
if (searchptr if (searchptr
&& searchptr->fname && searchptr->fname
&& strlen (searchptr->fname) == p - filename && strlen (searchptr->fname) == (size_t) (p - filename)
&& ! strncmp (searchptr->fname, filename, p - filename)) && ! strncmp (searchptr->fname, filename, p - filename))
{ {
/* FILENAME is in SEARCHPTR, which we've already checked. */ /* FILENAME is in SEARCHPTR, which we've already checked. */
......
...@@ -179,7 +179,7 @@ struct cpp_reader { ...@@ -179,7 +179,7 @@ struct cpp_reader {
/* A buffer used for both for cpp_get_token's output, and also internally. */ /* A buffer used for both for cpp_get_token's output, and also internally. */
unsigned char *token_buffer; unsigned char *token_buffer;
/* Allocated size of token_buffer. CPP_RESERVE allocates space. */ /* Allocated size of token_buffer. CPP_RESERVE allocates space. */
int token_buffer_size; unsigned int token_buffer_size;
/* End of the written part of token_buffer. */ /* End of the written part of token_buffer. */
unsigned char *limit; unsigned char *limit;
...@@ -279,12 +279,12 @@ struct cpp_reader { ...@@ -279,12 +279,12 @@ struct cpp_reader {
#define CPP_OUT_BUFFER(PFILE) ((PFILE)->token_buffer) #define CPP_OUT_BUFFER(PFILE) ((PFILE)->token_buffer)
/* Number of characters currently in PFILE's output buffer. */ /* Number of characters currently in PFILE's output buffer. */
#define CPP_WRITTEN(PFILE) ((PFILE)->limit - (PFILE)->token_buffer) #define CPP_WRITTEN(PFILE) ((size_t)((PFILE)->limit - (PFILE)->token_buffer))
#define CPP_PWRITTEN(PFILE) ((PFILE)->limit) #define CPP_PWRITTEN(PFILE) ((PFILE)->limit)
/* Make sure PFILE->token_buffer has space for at least N more characters. */ /* Make sure PFILE->token_buffer has space for at least N more characters. */
#define CPP_RESERVE(PFILE, N) \ #define CPP_RESERVE(PFILE, N) \
(CPP_WRITTEN (PFILE) + N > (PFILE)->token_buffer_size \ (CPP_WRITTEN (PFILE) + (size_t)(N) > (PFILE)->token_buffer_size \
&& (cpp_grow_buffer (PFILE, N), 0)) && (cpp_grow_buffer (PFILE, N), 0))
/* Append string STR (of length N) to PFILE's output buffer. /* Append string STR (of length N) to PFILE's output buffer.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment