]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
bitmap.c (bitmap_clear): Ensure `inline' is at the beginning of the declaration.
authorKaveh R. Ghazi <ghazi@tragg.rutgers.edu>
Sat, 20 Dec 1997 11:31:54 +0000 (11:31 +0000)
committerJeff Law <law@gcc.gnu.org>
Sat, 20 Dec 1997 11:31:54 +0000 (04:31 -0700)
        * bitmap.c (bitmap_clear): Ensure `inline' is at the beginning
        of the declaration.
        * c-decl.c (finish_decl): Use parentheses around && within ||.
        * rtl.c: Include stdlib.h.
        (read_skip_spaces): Add parentheses around assignments used as
        truth values.
        (read_rtx): Initialize list_rtx.
        * cppexp.c (parse_number): Use || when operands are truth values.
        * alias.c (find_base_value): Add default case.
        (memrefs_conflict): Likewise.
        * combine.c (sets_function_arg_p): Likewise.
        * genemit.c (gen_exp): Likewise.
        * local-alloc.c (contains_replace_regs): Likewise.
        * rtlanal.c (jmp_uses_reg_or_mem): Likewise.
        * fold-const.c (fold_convert): Use "&&" for truth values.
        (fold): Add default case.
        * sdbout.c (sdbout_field_types): Fix typo in declaration.
        (sdbout_one_type): Add default case.
        * alpha.c (alpha_sa_mask): Prototype only if OPEN_VMS.
        (some_operand): Add default case.
        (input_operand): Likewise.
        (signed_comparison_operator): Likewise.
        (divmod_operator): Likewise.
        (alpha_set_memflags_1): Likewise.
        * reload1.c (reload_cse_simplify_operands): Ensure function
        always returns a value.
        * scan-decls.c (scan_decls): Likewise.
        * c-lex.c (skip_white_space): Fix typo in declaraion.
        * c-typeck.c (comp_target_types): Add parentheses around assignment
        used as truth value.
        (print_spelling): Likewise.
        (constructor_implicit, constructor_result): Remove unused variables.
        * collect2.c (scan_library): Protect prototype with
        #ifdef SCAN_LIBRARIES.
        * emit-rtl.c (find_line_note): Fix typo in declaration.
        * final.c (asm_insn_count): Protect prototype with
        #ifdef HAVE_ATTR_length.
        * flow.c (find_auto_inc): Protect prototype with #ifdef AUTO_INC_DEC.
        (try_pre_increment_1, try_pre_increment): Likewise.
        * regclass.c (auto_inc_dec_reg_p): Protect prototype with
        #ifdef FORBIDDEN_INC_DEC_CLASSES.  Make return type explicit.
        * gcov-io.h (__store_long, __write_long, __read_long): Fix
        unsigned/signed comparisons.
        * gcov.c (read_files): Remove unused "first_type" variable.
        (scan _for_source_files): Initialize s_ptr.
        (function_summary): Eliminate "%lf" formatting, use %ld for
        longs.
        (output_data): Initialize branch_probs and last_line_num.
        Eliminate "%lf" formatting, use "%ld" for longs.

Co-Authored-By: Jeffrey A Law <law@cygnus.com>
From-SVN: r17158

24 files changed:
gcc/ChangeLog
gcc/alias.c
gcc/bitmap.c
gcc/c-decl.c
gcc/c-lex.c
gcc/c-typeck.c
gcc/collect2.c
gcc/combine.c
gcc/config/alpha/alpha.c
gcc/cppexp.c
gcc/emit-rtl.c
gcc/final.c
gcc/flow.c
gcc/fold-const.c
gcc/gcov-io.h
gcc/gcov.c
gcc/genemit.c
gcc/local-alloc.c
gcc/regclass.c
gcc/reload1.c
gcc/rtl.c
gcc/rtlanal.c
gcc/scan-decls.c
gcc/sdbout.c

index aed4461221c3d52fff117c08c668d2b2838c14cf..0228bc631075f5208143571f270858e40d92f198 100644 (file)
@@ -1,3 +1,56 @@
+Sat Dec 20 11:26:47 1997  Kaveh R. Ghazi  <ghazi@tragg.rutgers.edu>
+                         Jeff Law  <law@cygnus.com>
+
+       * bitmap.c (bitmap_clear): Ensure `inline' is at the beginning
+       of the declaration.
+       * c-decl.c (finish_decl): Use parentheses around && within ||.
+       * rtl.c: Include stdlib.h.
+       (read_skip_spaces): Add parentheses around assignments used as
+       truth values.
+       (read_rtx): Initialize list_rtx.
+        * cppexp.c (parse_number): Use || when operands are truth values.
+        * alias.c (find_base_value): Add default case.
+       (memrefs_conflict): Likewise.
+        * combine.c (sets_function_arg_p): Likewise.
+        * genemit.c (gen_exp): Likewise.
+        * local-alloc.c (contains_replace_regs): Likewise.
+        * rtlanal.c (jmp_uses_reg_or_mem): Likewise.
+        * fold-const.c (fold_convert): Use "&&" for truth values.
+       (fold): Add default case.
+        * sdbout.c (sdbout_field_types): Fix typo in declaration.
+       (sdbout_one_type): Add default case.
+        * alpha.c (alpha_sa_mask): Prototype only if OPEN_VMS.
+       (some_operand): Add default case.
+       (input_operand): Likewise.
+       (signed_comparison_operator): Likewise.
+       (divmod_operator): Likewise.
+       (alpha_set_memflags_1): Likewise.
+       * reload1.c (reload_cse_simplify_operands): Ensure function
+       always returns a value.
+       * scan-decls.c (scan_decls): Likewise.
+       * c-lex.c (skip_white_space): Fix typo in declaraion.
+       * c-typeck.c (comp_target_types): Add parentheses around assignment
+       used as truth value.
+       (print_spelling): Likewise.
+       (constructor_implicit, constructor_result): Remove unused variables.
+       * collect2.c (scan_library): Protect prototype with
+       #ifdef SCAN_LIBRARIES.
+       * emit-rtl.c (find_line_note): Fix typo in declaration.
+       * final.c (asm_insn_count): Protect prototype with 
+       #ifdef HAVE_ATTR_length.
+       * flow.c (find_auto_inc): Protect prototype with #ifdef AUTO_INC_DEC.
+       (try_pre_increment_1, try_pre_increment): Likewise.
+       * regclass.c (auto_inc_dec_reg_p): Protect prototype with
+       #ifdef FORBIDDEN_INC_DEC_CLASSES.  Make return type explicit.
+        * gcov-io.h (__store_long, __write_long, __read_long): Fix
+        unsigned/signed comparisons.
+        * gcov.c (read_files): Remove unused "first_type" variable.
+       (scan _for_source_files): Initialize s_ptr.
+       (function_summary): Eliminate "%lf" formatting, use %ld for
+       longs.
+       (output_data): Initialize branch_probs and last_line_num.
+       Eliminate "%lf" formatting, use "%ld" for longs.
+
 Fri Dec 19 17:31:11 1997  Ian Lance Taylor  <ian@cygnus.com>
 
         * mips16.S: New file.
index 333aa5c754e36534219bb2cd4af80e2ec32409ad..1363cfe81532b455f28e53b32014b0e3380c7c03 100644 (file)
@@ -202,6 +202,9 @@ find_base_value (src)
 
     case HIGH:
       return find_base_value (XEXP (src, 0));
+
+    default:
+      break;
     }
 
   return 0;
@@ -759,6 +762,9 @@ memrefs_conflict_p (xsize, x, ysize, y, c)
          c /= INTVAL (x1);
          return memrefs_conflict_p (xsize, x0, ysize, y0, c);
        }
+
+      default:
+       break;
       }
 
   /* Treat an access through an AND (e.g. a subword access on an Alpha)
index f982f46392ad755d9d9a2e5c89175d058dfc32d6..f3c9a91e0270228d1aaff5d4c0a1f08f9b8d423c 100644 (file)
@@ -222,7 +222,7 @@ bitmap_element_link (head, element)
 \f
 /* Clear a bitmap by freeing the linked list.  */
 
-void INLINE
+INLINE void
 bitmap_clear (head)
      bitmap head;
 {
index 7688dd23d678bcd85d75dcd44f9fb91821e42f0b..895ce368bbe465b05553e949756e83c1785132ca 100644 (file)
@@ -3888,7 +3888,7 @@ finish_decl (decl, init, asmspec_tree)
                 declaration into a file scope one.  This can be detected
                 by TREE_ASM_WRITTEN being set.  */
                (DECL_INITIAL (decl) != 0
-                || DECL_CONTEXT (decl) != 0 && ! TREE_ASM_WRITTEN (decl))
+                || (DECL_CONTEXT (decl) != 0 && ! TREE_ASM_WRITTEN (decl)))
              :
                /* An automatic variable with an incomplete type
                   is an error.  */
index a1ef5362ca9a5ae9d2ed13ee46309bd3e6a0e32f..1b5b48437424464db017e8fdc24bf22cc1cea68c 100644 (file)
@@ -135,7 +135,7 @@ static int end_of_file;
 static int nextchar = -1;
 #endif
 
-static int skip_which_space            PROTO((int));
+static int skip_white_space            PROTO((int));
 static char *extend_token_buffer       PROTO((char *));
 static int readescape                  PROTO((int *));
 int check_newline ();
index 135ca9b09c29866cee75d3ee34a6de0ac270c162..5bf265ac2083e4ea87b7d1048038d50103cd973c 100644 (file)
@@ -547,7 +547,7 @@ comp_target_types (ttl, ttr)
   int val;
 
   /* Give maybe_objc_comptypes a crack at letting these types through.  */
-  if (val = maybe_objc_comptypes (ttl, ttr, 1) >= 0)
+  if ((val = maybe_objc_comptypes (ttl, ttr, 1)) >= 0)
     return val;
 
   val = comptypes (TYPE_MAIN_VARIANT (TREE_TYPE (ttl)),
@@ -4700,7 +4700,7 @@ print_spelling (buffer)
       {
        if (p->kind == SPELLING_MEMBER)
          *d++ = '.';
-       for (s = p->u.s; *d = *s++; d++)
+       for (s = p->u.s; (*d = *s++); d++)
          ;
       }
   *d++ = '\0';
@@ -5106,9 +5106,6 @@ static int constructor_depth;
 /* 0 if implicitly pushing constructor levels is allowed.  */
 int constructor_no_implicit = 0; /* 0 for C; 1 for some other languages.  */
 
-/* 1 if this constructor level was entered implicitly.  */
-static int constructor_implicit;
-
 static int require_constant_value;
 static int require_constant_elements;
 
@@ -5127,9 +5124,6 @@ static char *constructor_asmspec;
 /* Nonzero if this is an initializer for a top-level decl.  */
 static int constructor_top_level;
 
-/* When we finish reading a constructor expression
-   (constructor_decl is 0), the CONSTRUCTOR goes here.  */
-static tree constructor_result;
 \f
 /* This stack has a level for each implicit or explicit level of
    structuring in the initializer, including the outermost one.  It
index aa23a0f7cddb020b898b2398ced113dc8dabe32d..d3627358a7d02774c2f69b3010c807af9cfebca4 100644 (file)
@@ -299,7 +299,9 @@ static void write_list_with_asm PROTO((FILE *, char *, struct id *));
 static void write_c_file       PROTO((FILE *, char *));
 static void write_export_file  PROTO((FILE *));
 static void scan_prog_file     PROTO((char *, enum pass));
+#ifdef SCAN_LIBRARIES
 static void scan_libraries     PROTO((char *));
+#endif
 
 char *xcalloc ();
 char *xmalloc ();
index a17c999a85b354a5ff7ab46c748ae54f1d9df20c..1546ec64845f19f880a1112ccb9610fa6e149ad5 100644 (file)
@@ -1087,6 +1087,9 @@ sets_function_arg_p (pat)
       return (GET_CODE (inner_dest) == REG
              && REGNO (inner_dest) < FIRST_PSEUDO_REGISTER
              && FUNCTION_ARG_REGNO_P (REGNO (inner_dest)));
+
+    default:
+      break;
     }
 
   return 0;
index 6b28bda2011c38dce2f42eba31af23be91aae18b..b28673c09d7cc26268b5bd79aed6da7ba12dd101 100644 (file)
@@ -108,8 +108,10 @@ static rtx alpha_emit_set_const_1 PROTO((rtx, enum machine_mode,
 static void add_long_const     PROTO((FILE *, HOST_WIDE_INT, int, int, int));
 
 /* Compute the size of the save area in the stack.  */
+#if OPEN_VMS
 static void alpha_sa_mask      PROTO((unsigned long *imaskP,
                                       unsigned long *fmaskP));
+#endif
 /* Get the number of args of a function in one of two ways.  */
 #ifdef OPEN_VMS
 #define NUM_ARGS current_function_args_info.num_args
@@ -536,6 +538,9 @@ some_operand (op, mode)
 
     case SUBREG:
       return some_operand (SUBREG_REG (op), VOIDmode);
+
+    default:
+      break;
     }
 
   return 0;
@@ -578,6 +583,9 @@ input_operand (op, mode)
 
     case CONST_INT:
       return mode == QImode || mode == HImode || add_operand (op, mode);
+
+    default:
+      break;
     }
 
   return 0;
@@ -657,6 +665,9 @@ signed_comparison_operator (op, mode)
     {
     case EQ:  case NE:  case LE:  case LT:  case GE:   case GT:
       return 1;
+
+    default:
+      break;
     }
 
   return 0;
@@ -673,6 +684,9 @@ divmod_operator (op, mode)
     {
     case DIV:  case MOD:  case UDIV:  case UMOD:
       return 1;
+
+    default:
+      break;
     }
 
   return 0;
@@ -891,6 +905,9 @@ alpha_set_memflags_1 (x, in_struct_p, volatile_p, unchanging_p)
       MEM_VOLATILE_P (x) = volatile_p;
       RTX_UNCHANGING_P (x) = unchanging_p;
       break;
+
+    default:
+      break;
     }
 }
 
index e4a0dcd5bffa1f88679df2ed9f54430890675e52..0a68df4c3e1b87988dc4e9288c1f73446eac184b 100644 (file)
@@ -28,13 +28,17 @@ Written by Per Bothner 1994.  */
 #include "cpplib.h"
 
 extern char *xmalloc PARAMS ((unsigned));
-extern char *xrealloc PARAMS ((char *, unsigned));
+extern char *xrealloc PARAMS ((void *, unsigned));
 
 #ifdef MULTIBYTE_CHARS
 #include <stdlib.h>
 #include <locale.h>
 #endif
 
+#if HAVE_LIMITS_H
+# include <limits.h>
+#endif
+
 #include <stdio.h>
 
 /* This is used for communicating lists of keywords with cccp.c.  */
@@ -126,16 +130,34 @@ static long right_shift ();
 #define SKIP_OPERAND 8
 /*#define UNSIGNEDP 16*/
 
-#ifndef HOST_BITS_PER_WIDE_INT
+/* Find the largest host integer type and set its size and type.
+   Watch out: on some crazy hosts `long' is shorter than `int'.  */
+
+#ifndef HOST_WIDE_INT
+# if HAVE_INTTYPES_H
+#  include <inttypes.h>
+#  define HOST_WIDE_INT intmax_t
+# else
+#  if (HOST_BITS_PER_LONG <= HOST_BITS_PER_INT \
+       && HOST_BITS_PER_LONGLONG <= HOST_BITS_PER_INT)
+#   define HOST_WIDE_INT int
+#  else
+#  if (HOST_BITS_PER_LONGLONG <= HOST_BITS_PER_LONG \
+       || ! (defined LONG_LONG_MAX || defined LLONG_MAX))
+#   define HOST_WIDE_INT long
+#  else
+#   define HOST_WIDE_INT long long
+#  endif
+#  endif
+# endif
+#endif
 
-#if HOST_BITS_PER_LONG > HOST_BITS_PER_INT
-#define HOST_BITS_PER_WIDE_INT HOST_BITS_PER_LONG
-#define HOST_WIDE_INT long
-#else
-#define HOST_BITS_PER_WIDE_INT HOST_BITS_PER_INT
-#define HOST_WIDE_INT int
+#ifndef CHAR_BIT
+#define CHAR_BIT 8
 #endif
 
+#ifndef HOST_BITS_PER_WIDE_INT
+#define HOST_BITS_PER_WIDE_INT (CHAR_BIT * sizeof (HOST_WIDE_INT))
 #endif
 
 struct operation {
@@ -226,7 +248,7 @@ parse_number (pfile, start, olen)
     if (largest_digit < digit)
       largest_digit = digit;
     nd = n * base + digit;
-    overflow |= ULONG_MAX_over_base < n | nd < n;
+    overflow |= ULONG_MAX_over_base < n || nd < n;
     n = nd;
   }
 
@@ -367,7 +389,7 @@ cpp_lex (pfile, skip_evaluation)
          {
            if (c == '\\')
              {
-               c = cpp_parse_escape (pfile, &ptr);
+               c = cpp_parse_escape (pfile, (char **) &ptr);
                if (width < HOST_BITS_PER_INT
                  && (unsigned) c >= (1 << width))
                    cpp_pedwarn (pfile,
@@ -406,7 +428,7 @@ cpp_lex (pfile, skip_evaluation)
          {
            int num_bits = num_chars * width;
 
-           if (cpp_lookup (pfile, "__CHAR_UNSIGNED__",
+           if (cpp_lookup (pfile, (U_CHAR *)"__CHAR_UNSIGNED__",
                            sizeof ("__CHAR_UNSIGNED__")-1, -1)
                || ((result >> (num_bits - 1)) & 1) == 0)
                op.value
index c8ee89c7ccbe0cf40924ce775fdcc281607ca05e..c93c3eadf18201cbea0a31dac443d584c89c5b64 100644 (file)
@@ -257,7 +257,7 @@ extern int emit_lineno;
 
 static rtx make_jump_insn_raw          PROTO((rtx));
 static rtx make_call_insn_raw          PROTO((rtx));
-static rtx find_line_node              PROTO((rtx));
+static rtx find_line_note              PROTO((rtx));
 \f
 /* rtx gen_rtx (code, mode, [element1, ..., elementn])
 **
index 7faaf2d72859c09a87b4dbf226cf4c34ccabb51b..924c29b34d84a6aa23cb6cca020d4fc6afa0e68b 100644 (file)
@@ -277,7 +277,9 @@ static struct bb_str *sbb_head      = 0;            /* Head of string list.  */
 static struct bb_str **sbb_tail        = &sbb_head;    /* Ptr to store next bb str */
 static int sbb_label_num       = 0;            /* Last label used */
 
+#ifdef HAVE_ATTR_length
 static int asm_insn_count      PROTO((rtx));
+#endif
 static void profile_function   PROTO((FILE *));
 static void profile_after_prologue PROTO((FILE *));
 static void add_bb             PROTO((FILE *));
index 1c755281499bf08eb8d3bf9a4b8c02861e7a5749..69c7d6b48053c8dd59a536a12301c3cb0989a2f5 100644 (file)
@@ -263,10 +263,12 @@ static void mark_set_regs         PROTO((regset, regset, rtx,
                                               rtx, regset));
 static void mark_set_1                 PROTO((regset, regset, rtx,
                                               rtx, regset));
+#ifdef AUTO_INC_DEC
 static void find_auto_inc              PROTO((regset, rtx, rtx));
-static void mark_used_regs             PROTO((regset, regset, rtx, int, rtx));
 static int try_pre_increment_1         PROTO((rtx));
 static int try_pre_increment           PROTO((rtx, rtx, HOST_WIDE_INT));
+#endif
+static void mark_used_regs             PROTO((regset, regset, rtx, int, rtx));
 void dump_flow_info                    PROTO((FILE *));
 \f
 /* Find basic blocks of the current function and perform data flow analysis.
index adcb1877d8368f18e6e8fafa194477b3a09eec30..4a32656d83beee2bfe5d7b04a393ff1b5212e32e 100644 (file)
@@ -1519,7 +1519,7 @@ fold_convert (t, arg1)
            = (TREE_OVERFLOW (arg1)
               || (force_fit_type (t,
                                  (TREE_INT_CST_HIGH (arg1) < 0
-                                  & (TREE_UNSIGNED (type)
+                                  && (TREE_UNSIGNED (type)
                                     < TREE_UNSIGNED (TREE_TYPE (arg1)))))
                   && TREE_CODE (TREE_TYPE (arg1)) != POINTER_TYPE));
          TREE_CONSTANT_OVERFLOW (t)
@@ -5391,6 +5391,8 @@ fold (expr)
                                             arg0),
                                    convert (signed_type (TREE_TYPE (arg1)),
                                             integer_zero_node)));
+             default:
+               break;
              }
          }
       }
index 59d802ccaed8c91db79d95be4f78c71c195c4651..02bf917765f9b77a82253a2bcbf233b984726d13 100644 (file)
@@ -33,10 +33,10 @@ static int
 __store_long (value, dest, bytes)
      long value;
      char *dest;
-     int bytes;
+     size_t bytes;
 {
   int upper_bit = (value < 0 ? 128 : 0);
-  int i;
+  size_t i;
 
   if (value < 0)
     {
@@ -100,7 +100,7 @@ static int
 __write_long (value, file, bytes)
      long value;
      FILE *file;
-     int bytes;
+     size_t bytes;
 {
   char c[10];
 
@@ -123,7 +123,7 @@ static int
 __read_long (dest, file, bytes)
      long *dest;
      FILE *file;
-     int bytes;
+     size_t bytes;
 {
   char c[10];
 
index b3ad330b42c2d38c25e63e6ec5c7ea04a7196e2f..69f0f56d706e187e46352dc07b6c3171cd6018c0 100644 (file)
@@ -2,7 +2,7 @@
    source file.
    Copyright (C) 1990, 91, 92, 93, 94, 96, 1997 Free Software Foundation, Inc.
    Contributed by James E. Wilson of Cygnus Support.
-   Mongled by Bob Manson of Cygnus Support.
+   Mangled by Bob Manson of Cygnus Support.
 
 Gcov is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
@@ -41,17 +41,29 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
    is no way to get the total execution counts for the included file, can
    only get execution counts for one or the other of the including files.  */
 
+#include "config.h"
 #include <stdio.h>
+#include "gansidecl.h"
 #include <sys/types.h>
 #include <sys/stat.h>
 
-/* The only need for this is so that we get macro definitions for rindex
-   if necessary.  */
-#include "config.h"
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+
+#ifdef HAVE_STRING_H
+#include <string.h>
+#else
+#ifdef HAVE_STRINGS_H
+#include <strings.h>
+#endif
+#endif
 
 #include "gcov-io.h"
 
-extern char * rindex ();
+#ifdef NEED_DECLARATION_RINDEX
+extern char *rindex ();
+#endif
 
 /* The .bb file format consists of several lists of 4-byte integers
    which are the line numbers of each basic block in the file.  Each
@@ -686,7 +698,7 @@ read_files ()
   struct stat buf;
   struct bb_info_list *list_end = 0;
   struct bb_info_list *b_ptr;
-  long total, first_time;
+  long total;
 
   /* Read and ignore the first word of the .da file, which is the count of
      how many numbers follow.  */
@@ -706,7 +718,7 @@ read_files ()
 
       /* Read in the data in the .bbg file and reconstruct the program flow
         graph for one function.  */
-      create_program_flow_graph (b_ptr, first_time);
+      create_program_flow_graph (b_ptr);
 
       /* Set the EOF condition if at the end of file.  */
       ungetc (getc (bbg_file), bbg_file);
@@ -734,7 +746,7 @@ read_files ()
   stat (bb_file_name, &buf);
   bb_data_size = buf.st_size / 4;
 
-  bb_data = (char *) xmalloc (buf.st_size);
+  bb_data = (char *) xmalloc ((unsigned) buf.st_size);
   fread (bb_data, sizeof (char), buf.st_size, bb_file);
   
   fclose (bb_file);
@@ -750,7 +762,7 @@ read_files ()
 static void
 scan_for_source_files ()
 {
-  struct sourcefile *s_ptr;
+  struct sourcefile *s_ptr = NULL;
   char *ptr;
   int count;
   long line_num;
@@ -901,7 +913,7 @@ static void
 function_summary ()
 {
   if (function_source_lines)
-    fprintf (stdout, "%6.2lf%% of %d source lines executed in function %s\n",
+    fprintf (stdout, "%6.2f%% of %d source lines executed in function %s\n",
             (((double) function_source_lines_executed / function_source_lines)
              * 100), function_source_lines, function_name);
   else
@@ -912,18 +924,18 @@ function_summary ()
     {
       if (function_branches)
        {
-         fprintf (stdout, "%6.2lf%% of %d branches executed in funcion %s\n",
+         fprintf (stdout, "%6.2f%% of %d branches executed in function %s\n",
                   (((double) function_branches_executed / function_branches)
                    * 100), function_branches, function_name);
          fprintf (stdout,
-               "%6.2lf%% of %d branches taken at least once in function %s\n",
+               "%6.2f%% of %d branches taken at least once in function %s\n",
                   (((double) function_branches_taken / function_branches)
                    * 100), function_branches, function_name);
        }
       else
        fprintf (stdout, "No branches in function %s\n", function_name);
       if (function_calls)
-       fprintf (stdout, "%6.2lf%% of %d calls executed in function %s\n",
+       fprintf (stdout, "%6.2f%% of %d calls executed in function %s\n",
                 (((double) function_calls_executed / function_calls)
                  * 100), function_calls, function_name);
       else
@@ -949,7 +961,7 @@ output_data ()
   char *line_exists;
   /* An array indexed by line number, which contains a list of branch
      probabilities, one for each branch on that line.  */
-  struct arcdata **branch_probs;
+  struct arcdata **branch_probs = NULL;
   struct sourcefile *s_ptr;
   char *source_file_name;
   FILE *source_file;
@@ -958,7 +970,7 @@ output_data ()
   char *cptr;
   long block_num;
   long line_num;
-  long last_line_num;
+  long last_line_num = 0;
   int i;
   struct arcdata *a_ptr;
   /* Buffer used for reading in lines from the source file.  */
@@ -1061,7 +1073,7 @@ output_data ()
                        fprintf (stderr,
                                 "didn't use all bb entries of graph, function %s\n",
                                 function_name);
-                       fprintf (stderr, "block_num = %d, num_blocks = %d\n",
+                       fprintf (stderr, "block_num = %ld, num_blocks = %d\n",
                                 block_num, current_graph->num_blocks);
                      }
 
@@ -1176,7 +1188,7 @@ output_data ()
 
       if (total_source_lines)
        fprintf (stdout,
-                "%6.2lf%% of %d source lines executed in file %s\n",
+                "%6.2f%% of %d source lines executed in file %s\n",
                 (((double) total_source_lines_executed / total_source_lines)
                  * 100), total_source_lines, source_file_name);
       else
@@ -1187,18 +1199,18 @@ output_data ()
        {
          if (total_branches)
            {
-             fprintf (stdout, "%6.2lf%% of %d branches executed in file %s\n",
+             fprintf (stdout, "%6.2f%% of %d branches executed in file %s\n",
                       (((double) total_branches_executed / total_branches)
                        * 100), total_branches, source_file_name);
              fprintf (stdout,
-                   "%6.2lf%% of %d branches taken at least once in file %s\n",
+                   "%6.2f%% of %d branches taken at least once in file %s\n",
                       (((double) total_branches_taken / total_branches)
                        * 100), total_branches, source_file_name);
            }
          else
            fprintf (stdout, "No branches in file %s\n", source_file_name);
          if (total_calls)
-           fprintf (stdout, "%6.2lf%% of %d calls executed in file %s\n",
+           fprintf (stdout, "%6.2f%% of %d calls executed in file %s\n",
                     (((double) total_calls_executed / total_calls)
                      * 100), total_calls, source_file_name);
          else
@@ -1208,7 +1220,7 @@ output_data ()
       if (output_gcov_file)
        {
          /* Now the statistics are ready.  Read in the source file one line
-            at a time, and output that line to the gcov file preceeded by
+            at a time, and output that line to the gcov file preceded by
             its execution count if non zero.  */
       
          source_file = fopen (source_file_name, "r");
@@ -1285,12 +1297,12 @@ output_data ()
                 before the source line.  For lines which exist but were never
                 executed, print ###### before the source line.  Otherwise,
                 print the execution count before the source line.  */
-             /* There are 16 spaces of identation added before the source line
-                so that tabs won't be messed up.  */
+             /* There are 16 spaces of indentation added before the source
+                line so that tabs won't be messed up.  */
              if (line_exists[count])
                {
                  if (line_counts[count])
-                   fprintf (gcov_file, "%12d    %s", line_counts[count],
+                   fprintf (gcov_file, "%12ld    %s", line_counts[count],
                             string);
                  else
                    fprintf (gcov_file, "      ######    %s", string);
@@ -1299,7 +1311,7 @@ output_data ()
                fprintf (gcov_file, "\t\t%s", string);
 
              /* In case the source file line is larger than our buffer, keep
-                reading and outputing lines until we get a newline.  */
+                reading and outputting lines until we get a newline.  */
              len = strlen (string);
              while ((len == 0 || string[strlen (string) - 1] != '\n')
                     && retval != NULL)
@@ -1356,7 +1368,7 @@ output_data ()
                fprintf (gcov_file, "\t\t%s", string);
 
                /* In case the source file line is larger than our buffer, keep
-                  reading and outputing lines until we get a newline.  */
+                  reading and outputting lines until we get a newline.  */
                len = strlen (string);
                while ((len == 0 || string[strlen (string) - 1] != '\n')
                       && retval != NULL)
index e80e4c71668716921c1e5c33940616ce210a6dba..4b8485242a305a99fc98c60d86019621b7c6b4d2 100644 (file)
@@ -1,5 +1,5 @@
 /* Generate code from machine description to emit insns as rtl.
-   Copyright (C) 1987, 1988, 1991, 1994, 1995 Free Software Foundation, Inc.
+   Copyright (C) 1987, 88, 91, 94, 95, 1997 Free Software Foundation, Inc.
 
 This file is part of GNU CC.
 
@@ -225,6 +225,9 @@ gen_exp (x)
       /* These shouldn't be written in MD files.  Instead, the appropriate
         routines in varasm.c should be called.  */
       abort ();
+
+    default:
+      break;
     }
 
   printf ("gen_rtx (");
@@ -743,9 +746,11 @@ main (argc, argv)
 from the machine description file `md'.  */\n\n");
 
   printf ("#include \"config.h\"\n");
+  printf ("#include <stdio.h>\n");
   printf ("#include \"rtl.h\"\n");
   printf ("#include \"expr.h\"\n");
   printf ("#include \"real.h\"\n");
+  printf ("#include \"flags.h\"\n");
   printf ("#include \"output.h\"\n");
   printf ("#include \"insn-config.h\"\n\n");
   printf ("#include \"insn-flags.h\"\n\n");
index b7aade256dcbbe487756901fc03ce54db4467286..3235172b4e4bf820f747eaf12a86ae37cd627f0c 100644 (file)
@@ -628,6 +628,9 @@ contains_replace_regs (x, reg_equiv_replace)
 
     case REG:
       return reg_equiv_replace[REGNO (x)];
+
+    default:
+      break;
     }
 
   fmt = GET_RTX_FORMAT (code);
index 7d9edd26e966516407c8c14f2904feb57909ddd7..16f886ed41ee8299a978770e37794366b3d4241a 100644 (file)
@@ -587,7 +587,9 @@ static void record_reg_classes      PROTO((int, int, rtx *, enum machine_mode *,
 static int copy_cost           PROTO((rtx, enum machine_mode, 
                                       enum reg_class, int));
 static void record_address_regs        PROTO((rtx, enum reg_class, int));
-static auto_inc_dec_reg_p      PROTO((rtx, enum machine_mode));
+#ifdef FORBIDDEN_INC_DEC_CLASSES
+static int auto_inc_dec_reg_p  PROTO((rtx, enum machine_mode));
+#endif
 static void reg_scan_mark_refs PROTO((rtx, rtx, int));
 
 /* Return the reg_class in which pseudo reg number REGNO is best allocated.
@@ -1635,7 +1637,7 @@ record_address_regs (x, class, scale)
 /* Return 1 if REG is valid as an auto-increment memory reference
    to an object of MODE.  */
 
-static 
+static int
 auto_inc_dec_reg_p (reg, mode)
      rtx reg;
      enum machine_mode mode;
index 3cfa1f88498a48552e59b9b13d1e33dc6f5e549a..778801dc69bd05da6f9b16c685d2b797705843a3 100644 (file)
@@ -8273,7 +8273,7 @@ reload_cse_simplify_operands (insn)
   n_alternatives = insn_n_alternatives[insn_code_number];
   
   if (n_alternatives == 0 || n_operands == 0)
-    return;
+    return 0;
   insn_extract (insn);
 
   /* Figure out which alternative currently matches.  */
index 69e517143db840087832aa3f0f6641a2b817a4c6..063ce79489d6f4de54edf2b99d8fccb4ac6b6720 100644 (file)
--- a/gcc/rtl.c
+++ b/gcc/rtl.c
@@ -22,6 +22,9 @@ Boston, MA 02111-1307, USA.  */
 #include "config.h"
 #include <ctype.h>
 #include <stdio.h>
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
 #include "rtl.h"
 #include "real.h"
 
@@ -491,7 +494,7 @@ read_skip_spaces (infile)
      FILE *infile;
 {
   register int c;
-  while (c = getc (infile))
+  while ((c = getc (infile)))
     {
       if (c == ' ' || c == '\n' || c == '\t' || c == '\f')
        ;
@@ -507,7 +510,7 @@ read_skip_spaces (infile)
            dump_and_abort ('*', c, infile);
          
          prevc = 0;
-         while (c = getc (infile))
+         while ((c = getc (infile)))
            {
              if (prevc == '*' && c == '/')
                break;
@@ -662,7 +665,7 @@ read_rtx (infile)
       case 'E':
        {
          register struct rtx_list *next_rtx, *rtx_list_link;
-         struct rtx_list *list_rtx;
+         struct rtx_list *list_rtx = NULL_RTX;
 
          c = read_skip_spaces (infile);
          if (c != '[')
index d311652d2ef715e67bea706d9c7e380fcd450a1e..bff2b6ea2e8a988d2c2bb7a1c22492807d847ed1 100644 (file)
@@ -1922,6 +1922,9 @@ jmp_uses_reg_or_mem (x)
     case PLUS:  case MINUS:  case MULT:
       return (jmp_uses_reg_or_mem (XEXP (x, 0))
              || jmp_uses_reg_or_mem (XEXP (x, 1)));
+
+    default:
+      break;
     }
 
   fmt = GET_RTX_FORMAT (code);
index 253f3fc22b3615d55e4a357c8e6e9aa6d82ccdb2..00dc83869ac9b70b2e22ddd6b2c77f846bf901ac 100644 (file)
@@ -1,5 +1,5 @@
 /* scan-decls.c - Extracts declarations from cpp output.
-   Copyright (C) 1993, 1995 Free Software Foundation, Inc.
+   Copyright (C) 1993, 1995, 1997 Free Software Foundation, Inc.
 
 This program is free software; you can redistribute it and/or modify it
 under the terms of the GNU General Public License as published by the
@@ -81,6 +81,7 @@ scan_decls (pfile, argc, argv)
      char **argv;
 {
   int saw_extern, saw_inline;
+  int start_written;
   int old_written;
   /* If declarator_start is non-zero, it marks the start of the current
      declarator.  If it is zero, we are either still parsing the
@@ -91,6 +92,7 @@ scan_decls (pfile, argc, argv)
 
  new_statement:
   CPP_SET_WRITTEN (pfile, 0);
+  start_written = 0;
   token = cpp_get_token (pfile);
 
  handle_statement:
@@ -122,9 +124,6 @@ scan_decls (pfile, argc, argv)
   declarator_start = 0;
   for (;;)
     {
-      int start_written = CPP_WRITTEN (pfile);
-      token = cpp_get_token (pfile);
-    handle_token:
       switch (token)
        {
        case CPP_LPAREN:
@@ -225,7 +224,7 @@ scan_decls (pfile, argc, argv)
                    }
                }
              else
-               goto handle_token;
+               continue;
              break;
            }
          /* This may be the name of a variable or function.  */
@@ -234,7 +233,7 @@ scan_decls (pfile, argc, argv)
          break;
 
        case CPP_EOF:
-         return;  /* ??? FIXME */
+         return 0;
 
        case CPP_LBRACE:  case CPP_RBRACE:  case CPP_DIRECTIVE:
          goto new_statement;  /* handle_statement? */
@@ -248,5 +247,8 @@ scan_decls (pfile, argc, argv)
         default:
          prev_id_start = 0;
        }
+
+      start_written = CPP_WRITTEN (pfile);
+      token = cpp_get_token (pfile);
     }
 }
index 14c5b40dc329f9be6aee6d4f83396a38476630a3..d95945e635b7526749071177cad10d9fcc7ff01d 100644 (file)
@@ -114,7 +114,7 @@ static void sdbout_syms                     PROTO((tree));
 static void sdbout_queue_anonymous_type        PROTO((tree));
 static void sdbout_dequeue_anonymous_types PROTO((void));
 static void sdbout_type                        PROTO((tree));
-static void sbdout_field_types         PROTO((tree));
+static void sdbout_field_types         PROTO((tree));
 static void sdbout_one_type            PROTO((tree));
 static void sdbout_parms               PROTO((tree));
 static void sdbout_reg_parms           PROTO((tree));
@@ -951,6 +951,9 @@ sdbout_symbol (decl, local)
          return;
        }
       break;
+
+    default:
+      break;
     }
   PUT_SDB_TYPE (plain_type (type));
   PUT_SDB_ENDEF;
@@ -1166,6 +1169,9 @@ sdbout_one_type (type)
            PUT_SDB_TYPE (T_ENUM);
            member_scl = C_MOE;
            break;
+
+         default:
+           break;
          }
 
        PUT_SDB_SIZE (size);
@@ -1258,6 +1264,9 @@ sdbout_one_type (type)
        PUT_SDB_SIZE (size);
        PUT_SDB_ENDEF;
        break;
+
+      default:
+       break;
       }
     }
 }