]> gcc.gnu.org Git - gcc.git/commitdiff
cppexp.c: When forcing unsigned comparisons, cast both sides of the operation.
authorZack Weinberg <zack@rabi.phys.columbia.edu>
Sun, 11 Oct 1998 00:05:11 +0000 (00:05 +0000)
committerJeff Law <law@gcc.gnu.org>
Sun, 11 Oct 1998 00:05:11 +0000 (18:05 -0600)
        * 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

gcc/ChangeLog
gcc/cppexp.c
gcc/cpphash.c
gcc/cpphash.h
gcc/cpplib.c
gcc/cpplib.h

index 1cd2d8a32bd2ac38d9bf0f65e4249a771fdd61ac..5197ef3f3eed35bc735ef376cc02c6bf9157072a 100644 (file)
@@ -1,3 +1,20 @@
+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)
 
        * flow.c (find_basic_blocks): Delte "live_reachable_p" argument.
index 44f8a66547c89f2b8498814c31a74a92ca8ec6ef..8fc5f04a948068ac15e4c1cb1fe9a140a3db0224 100644 (file)
@@ -365,7 +365,7 @@ cpp_lex (pfile, skip_evaluation)
              {
                c = cpp_parse_escape (pfile, (char **) &ptr);
                if (width < HOST_BITS_PER_INT
-                 && (unsigned) c >= (1 << width))
+                 && (unsigned) c >= (unsigned)(1 << width))
                    cpp_pedwarn (pfile,
                                 "escape sequence out of range for character");
              }
@@ -649,7 +649,8 @@ right_shift (pfile, a, unsignedp, b)
 
 #define COMPARE(OP) \
   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.
    Returns the value of the expression.  */
index 6aa9e9c7c12b17cec2675e33066a3d4473e1eb04..d20f7bbe79d28276813be2b93f3cc6f0dcad627b 100644 (file)
@@ -30,6 +30,8 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
 extern char *xmalloc PARAMS ((unsigned));
 
+static HASHNODE *hashtab[HASHSIZE];
+
 /* Return hash function on name.  must be compatible with the one
    computed a step at a time, elsewhere  */
 
index 2b0668d3eb210a88615d61982bfbe9c168b69aa5..c536ce418882643a4f24f4b5c7978fe2bfa3732a 100644 (file)
@@ -31,7 +31,6 @@ typedef struct hashnode HASHNODE;
    politeness, for use when speed isn't so important. */
 
 #define HASHSIZE 1403
-static HASHNODE *hashtab[HASHSIZE];
 #define HASHSTEP(old, c) ((old << 2) + c)
 #define MAKE_POS(v) (v & 0x7fffffff) /* make number positive */
 
index da2f54a97f03bbcb8807b99e738665dd73320b9e..b56790ec32b554d29ef58a21ef6e051c0684b79b 100644 (file)
@@ -1512,7 +1512,7 @@ create_definition (buf, limit, pfile, predefinition)
       while (is_idchar[*bp]) {
        bp++;
        /* 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) {
          rest_args = 1;
          temp->rest_args = 1;
@@ -2747,7 +2747,7 @@ macroexpand (pfile, hp)
                             one space except within an string or char token.*/
                          if (is_space[c])
                            {
-                             if (CPP_WRITTEN (pfile) > arg->stringified
+                             if (CPP_WRITTEN (pfile) > (unsigned)arg->stringified
                                  && (CPP_PWRITTEN (pfile))[-1] == '@')
                                {
                                  /* "@ " escape markers are removed */
@@ -5528,7 +5528,7 @@ open_include_file (pfile, filename, searchptr)
        p = filename;
       if (searchptr
          && searchptr->fname
-         && strlen (searchptr->fname) == p - filename
+         && strlen (searchptr->fname) == (size_t) (p - filename)
          && ! strncmp (searchptr->fname, filename, p - filename))
        {
          /* FILENAME is in SEARCHPTR, which we've already checked.  */
index 12b111b7a4ed15f7e9e16b1eb138bfeda696e6f3..ab63719c4c8f8c88c9334589ae6f842375bf6bf1 100644 (file)
@@ -179,7 +179,7 @@ struct cpp_reader {
   /* A buffer used for both for cpp_get_token's output, and also internally. */
   unsigned char *token_buffer;
   /* 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. */
   unsigned char *limit;
 
@@ -279,12 +279,12 @@ struct cpp_reader {
 #define CPP_OUT_BUFFER(PFILE) ((PFILE)->token_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)
 
 /* Make sure PFILE->token_buffer has space for at least N more characters. */
 #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))
 
 /* Append string STR (of length N) to PFILE's output buffer.
This page took 0.083345 seconds and 5 git commands to generate.