warning patches part 1/2

Kaveh R. Ghazi ghazi@caip.rutgers.edu
Mon Oct 12 13:54:00 GMT 1998


	This is part 1/2, okay to install?


Mon Oct 12 10:29:55 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* Makefile.in (gencheck.o): Depend on gansidecl.h.

	* c-common.c (print_char_table): Add missing initializers.
	(scan_char_table): Likewise.
	(time_char_table): Likewise.

	* c-decl.c (c_decode_option): Ifndef USE_CPPLIB, mark parameter
 	`argc' with ATTRIBUTE_UNUSED.
	(declare_parm_level): Mark parameter `definition_flag' with
	ATTRIBUTE_UNUSED.

	* c-lex.c (readescape): Use `(unsigned)1' in shift.
	(yylex): Likewise.  Cast `sizeof' to an (int) when comparing
	against one.

	* calls.c (store_one_arg): Remove unused parameter `fndecl'.  All
	callers changed.
	(emit_call_1): Ifdef ACCUMULATE_OUTGOING_ARGS, mark parameters
	`fndecl' and `funtype' with ATTRIBUTE_UNUSED.
	(expand_call): Cast result of MIN() to (unsigned int) when
	comparing against an unsigned value.

	* cccp.c (pcfinclude): Remove unused parameter `limit'.  All
	callers changed.
	(make_definition): Remove unused parameter `op'.  All callers
	changed.
	(create_definition): Cast REST_EXTENSION_LENGTH to (long) when
	comparing against the result of pointer arithmetic.

	* config/mips/mips.h (FUNCTION_ARG_BOUNDARY): Cast to (unsigned)
	when comparing against one.

	* dwarf2out.c (dwarf2out_frame_debug): Cast REGNO() and
 	HARD_FRAME_POINTER_REGNUM to (unsigned) when comparing against
 	one.
	(output_die): Move variable `i' into the scope in which it is
	used.  Change its type to `unsigned'.
	(output_die): Cast the result of `strlen' to (int) when passing it
	to ASM_OUTPUT_ASCII().
	(output_pubnames): Likewise.
	(output_line_info): Likewise.

	* emit-rtl.c (global_rtl): Add missing initializers.

	* explow.c (promote_mode): Ifndef PROMOTE_FOR_CALL_ONLY, mark
	parameter `for_call' with ATTRIBUTE_UNUSED.

	* expmed.c (expand_shift): Cast the result of GET_MODE_BITSIZE to
 	`unsigned HOST_WIDE_INT' when comparing against one.
	(synth_mult): Change type of variable `cost' to int.
	(emit_store_flag): Use `(unsigned HOST_WIDE_INT) 1' in shift.

diff -rup orig/egcs-CVS19981011/gcc/Makefile.in egcs-CVS19981011/gcc/Makefile.in
--- orig/egcs-CVS19981011/gcc/Makefile.in	Sun Oct 11 12:40:13 1998
+++ egcs-CVS19981011/gcc/Makefile.in	Sun Oct 11 18:00:04 1998
@@ -1361,7 +1361,7 @@ gencheck : gencheck.o tree.def $(lang_tr
 	$(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o $@ \
 	 gencheck.o $(HOST_LIBS)
 
-gencheck.o : gencheck.c hconfig.h system.h
+gencheck.o : gencheck.c hconfig.h system.h gansidecl.h
 	$(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(srcdir)/gencheck.c
 
 dumpvers: dumpvers.c
diff -rup orig/egcs-CVS19981011/gcc/c-common.c egcs-CVS19981011/gcc/c-common.c
--- orig/egcs-CVS19981011/gcc/c-common.c	Sun Oct 11 12:40:15 1998
+++ egcs-CVS19981011/gcc/c-common.c	Sun Oct 11 18:44:32 1998
@@ -1137,7 +1137,7 @@ static format_char_info print_char_table
   { "S",	1,	T_W,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	"-wp"		},
   { "p",	1,	T_V,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	"-w"		},
   { "n",	1,	T_I,	NULL,	T_S,	T_L,	T_LL,	NULL,	NULL,	""		},
-  { NULL }
+  { NULL,	0,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL		}
 };
 
 static format_char_info scan_char_table[] = {
@@ -1151,7 +1151,7 @@ static format_char_info scan_char_table[
   { "S",	1,	T_W,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	"*a"	},
   { "p",	2,	T_V,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	"*"	},
   { "n",	1,	T_I,	T_C,	T_S,	T_L,	T_LL,	NULL,	NULL,	""	},
-  { NULL }
+  { NULL,	0,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL,	NULL	}
 };
 
 /* Handle format characters recognized by glibc's strftime.c.
@@ -1176,7 +1176,7 @@ static format_char_info time_char_table[
   { "p",		0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "#" },
   { "bh",		0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "^" },
   { "CY",		0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "-_0EOw" },
-  { NULL }
+  { NULL,		0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }
 };
 
 typedef struct function_format_info
diff -rup orig/egcs-CVS19981011/gcc/c-decl.c egcs-CVS19981011/gcc/c-decl.c
--- orig/egcs-CVS19981011/gcc/c-decl.c	Mon Oct 12 00:30:38 1998
+++ egcs-CVS19981011/gcc/c-decl.c	Sun Oct 11 18:20:57 1998
@@ -601,7 +601,11 @@ int dollars_in_ident = DOLLARS_IN_IDENTI
    
 int
 c_decode_option (argc, argv)
-     int argc;
+     int argc
+#ifndef USE_CPPLIB
+  ATTRIBUTE_UNUSED
+#endif
+  ;
      char **argv;
 {
   int strings_processed;
@@ -946,7 +950,7 @@ kept_level_p ()
 
 void
 declare_parm_level (definition_flag)
-     int definition_flag;
+     int definition_flag ATTRIBUTE_UNUSED;
 {
   current_binding_level->parm_flag = 1;
 }
diff -rup orig/egcs-CVS19981011/gcc/c-lex.c egcs-CVS19981011/gcc/c-lex.c
--- orig/egcs-CVS19981011/gcc/c-lex.c	Sun Oct 11 12:40:16 1998
+++ egcs-CVS19981011/gcc/c-lex.c	Sun Oct 11 18:07:25 1998
@@ -950,7 +950,7 @@ readescape (ignore_ptr)
 	;
       else if ((count - 1) * 4 >= TYPE_PRECISION (integer_type_node)
 	       || (count > 1
-		   && ((1 << (TYPE_PRECISION (integer_type_node) - (count - 1) * 4))
+		   && (((unsigned)1 << (TYPE_PRECISION (integer_type_node) - (count - 1) * 4))
 		       <= firstdig)))
 	pedwarn ("hex escape out of range");
       return code;
@@ -1848,7 +1848,7 @@ yylex ()
 		if (ignore)
 		  goto tryagain;
 		if (width < HOST_BITS_PER_INT
-		    && (unsigned) c >= (1 << width))
+		    && (unsigned) c >= ((unsigned)1 << width))
 		  pedwarn ("escape sequence out of range for character");
 #ifdef MAP_CHARACTER
 		if (ISPRINT (c))
@@ -2003,7 +2003,7 @@ yylex ()
 		if (ignore)
 		  goto skipnewline;
 		if (width < HOST_BITS_PER_INT
-		    && (unsigned) c >= (1 << width))
+		    && (unsigned) c >= ((unsigned)1 << width))
 		  pedwarn ("escape sequence out of range for character");
 	      }
 	    else if (c == '\n')
@@ -2063,7 +2063,7 @@ yylex ()
 		for (byte = 0; byte < WCHAR_BYTES; ++byte)
 		  {
 		    int value;
-		    if (byte >= sizeof (c))
+		    if (byte >= (int) sizeof (c))
 		      value = 0;
 		    else
 		      value = (c >> (byte * width)) & bytemask;
diff -rup orig/egcs-CVS19981011/gcc/calls.c egcs-CVS19981011/gcc/calls.c
--- orig/egcs-CVS19981011/gcc/calls.c	Sun Oct 11 12:40:19 1998
+++ egcs-CVS19981011/gcc/calls.c	Sun Oct 11 20:44:27 1998
@@ -126,7 +126,7 @@ static void emit_call_1		PROTO((rtx, tre
 				       HOST_WIDE_INT, rtx, rtx,
 				       int, rtx, int));
 static void store_one_arg	PROTO ((struct arg_data *, rtx, int, int,
-					tree, int));
+					int));
 
 /* If WHICH is 1, return 1 if EXP contains a call to the built-in function
    `alloca'.
@@ -343,8 +343,16 @@ emit_call_1 (funexp, fndecl, funtype, st
              next_arg_reg, valreg, old_inhibit_defer_pop, call_fusage,
 	     is_const)
      rtx funexp;
-     tree fndecl;
-     tree funtype;
+     tree fndecl
+#ifdef ACCUMULATE_OUTGOING_ARGS
+  ATTRIBUTE_UNUSED
+#endif
+  ;
+     tree funtype
+#ifdef ACCUMULATE_OUTGOING_ARGS
+  ATTRIBUTE_UNUSED
+#endif
+  ;
      HOST_WIDE_INT stack_size;
      HOST_WIDE_INT struct_value_size;
      rtx next_arg_reg;
@@ -1765,7 +1773,7 @@ expand_call (exp, target, ignore)
   for (i = 0; i < num_actuals; i++)
     if (args[i].reg == 0 || args[i].pass_on_stack)
       store_one_arg (&args[i], argblock, may_be_alloca,
-		     args_size.var != 0, fndecl, reg_parm_stack_space);
+		     args_size.var != 0, reg_parm_stack_space);
 
   /* If we have a parm that is passed in registers but not in memory
      and whose alignment does not permit a direct copy into registers,
@@ -1777,7 +1785,7 @@ expand_call (exp, target, ignore)
       if (args[i].reg != 0 && ! args[i].pass_on_stack
 	&& args[i].mode == BLKmode
 	  && (TYPE_ALIGN (TREE_TYPE (args[i].tree_value))
-	      < MIN (BIGGEST_ALIGNMENT, BITS_PER_WORD)))
+	      < (unsigned int) MIN (BIGGEST_ALIGNMENT, BITS_PER_WORD)))
 	{
 	  int bytes = int_size_in_bytes (TREE_TYPE (args[i].tree_value));
 	  int big_endian_correction = 0;
@@ -1835,7 +1843,7 @@ expand_call (exp, target, ignore)
     for (i = 0; i < num_actuals; i++)
       if (args[i].partial != 0 && ! args[i].pass_on_stack)
 	store_one_arg (&args[i], argblock, may_be_alloca,
-		       args_size.var != 0, fndecl, reg_parm_stack_space);
+		       args_size.var != 0, reg_parm_stack_space);
 
 #ifndef PUSH_ARGS_REVERSED
 #ifdef STACK_BOUNDARY
@@ -3357,13 +3365,12 @@ target_for_arg (type, size, args_addr, o
    FNDECL is the declaration of the function we are calling.  */
 
 static void
-store_one_arg (arg, argblock, may_be_alloca, variable_size, fndecl,
+store_one_arg (arg, argblock, may_be_alloca, variable_size,
 	       reg_parm_stack_space)
      struct arg_data *arg;
      rtx argblock;
      int may_be_alloca;
      int variable_size;
-     tree fndecl;
      int reg_parm_stack_space;
 {
   register tree pval = arg->tree_value;
diff -rup orig/egcs-CVS19981011/gcc/cccp.c egcs-CVS19981011/gcc/cccp.c
--- orig/egcs-CVS19981011/gcc/cccp.c	Sun Oct 11 12:40:20 1998
+++ egcs-CVS19981011/gcc/cccp.c	Sun Oct 11 18:15:16 1998
@@ -942,7 +942,7 @@ static void record_control_macro PROTO((
 
 static char *check_precompiled PROTO((int, struct stat *, char *, char **));
 static int check_preconditions PROTO((char *));
-static void pcfinclude PROTO((U_CHAR *, U_CHAR *, U_CHAR *, FILE_BUF *));
+static void pcfinclude PROTO((U_CHAR *, U_CHAR *, FILE_BUF *));
 static void pcstring_used PROTO((HASHNODE *));
 static void write_output PROTO((void));
 static void pass_thru_directive PROTO((U_CHAR *, U_CHAR *, FILE_BUF *, struct directive *));
@@ -1024,7 +1024,7 @@ static void dump_arg_n PROTO((DEFINITION
 static void initialize_char_syntax PROTO((void));
 static void initialize_builtins PROTO((FILE_BUF *, FILE_BUF *));
 
-static void make_definition PROTO((char *, FILE_BUF *));
+static void make_definition PROTO((char *));
 static void make_undef PROTO((char *, FILE_BUF *));
 
 static void make_assertion PROTO((char *, char *));
@@ -1828,7 +1828,7 @@ main (argc, argv)
 	    sprintf (versbuf, "__VMS_VER=%08ld", vms_version_value);
 	    if (debug_output)
 	      output_line_directive (fp, &outbuf, 0, same_file);
-	    make_definition (versbuf, &outbuf);
+	    make_definition (versbuf);
 	  }
       }
 #endif
@@ -1847,7 +1847,7 @@ main (argc, argv)
 	  *p++= 0;
 	if (debug_output)
 	  output_line_directive (fp, &outbuf, 0, same_file);
-	make_definition (q, &outbuf);
+	make_definition (q);
 	while (*p == ' ' || *p == '\t')
 	  p++;
       } else if (p[0] == '-' && p[1] == 'A') {
@@ -1912,7 +1912,7 @@ main (argc, argv)
     if (pend_defs[i]) {
       if (debug_output)
         output_line_directive (fp, &outbuf, 0, same_file);
-      make_definition (pend_defs[i], &outbuf);
+      make_definition (pend_defs[i]);
     }
     if (pend_assertions[i])
       make_assertion (pend_assertion_options[i], pend_assertions[i]);
@@ -4806,8 +4806,7 @@ get_filename:
     if (pcfbuf) {
       pcfname = xmalloc (strlen (pcftry) + 1);
       strcpy (pcfname, pcftry);
-      pcfinclude ((U_CHAR *) pcfbuf, (U_CHAR *) pcfbuflimit,
-		  (U_CHAR *) fname, op);
+      pcfinclude ((U_CHAR *) pcfbuf, (U_CHAR *) fname, op);
     }
     else
       finclude (f, inc, op, is_system_include (fname), searchptr);
@@ -5514,8 +5513,8 @@ check_preconditions (prec)
    in.  OP is the main output buffer.  */
 
 static void
-pcfinclude (buf, limit, name, op)
-     U_CHAR *buf, *limit, *name;
+pcfinclude (buf, name, op)
+     U_CHAR *buf, *name;
      FILE_BUF *op;
 {
   FILE_BUF tmpbuf;
@@ -5802,7 +5801,7 @@ create_definition (buf, limit, op)
       while (is_idchar[*bp]) {
 	bp++;
 	/* do we have a "special" rest-args extension here? */
-	if (limit - bp > REST_EXTENSION_LENGTH
+	if (limit - bp > (long) REST_EXTENSION_LENGTH
 	    && bcmp (rest_extension, bp, REST_EXTENSION_LENGTH) == 0) {
 	  if (pedantic && !instack[indepth].system_header_p)
 	    pedwarn ("ANSI C does not allow macro with variable arguments");
@@ -10185,9 +10184,8 @@ initialize_builtins (inp, outp)
  */
 
 static void
-make_definition (str, op)
+make_definition (str)
      char *str;
-     FILE_BUF *op;
 {
   FILE_BUF *ip;
   struct directive *kt;
diff -rup orig/egcs-CVS19981011/gcc/config/mips/mips.h egcs-CVS19981011/gcc/config/mips/mips.h
--- orig/egcs-CVS19981011/gcc/config/mips/mips.h	Sun Oct 11 12:39:38 1998
+++ egcs-CVS19981011/gcc/config/mips/mips.h	Sun Oct 11 19:53:47 1998
@@ -2470,7 +2470,7 @@ typedef struct mips_args {
 
 #define FUNCTION_ARG_BOUNDARY(MODE, TYPE)				\
   (((TYPE) != 0)							\
-	? ((TYPE_ALIGN(TYPE) <= PARM_BOUNDARY)				\
+	? ((TYPE_ALIGN(TYPE) <= (unsigned)PARM_BOUNDARY)		\
 		? PARM_BOUNDARY						\
 		: TYPE_ALIGN(TYPE))					\
 	: ((GET_MODE_ALIGNMENT(MODE) <= PARM_BOUNDARY)			\
diff -rup orig/egcs-CVS19981011/gcc/dwarf2out.c egcs-CVS19981011/gcc/dwarf2out.c
--- orig/egcs-CVS19981011/gcc/dwarf2out.c	Sun Oct 11 12:40:31 1998
+++ egcs-CVS19981011/gcc/dwarf2out.c	Mon Oct 12 00:27:03 1998
@@ -1252,7 +1252,7 @@ dwarf2out_frame_debug (insn)
 	{
 	  /* Setting FP from SP.  */
 	case REG:
-	  if (cfa_reg != REGNO (src))
+	  if (cfa_reg != (unsigned) REGNO (src))
 	    abort ();
 	  if (REGNO (dest) != STACK_POINTER_REGNUM
 	      && !(frame_pointer_needed
@@ -1272,7 +1272,7 @@ dwarf2out_frame_debug (insn)
 		  offset = INTVAL (XEXP (src, 1));
 		  break;
 		case REG:
-		  if (REGNO (XEXP (src, 1)) != cfa_temp_reg)
+		  if ((unsigned) REGNO (XEXP (src, 1)) != cfa_temp_reg)
 		    abort ();
 		  offset = cfa_temp_value;
 		  break;
@@ -1283,7 +1283,7 @@ dwarf2out_frame_debug (insn)
 	      if (XEXP (src, 0) == hard_frame_pointer_rtx)
 		{
 		  /* Restoring SP from FP in the epilogue.  */
-		  if (cfa_reg != HARD_FRAME_POINTER_REGNUM)
+		  if (cfa_reg != (unsigned) HARD_FRAME_POINTER_REGNUM)
 		    abort ();
 		  cfa_reg = STACK_POINTER_REGNUM;
 		}
@@ -1319,7 +1319,7 @@ dwarf2out_frame_debug (insn)
               else if (XEXP (src, 0) == hard_frame_pointer_rtx
                        && GET_CODE (XEXP (src, 1)) == CONST_INT)
                 {
-		  if (cfa_reg != HARD_FRAME_POINTER_REGNUM)
+		  if (cfa_reg != (unsigned) HARD_FRAME_POINTER_REGNUM)
 		    abort ();
                   offset = INTVAL (XEXP (src, 1));
                   if (GET_CODE (src) == PLUS)
@@ -1336,7 +1336,7 @@ dwarf2out_frame_debug (insn)
 		  || XEXP (src, 1) != stack_pointer_rtx)
 		abort ();
 	      if (GET_CODE (XEXP (src, 0)) != REG
-		  || REGNO (XEXP (src, 0)) != cfa_temp_reg)
+		  || (unsigned) REGNO (XEXP (src, 0)) != cfa_temp_reg)
 		abort ();
 	      if (cfa_reg != STACK_POINTER_REGNUM)
 		abort ();
@@ -1352,8 +1352,8 @@ dwarf2out_frame_debug (insn)
 
 	case IOR:
 	  if (GET_CODE (XEXP (src, 0)) != REG
-	      || REGNO (XEXP (src, 0)) != cfa_temp_reg
-	      || REGNO (dest) != cfa_temp_reg
+	      || (unsigned) REGNO (XEXP (src, 0)) != cfa_temp_reg
+	      || (unsigned) REGNO (dest) != cfa_temp_reg
 	      || GET_CODE (XEXP (src, 1)) != CONST_INT)
 	    abort ();
 	  cfa_temp_value |= INTVAL (XEXP (src, 1));
@@ -1396,14 +1396,14 @@ dwarf2out_frame_debug (insn)
 	  if (GET_CODE (src) == MINUS)
 	    offset = -offset;
 
-	  if (cfa_store_reg != REGNO (XEXP (XEXP (dest, 0), 0)))
+	  if (cfa_store_reg != (unsigned) REGNO (XEXP (XEXP (dest, 0), 0)))
 	    abort ();
 	  offset -= cfa_store_offset;
 	  break;
 
 	  /* Without an offset.  */
 	case REG:
-	  if (cfa_store_reg != REGNO (XEXP (dest, 0)))
+	  if (cfa_store_reg != (unsigned) REGNO (XEXP (dest, 0)))
 	    abort();
 	  offset = -cfa_store_offset;
 	  break;
@@ -5199,7 +5199,6 @@ output_die (die)
   register unsigned long ref_offset;
   register unsigned long size;
   register dw_loc_descr_ref loc;
-  register int i;
 
   output_uleb128 (die->die_abbrev);
   if (flag_debug_asm)
@@ -5302,24 +5301,27 @@ output_die (die)
 	  break;
 
 	case dw_val_class_float:
-	  ASM_OUTPUT_DWARF_DATA1 (asm_out_file,
-				  a->dw_attr_val.v.val_float.length * 4);
-	  if (flag_debug_asm)
-	    fprintf (asm_out_file, "\t%s %s",
-		     ASM_COMMENT_START, dwarf_attr_name (a->dw_attr));
-
-	  fputc ('\n', asm_out_file);
-	  for (i = 0; i < a->dw_attr_val.v.val_float.length; ++i)
-	    {
-	      ASM_OUTPUT_DWARF_DATA4 (asm_out_file,
-				      a->dw_attr_val.v.val_float.array[i]);
-	      if (flag_debug_asm)
-		fprintf (asm_out_file, "\t%s fp constant word %d",
-			 ASM_COMMENT_START, i);
+	  {
+	    register unsigned int i;
+	    ASM_OUTPUT_DWARF_DATA1 (asm_out_file,
+				    a->dw_attr_val.v.val_float.length * 4);
+	    if (flag_debug_asm)
+	      fprintf (asm_out_file, "\t%s %s",
+		       ASM_COMMENT_START, dwarf_attr_name (a->dw_attr));
+
+	    fputc ('\n', asm_out_file);
+	    for (i = 0; i < a->dw_attr_val.v.val_float.length; ++i)
+	      {
+		ASM_OUTPUT_DWARF_DATA4 (asm_out_file,
+					a->dw_attr_val.v.val_float.array[i]);
+		if (flag_debug_asm)
+		  fprintf (asm_out_file, "\t%s fp constant word %u",
+			   ASM_COMMENT_START, i);
 
-	      fputc ('\n', asm_out_file);
-	    }
+		fputc ('\n', asm_out_file);
+	      }
 	  break;
+	  }
 
 	case dw_val_class_flag:
 	  ASM_OUTPUT_DWARF_DATA1 (asm_out_file, a->dw_attr_val.v.val_flag);
@@ -5362,7 +5364,7 @@ output_die (die)
 	  else
 	    ASM_OUTPUT_ASCII (asm_out_file,
 			      a->dw_attr_val.v.val_str,
-			      strlen (a->dw_attr_val.v.val_str) + 1);
+			      (int) strlen (a->dw_attr_val.v.val_str) + 1);
 	  break;
 
 	default:
@@ -5514,7 +5516,8 @@ output_pubnames ()
 	}
       else
 	{
-	  ASM_OUTPUT_ASCII (asm_out_file, pub->name, strlen (pub->name) + 1);
+	  ASM_OUTPUT_ASCII (asm_out_file, pub->name,
+			    (int) strlen (pub->name) + 1);
 	}
 
       fputc ('\n', asm_out_file);
@@ -5751,7 +5754,7 @@ output_line_info ()
 	{
 	  ASM_OUTPUT_ASCII (asm_out_file,
 			    file_table[ft_index],
-			    strlen (file_table[ft_index]) + 1);
+			    (int) strlen (file_table[ft_index]) + 1);
 	}
 
       fputc ('\n', asm_out_file);
diff -rup orig/egcs-CVS19981011/gcc/emit-rtl.c egcs-CVS19981011/gcc/emit-rtl.c
--- orig/egcs-CVS19981011/gcc/emit-rtl.c	Sun Oct 11 12:40:32 1998
+++ egcs-CVS19981011/gcc/emit-rtl.c	Sun Oct 11 23:29:00 1998
@@ -93,17 +93,17 @@ static int no_line_numbers;
 
 struct _global_rtl global_rtl =
 {
-  {PC, VOIDmode},			/* pc_rtx */
-  {CC0, VOIDmode},			/* cc0_rtx */
-  {REG},				/* stack_pointer_rtx */
-  {REG},				/* frame_pointer_rtx */
-  {REG},				/* hard_frame_pointer_rtx */
-  {REG},				/* arg_pointer_rtx */
-  {REG},				/* virtual_incoming_args_rtx */
-  {REG},				/* virtual_stack_vars_rtx */
-  {REG},				/* virtual_stack_dynamic_rtx */
-  {REG},				/* virtual_outgoing_args_rtx */
-  {REG},				/* virtual_cfa_rtx */
+  {PC, VOIDmode, 0, 0, 0, 0, 0, 0, 0, 0, {{0}} },  /* pc_rtx */
+  {CC0, VOIDmode, 0, 0, 0, 0, 0, 0, 0, 0, {{0}} }, /* cc0_rtx */
+  {REG, VOIDmode, 0, 0, 0, 0, 0, 0, 0, 0, {{0}} }, /* stack_pointer_rtx */
+  {REG, VOIDmode, 0, 0, 0, 0, 0, 0, 0, 0, {{0}} }, /* frame_pointer_rtx */
+  {REG, VOIDmode, 0, 0, 0, 0, 0, 0, 0, 0, {{0}} }, /* hard_frame_pointer_rtx */
+  {REG, VOIDmode, 0, 0, 0, 0, 0, 0, 0, 0, {{0}} }, /* arg_pointer_rtx */
+  {REG, VOIDmode, 0, 0, 0, 0, 0, 0, 0, 0, {{0}} }, /* virtual_incoming_args_rtx */
+  {REG, VOIDmode, 0, 0, 0, 0, 0, 0, 0, 0, {{0}} }, /* virtual_stack_vars_rtx */
+  {REG, VOIDmode, 0, 0, 0, 0, 0, 0, 0, 0, {{0}} }, /* virtual_stack_dynamic_rtx */
+  {REG, VOIDmode, 0, 0, 0, 0, 0, 0, 0, 0, {{0}} }, /* virtual_outgoing_args_rtx */
+  {REG, VOIDmode, 0, 0, 0, 0, 0, 0, 0, 0, {{0}} }, /* virtual_cfa_rtx */
 };
 
 /* We record floating-point CONST_DOUBLEs in each floating-point mode for
diff -rup orig/egcs-CVS19981011/gcc/explow.c egcs-CVS19981011/gcc/explow.c
--- orig/egcs-CVS19981011/gcc/explow.c	Sun Oct 11 12:40:33 1998
+++ egcs-CVS19981011/gcc/explow.c	Sun Oct 11 21:05:11 1998
@@ -736,7 +736,11 @@ promote_mode (type, mode, punsignedp, fo
      tree type;
      enum machine_mode mode;
      int *punsignedp;
-     int for_call;
+     int for_call
+#ifndef PROMOTE_FOR_CALL_ONLY
+  ATTRIBUTE_UNUSED
+#endif
+  ;
 {
   enum tree_code code = TREE_CODE (type);
   int unsignedp = *punsignedp;
diff -rup orig/egcs-CVS19981011/gcc/expmed.c egcs-CVS19981011/gcc/expmed.c
--- orig/egcs-CVS19981011/gcc/expmed.c	Sun Oct 11 12:40:34 1998
+++ egcs-CVS19981011/gcc/expmed.c	Sun Oct 11 21:02:29 1998
@@ -1854,7 +1854,8 @@ expand_shift (code, mode, shifted, amoun
   if (SHIFT_COUNT_TRUNCATED)
     {
       if (GET_CODE (op1) == CONST_INT
-          && (unsigned HOST_WIDE_INT) INTVAL (op1) >= GET_MODE_BITSIZE (mode))
+          && ((unsigned HOST_WIDE_INT) INTVAL (op1) >=
+	      (unsigned HOST_WIDE_INT) GET_MODE_BITSIZE (mode)))
         op1 = GEN_INT ((unsigned HOST_WIDE_INT) INTVAL (op1)
 		       % GET_MODE_BITSIZE (mode));
       else if (GET_CODE (op1) == SUBREG
@@ -2029,7 +2030,7 @@ synth_mult (alg_out, t, cost_limit)
 {
   int m;
   struct algorithm *alg_in, *best_alg;
-  unsigned int cost;
+  int cost;
   unsigned HOST_WIDE_INT q;
 
   /* Indicate that no algorithm is yet found.  If no algorithm
@@ -4292,7 +4293,7 @@ emit_store_flag (target, code, op0, op1,
 
       else if (GET_MODE_BITSIZE (mode) <= HOST_BITS_PER_WIDE_INT
 	       && ((STORE_FLAG_VALUE & GET_MODE_MASK (mode))
-		   == (HOST_WIDE_INT) 1 << (GET_MODE_BITSIZE (mode) - 1)))
+		   == (unsigned HOST_WIDE_INT) 1 << (GET_MODE_BITSIZE (mode) - 1)))
 	;
       else
 	return 0;



More information about the Gcc-patches mailing list