This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Correction of warnings


The following patch fixes a large number of warnings that occur when GCC
compiles itself.  I committed it.

Fri Feb 18 20:08:57 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* bitmap.c (bitmap_operation): Avoid using -1 for index since unsigned.
	* cppinit.c (new_pending_define): Add cast to avoid warning.
	* expmed.c (extract_bit_field): Likewise.
	* flow.c (enum reorder_skip_type): New type.
	(skip_insns_between_blcok): New it.
	Rework to avoid warning about possibly undefined variable.
	* function.c (assign_parms): Make thisparm_boundary unsigned.
	* genrecog.c (write_switch): Cast XWINT result to int.
	* lcm.c: Many static fcns and vars now #ifdef OPTIMIZE_MODE_SWITCHING.
	* mips-tfile.c (init_file): Make two versions of FDR intializer:
	one for MIPS and one for Alpha.
	(get_tag, copy_object): Add casts to avoid warnings.
	* optabs.c (init_one_libfunc): Cast NAME to (char *).
	* reload.c (find_reloads): Make TYPE enum reload_type.
	* sbitmap.c (dump_sbitmap): J is unsigned; don't use "1L".
	* unroll.c (unroll_loop): Initialize UNROLL_NUMBER.
	* varasm.c (compare_constant_1): Add cast to avoid warning.
	* config/alpha/alpha.c (alpha_emit_xfloating_libcall): Cast FUNC
	to (char *).
	(alpha_expand_unaligned_load, alpha_expand_unaligned_store):
 	Cast switch operand of size to int.
	(alpha_expand_epilogue): Always initialize fp_offset and sa_reg.
	* config/alpha/alpha.h (INITIAL_ELIMINATION_OFFSET): Add abort
	in unhandled case.

*** bitmap.c	2000/02/17 20:24:11	1.20
--- bitmap.c	2000/02/19 00:46:06
*************** bitmap_operation (to, from1, from2, oper
*** 396,403 ****
       enum bitmap_bits operation;
  {
    bitmap_element *from1_ptr = from1->first;
    bitmap_element *from2_ptr = from2->first;
!   unsigned int indx1 = (from1_ptr) ? from1_ptr->indx : -1;
!   unsigned int indx2 = (from2_ptr) ? from2_ptr->indx : -1;
    bitmap_element *to_ptr = to->first;
    bitmap_element *from1_tmp;
--- 396,405 ----
       enum bitmap_bits operation;
  {
+ #define HIGHEST_INDEX (unsigned int) ~0
+ 
    bitmap_element *from1_ptr = from1->first;
    bitmap_element *from2_ptr = from2->first;
!   unsigned int indx1 = (from1_ptr) ? from1_ptr->indx : HIGHEST_INDEX;
!   unsigned int indx2 = (from2_ptr) ? from2_ptr->indx : HIGHEST_INDEX;
    bitmap_element *to_ptr = to->first;
    bitmap_element *from1_tmp;
*************** bitmap_operation (to, from1, from2, oper
*** 450,456 ****
  	  from2_tmp = from2_ptr;
  	  from1_ptr = from1_ptr->next;
! 	  indx1 = (from1_ptr) ? from1_ptr->indx : -1;
  	  from2_ptr = from2_ptr->next;
! 	  indx2 = (from2_ptr) ? from2_ptr->indx : -1;
  	}
        else if (indx1 < indx2)
--- 452,458 ----
  	  from2_tmp = from2_ptr;
  	  from1_ptr = from1_ptr->next;
! 	  indx1 = (from1_ptr) ? from1_ptr->indx : HIGHEST_INDEX;
  	  from2_ptr = from2_ptr->next;
! 	  indx2 = (from2_ptr) ? from2_ptr->indx : HIGHEST_INDEX;
  	}
        else if (indx1 < indx2)
*************** bitmap_operation (to, from1, from2, oper
*** 460,464 ****
  	  from2_tmp = &bitmap_zero;
  	  from1_ptr = from1_ptr->next;
! 	  indx1 = (from1_ptr) ? from1_ptr->indx : -1;
  	}
        else
--- 462,466 ----
  	  from2_tmp = &bitmap_zero;
  	  from1_ptr = from1_ptr->next;
! 	  indx1 = (from1_ptr) ? from1_ptr->indx : HIGHEST_INDEX;
  	}
        else
*************** bitmap_operation (to, from1, from2, oper
*** 468,472 ****
  	  from2_tmp = from2_ptr;
  	  from2_ptr = from2_ptr->next;
! 	  indx2 = (from2_ptr) ? from2_ptr->indx : -1;
  	}
  
--- 470,474 ----
  	  from2_tmp = from2_ptr;
  	  from2_ptr = from2_ptr->next;
! 	  indx2 = (from2_ptr) ? from2_ptr->indx : HIGHEST_INDEX;
  	}
*** cppinit.c	2000/02/15 16:36:32	1.41
--- cppinit.c	2000/02/19 00:46:37
*************** new_pending_define (opts, text)
*** 1059,1063 ****
      xmalloc (sizeof (struct pending_option));
  
!   o->arg = text;
    o->next = NULL;
    o->undef = 0;
--- 1059,1063 ----
      xmalloc (sizeof (struct pending_option));
  
!   o->arg = (char *) text;
    o->next = NULL;
    o->undef = 0;
*************** new_pending_define (opts, text)
*** 1068,1071 ****
--- 1068,1072 ----
     Can be called multiple times, to handle multiple sets of options.
     Returns number of strings consumed.  */
+ 
  int
  cpp_handle_option (pfile, argc, argv)
*** expmed.c	2000/02/10 22:05:38	1.49
--- expmed.c	2000/02/19 00:46:48
*************** extract_bit_field (str_rtx, bitsize, bit
*** 1258,1262 ****
  		  if (bestmode == VOIDmode
  		      || (SLOW_UNALIGNED_ACCESS (bestmode, align)
! 			  && GET_MODE_SIZE (bestmode) > align))
  		    goto extzv_loses;
  
--- 1258,1262 ----
  		  if (bestmode == VOIDmode
  		      || (SLOW_UNALIGNED_ACCESS (bestmode, align)
! 			  && GET_MODE_SIZE (bestmode) > (int) align))
  		    goto extzv_loses;
  
*** flow.c	2000/02/17 04:16:40	1.223
--- flow.c	2000/02/19 00:47:10
*************** static int reorder_index;
*** 7073,7079 ****
  static basic_block reorder_last_visited;
  
! #define REORDER_SKIP_BEFORE 0x1
! #define REORDER_SKIP_AFTER 0x2
! #define REORDER_SKIP_BLOCK_END 0x3
  
  /* Skip over insns BEFORE or AFTER BB which are typically associated with
--- 7073,7078 ----
  static basic_block reorder_last_visited;
  
! enum reorder_skip_type {REORDER_SKIP_BEFORE, REORDER_SKIP_AFTER,
! 			REORDER_SKIP_BLOCK_END};
  
  /* Skip over insns BEFORE or AFTER BB which are typically associated with
*************** static rtx
*** 7083,7087 ****
  skip_insns_between_block (bb, skip_type)
       basic_block bb;
!      int skip_type;
  {
    rtx insn, last_insn;
--- 7082,7086 ----
  skip_insns_between_block (bb, skip_type)
       basic_block bb;
!      enum reorder_skip_type skip_type;
  {
    rtx insn, last_insn;
*************** skip_insns_between_block (bb, skip_type)
*** 7091,7094 ****
--- 7090,7094 ----
        if (bb == ENTRY_BLOCK_PTR)
  	return 0;
+ 
        last_insn = bb->head;
        for (insn = PREV_INSN (bb->head);
*************** skip_insns_between_block (bb, skip_type)
*** 7098,7101 ****
--- 7098,7102 ----
  	  if (NEXT_INSN (insn) != last_insn)
  	    break;
+ 
  	  if (GET_CODE (insn) == NOTE
  	      && NOTE_LINE_NUMBER (insn) != NOTE_INSN_LOOP_END
*************** skip_insns_between_block (bb, skip_type)
*** 7107,7112 ****
  	}
      }
!   else if (skip_type == REORDER_SKIP_AFTER
! 	   || skip_type == REORDER_SKIP_BLOCK_END)
      {
        last_insn = bb->end;
--- 7108,7113 ----
  	}
      }
! 
!   else
      {
        last_insn = bb->end;
*************** skip_insns_between_block (bb, skip_type)
*** 7129,7132 ****
--- 7130,7134 ----
  		      || NOTE_LINE_NUMBER (insn) == NOTE_INSN_BLOCK_END)))
  	    continue;
+ 
  	  if (GET_CODE (insn) == CODE_LABEL
  	      && GET_CODE (NEXT_INSN (insn)) == JUMP_INSN
*************** skip_insns_between_block (bb, skip_type)
*** 7140,7171 ****
  	  break;
  	}
-     }
-   if (skip_type == REORDER_SKIP_BLOCK_END)
-     {
-       int found_block_end = 0;
  
!       for (; insn; last_insn = insn, insn = NEXT_INSN (insn))
  	{
! 	  if (bb->index + 1 != n_basic_blocks
! 	      && insn == BASIC_BLOCK (bb->index + 1)->head)
! 	    break;
  
! 	  if (NOTE_LINE_NUMBER (insn) == NOTE_INSN_BLOCK_END)
  	    {
! 	      found_block_end = 1;
! 	      continue;
  	    }
! 	  if (NOTE_LINE_NUMBER (insn) == NOTE_INSN_DELETED)
! 	    continue;
! 	  if (GET_CODE (insn) == NOTE
! 	      && NOTE_LINE_NUMBER (insn) >= 0
! 	      && NEXT_INSN (insn)
! 	      && NOTE_LINE_NUMBER (NEXT_INSN (insn)) == NOTE_INSN_BLOCK_END)
! 	    continue;
! 	  break;
  	}
-       if (! found_block_end)
- 	last_insn = 0;
      }
    return last_insn;
  }
--- 7142,7179 ----
  	  break;
  	}
  
!       if (skip_type == REORDER_SKIP_BLOCK_END)
  	{
! 	  int found_block_end = 0;
  
! 	  for (; insn; last_insn = insn, insn = NEXT_INSN (insn))
  	    {
! 	      if (bb->index + 1 != n_basic_blocks
! 		  && insn == BASIC_BLOCK (bb->index + 1)->head)
! 		break;
! 
! 	      if (NOTE_LINE_NUMBER (insn) == NOTE_INSN_BLOCK_END)
! 		{
! 		  found_block_end = 1;
! 		  continue;
! 		}
! 
! 	      if (NOTE_LINE_NUMBER (insn) == NOTE_INSN_DELETED)
! 		continue;
! 
! 	      if (GET_CODE (insn) == NOTE
! 		  && NOTE_LINE_NUMBER (insn) >= 0
! 		  && NEXT_INSN (insn)
! 		  && (NOTE_LINE_NUMBER (NEXT_INSN (insn))
! 		      == NOTE_INSN_BLOCK_END))
! 		continue;
! 	      break;
  	    }
! 
! 	  if (! found_block_end)
! 	    last_insn = 0;
  	}
      }
+ 
    return last_insn;
  }
*** function.c	2000/02/17 20:15:50	1.163
--- function.c	2000/02/19 00:47:23
*************** assign_parms (fndecl)
*** 4349,4353 ****
  	 We'll make another stack slot, if we need one.  */
        {
! 	int thisparm_boundary
  	  = FUNCTION_ARG_BOUNDARY (promoted_mode, passed_type);
  
--- 4349,4353 ----
  	 We'll make another stack slot, if we need one.  */
        {
! 	unsigned int thisparm_boundary
  	  = FUNCTION_ARG_BOUNDARY (promoted_mode, passed_type);
  
*** genrecog.c	2000/01/17 15:17:38	1.74
--- genrecog.c	2000/02/19 00:47:28
*************** write_switch (start, depth)
*** 1786,1802 ****
  	{
  	case DT_mode:
! 	  printf("GET_MODE (x%d)", depth);
  	  break;
  	case DT_veclen:
! 	  printf("XVECLEN (x%d, 0)", depth);
  	  break;
  	case DT_elt_zero_int:
! 	  printf("XINT (x%d, 0)", depth);
  	  break;
  	case DT_elt_one_int:
! 	  printf("XINT (x%d, 1)", depth);
  	  break;
  	case DT_elt_zero_wide:
! 	  printf("XWINT (x%d, 0)", depth);
  	  break;
  	default:
--- 1786,1804 ----
  	{
  	case DT_mode:
! 	  printf ("GET_MODE (x%d)", depth);
  	  break;
  	case DT_veclen:
! 	  printf ("XVECLEN (x%d, 0)", depth);
  	  break;
  	case DT_elt_zero_int:
! 	  printf ("XINT (x%d, 0)", depth);
  	  break;
  	case DT_elt_one_int:
! 	  printf ("XINT (x%d, 1)", depth);
  	  break;
  	case DT_elt_zero_wide:
! 	  /* Convert result of XWINT to int for portability since some C
! 	     compilers won't do it and some will.  */
! 	  printf ("(int) XWINT (x%d, 0)", depth);
  	  break;
  	default:
*** lcm.c	2000/02/15 22:34:32	1.12
--- lcm.c	2000/02/19 00:47:31
*************** struct bb_info
*** 843,846 ****
--- 843,847 ----
  /* These bitmaps are used for the LCM algorithm.  */
  
+ #ifdef OPTIMIZE_MODE_SWITCHING
  static sbitmap *antic;
  static sbitmap *transp;
*************** static sbitmap *insert;
*** 851,860 ****
  static struct seginfo * new_seginfo PARAMS ((int, rtx, int, HARD_REG_SET));;
  static void add_seginfo PARAMS ((struct bb_info *, struct seginfo *));
- static void make_preds_opaque PARAMS ((basic_block, int));
  static void reg_dies PARAMS ((rtx, HARD_REG_SET));
  static void reg_becomes_live PARAMS ((rtx, rtx, void *));
  
  /* This function will allocate a new BBINFO structure, initialized
     with the FP_MODE, INSN, and basic block BB parameters.  */
  static struct seginfo *
  new_seginfo (mode, insn, bb, regs_live)
--- 852,865 ----
  static struct seginfo * new_seginfo PARAMS ((int, rtx, int, HARD_REG_SET));;
  static void add_seginfo PARAMS ((struct bb_info *, struct seginfo *));
  static void reg_dies PARAMS ((rtx, HARD_REG_SET));
  static void reg_becomes_live PARAMS ((rtx, rtx, void *));
+ static void make_preds_opaque PARAMS ((basic_block, int));
+ #endif
+ 
+ #ifdef OPTIMIZE_MODE_SWITCHING
  
  /* This function will allocate a new BBINFO structure, initialized
     with the FP_MODE, INSN, and basic block BB parameters.  */
+ 
  static struct seginfo *
  new_seginfo (mode, insn, bb, regs_live)
*************** new_seginfo (mode, insn, bb, regs_live)
*** 877,880 ****
--- 882,886 ----
     HEAD is a pointer to the list beginning.
     INFO is the structure to be linked in.  */
+ 
  static void
  add_seginfo (head, info)
*************** add_seginfo (head, info)
*** 900,903 ****
--- 906,910 ----
     J is the bit number in the bitmaps that corresponds to the entity that
     we are currently handling mode-switching for.  */
+ 
  static void
  make_preds_opaque (b, j)
*************** make_preds_opaque (b, j)
*** 918,921 ****
--- 925,929 ----
  
  /* Record in LIVE that register REG died.  */
+ 
  static void
  reg_dies (reg, live)
*************** reg_dies (reg, live)
*** 939,942 ****
--- 947,951 ----
  /* Record in LIVE that register REG became live.
     This is called via note_stores.  */
+ 
  static void
  reg_becomes_live (reg, setter, live)
*************** reg_becomes_live (reg, setter, live)
*** 962,965 ****
--- 971,975 ----
      }
  }
+ #endif
  
  /* Find all insns that need a particular mode
*** mips-tfile.c	2000/02/15 16:36:32	1.30
--- mips-tfile.c	2000/02/19 00:47:36
*************** static efdr_t init_file = 
*** 1079,1083 ****
--- 1079,1114 ----
  {
    {			/* FDR structure */
+ #ifdef __alpha
      0,			/* adr:		memory address of beginning of file */
+     0,			/* cbLineOffset: byte offset from header for this file ln's */
+     0,			/* cbLine:	size of lines for this file */
+     0,			/* cbSs:	number of bytes in the ss */
+     0,			/* rss:		file name (of source, if known) */
+     0,			/* issBase:	file's string space */
+     0,			/* isymBase:	beginning of symbols */
+     0,			/* csym:	count file's of symbols */
+     0,			/* ilineBase:	file's line symbols */
+     0,			/* cline:	count of file's line symbols */
+     0,			/* ioptBase:	file's optimization entries */
+     0,			/* copt:	count of file's optimization entries */
+     0,			/* ipdFirst:	start of procedures for this file */
+     0,			/* cpd:		count of procedures for this file */
+     0,			/* iauxBase:	file's auxiliary entries */
+     0,			/* caux:	count of file's auxiliary entries */
+     0,			/* rfdBase:	index into the file indirect table */
+     0,			/* crfd:	count file indirect entries */
+     langC,		/* lang:	language for this file */
+     1,			/* fMerge:	whether this file can be merged */
+     0,			/* fReadin:	true if read in (not just created) */
+ #ifdef HOST_WORDS_BIG_ENDIAN
+     1,			/* fBigendian:	if 1, compiled on big endian machine */
+ #else
+     0,			/* fBigendian:	if 1, compiled on big endian machine */
+ #endif
+     0,			/* fTrim:	whether the symbol table was trimmed */
+     GLEVEL_2,		/* glevel:	level this file was compiled with */
+     0,			/* reserved:	reserved for future use */
+ #else
+     0,			/* adr:		memory address of beginning of file */
      0,			/* rss:		file name (of source, if known) */
      0,			/* issBase:	file's string space */
*************** static efdr_t init_file = 
*** 1107,1110 ****
--- 1138,1142 ----
      0,			/* cbLineOffset: byte offset from header for this file ln's */
      0,			/* cbLine:	size of lines for this file */
+ #endif
    },
  
*************** get_tag (tag_start, tag_end_p1, indx, ba
*** 2328,2332 ****
    tag_ptr->basic_type	= basic_type;
    tag_ptr->indx		= indx;
!   tag_ptr->ifd		= (indx == indexNil) ? -1 : cur_file_ptr->file_index;
    tag_ptr->same_block	= cur_tag_head->first_tag;
  
--- 2360,2365 ----
    tag_ptr->basic_type	= basic_type;
    tag_ptr->indx		= indx;
!   tag_ptr->ifd		= (indx == indexNil
! 			   ? (symint_t) -1 : cur_file_ptr->file_index);
    tag_ptr->same_block	= cur_tag_head->first_tag;
  
*************** copy_object __proto((void))
*** 4622,4627 ****
  			     (sc_t) eptr->asym.sc,
  			     eptr->asym.value,
! 			     (symint_t) ((eptr->asym.index == indexNil) ? indexNil : 0),
! 			     ((long) ifd < orig_sym_hdr.ifdMax) ? remap_file_number[ ifd ] : ifd);
      }
  
--- 4655,4662 ----
  			     (sc_t) eptr->asym.sc,
  			     eptr->asym.value,
! 			     (eptr->asym.index == indexNil
! 			      ? (symint_t) indexNil : 0),
! 			     ((long) ifd < orig_sym_hdr.ifdMax
! 			      ? remap_file_number[ifd] : (int) ifd));
      }
  
*************** copy_object __proto((void))
*** 4775,4780 ****
         remaining -= num_write)
      {
!       num_write =
! 	(remaining <= (int) sizeof (buffer)) ? remaining : sizeof (buffer);
        sys_read = fread ((PTR_T) buffer, 1, num_write, obj_in_stream);
        if (sys_read <= 0)
--- 4810,4816 ----
         remaining -= num_write)
      {
!       num_write
! 	= (remaining <= (int) sizeof (buffer))
! 	  ? remaining : (int) sizeof (buffer);
        sys_read = fread ((PTR_T) buffer, 1, num_write, obj_in_stream);
        if (sys_read <= 0)
*** optabs.c	2000/02/11 19:35:57	1.61
--- optabs.c	2000/02/19 00:47:40
*************** init_one_libfunc (name)
*** 4431,4435 ****
    if (ggc_p)
      name = ggc_alloc_string (name, -1);
!   return gen_rtx_SYMBOL_REF (Pmode, name);
  }
  
--- 4431,4436 ----
    if (ggc_p)
      name = ggc_alloc_string (name, -1);
! 
!   return gen_rtx_SYMBOL_REF (Pmode, (char *) name);
  }
  
*** reload.c	2000/01/17 15:47:28	1.99
--- reload.c	2000/02/19 00:47:46
*************** find_reloads (insn, replace, ind_levels,
*** 4038,4042 ****
  	for (i = 0; i < n_reloads; i++)
  	  {
! 	    int first_num, type;
  
  	    switch (rld[i].when_needed)
--- 4038,4043 ----
  	for (i = 0; i < n_reloads; i++)
  	  {
! 	    int first_num;
! 	    enum reload_type type;
  
  	    switch (rld[i].when_needed)
*** reload1.c	2000/02/09 13:38:09	1.198
--- reload1.c	2000/02/19 00:47:54
*************** mark_not_eliminable (dest, x, data)
*** 3174,3177 ****
--- 3174,3178 ----
     where something illegal happened during reload_as_needed that could
     cause incorrect code to be generated if we did not check for it.  */
+ 
  static void
  verify_initial_elim_offsets ()
*** sbitmap.c	2000/01/29 01:41:22	1.8
--- sbitmap.c	2000/02/19 00:47:54
*************** dump_sbitmap (file, bmap)
*** 541,545 ****
       sbitmap bmap;
  {
!   int i,j,n;
    int set_size = bmap->size;
    int total_bits = bmap->n_bits;
--- 541,546 ----
       sbitmap bmap;
  {
!   int i, n;
!   unsigned int j;
    int set_size = bmap->size;
    int total_bits = bmap->n_bits;
*************** dump_sbitmap (file, bmap)
*** 552,556 ****
  	  if (n != 0 && n % 10 == 0)
  	    fprintf (file, " ");
! 	  fprintf (file, "%d", (bmap->elms[i] & (1L << j)) != 0);
  	}
      }
--- 553,558 ----
  	  if (n != 0 && n % 10 == 0)
  	    fprintf (file, " ");
! 	  fprintf (file, "%d",
! 		   (bmap->elms[i] & ((SBITMAP_ELT_TYPE) 1 << j)) != 0);
  	}
      }
*** unroll.c	2000/02/10 16:45:23	1.92
--- unroll.c	2000/02/19 00:48:05
*************** unroll_loop (loop, insn_count, end_inser
*** 235,239 ****
    int i, j;
    unsigned HOST_WIDE_INT temp;
!   int unroll_number;
    rtx copy_start, copy_end;
    rtx insn, sequence, pattern, tem;
--- 235,239 ----
    int i, j;
    unsigned HOST_WIDE_INT temp;
!   int unroll_number = 1;
    rtx copy_start, copy_end;
    rtx insn, sequence, pattern, tem;
*** varasm.c	2000/02/10 22:05:40	1.97
--- varasm.c	2000/02/19 00:48:08
*************** compare_constant_1 (exp, p)
*** 2540,2544 ****
  	return 0;
  
!       if (*p++ != TYPE_MODE (TREE_TYPE (exp)))
  	return 0;
  
--- 2540,2544 ----
  	return 0;
  
!       if ((enum machine_mode) *p++ != TYPE_MODE (TREE_TYPE (exp)))
  	return 0;
  
*** config/alpha/alpha.c	2000/02/15 16:36:34	1.116
--- config/alpha/alpha.c	2000/02/19 00:48:13
*************** alpha_emit_xfloating_libcall (func, targ
*** 1998,2002 ****
      }
  
!   tmp = gen_rtx_MEM (QImode, gen_rtx_SYMBOL_REF (Pmode, func));
    tmp = emit_call_insn (gen_call_value (reg, tmp, const0_rtx,
  					const0_rtx, const0_rtx));
--- 1998,2002 ----
      }
  
!   tmp = gen_rtx_MEM (QImode, gen_rtx_SYMBOL_REF (Pmode, (char *) func));
    tmp = emit_call_insn (gen_call_value (reg, tmp, const0_rtx,
  					const0_rtx, const0_rtx));
*************** alpha_expand_unaligned_load (tgt, mem, s
*** 2200,2204 ****
        emit_move_insn (addr, plus_constant (XEXP (mem, 0), ofs));
        emit_insn (gen_extxl (extl, meml, GEN_INT (size*8), addr));
!       switch (size)
  	{
  	case 2:
--- 2200,2204 ----
        emit_move_insn (addr, plus_constant (XEXP (mem, 0), ofs));
        emit_insn (gen_extxl (extl, meml, GEN_INT (size*8), addr));
!       switch ((int) size)
  	{
  	case 2:
*************** alpha_expand_unaligned_store (dst, src, 
*** 2263,2267 ****
  			    GEN_INT (size*8), addr));
  
!       switch (size)
  	{
  	case 2:
--- 2263,2267 ----
  			    GEN_INT (size*8), addr));
  
!       switch ((int) size)
  	{
  	case 2:
*************** alpha_expand_unaligned_store (dst, src, 
*** 2279,2283 ****
    emit_insn (gen_mskxh (dsth, dsth, GEN_INT (size*8), addr));
  
!   switch (size)
      {
      case 2:
--- 2279,2283 ----
    emit_insn (gen_mskxh (dsth, dsth, GEN_INT (size*8), addr));
  
!   switch ((int) size)
      {
      case 2:
*************** alpha_expand_epilogue ()
*** 4580,4583 ****
--- 4580,4585 ----
    fp_is_frame_pointer = ((TARGET_OPEN_VMS && vms_is_stack_procedure)
  			 || (!TARGET_OPEN_VMS && frame_pointer_needed));
+   fp_offset = 0;
+   sa_reg = stack_pointer_rtx;
  
    eh_ofs = cfun->machine->eh_epilogue_sp_ofs;
*************** alpha_expand_epilogue ()
*** 4593,4597 ****
  
        /* Cope with very large offsets to the register save area.  */
-       sa_reg = stack_pointer_rtx;
        if (reg_offset + sa_size > 0x8000)
  	{
--- 4595,4598 ----
*** config/alpha/alpha.h	2000/01/30 20:27:57	1.89
--- config/alpha/alpha.h	2000/02/19 00:48:16
*************** extern int alpha_memory_latency;
*** 966,969 ****
--- 966,971 ----
  			       + current_function_pretend_args_size)	\
  		   - current_function_pretend_args_size));		\
+   else									\
+     abort ();								\
  }

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]