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]
Other format: [Raw text]

Re: [RFC] Fixes to bootstrap from a C++ compiler (part 1)


On Friday 25 June 2004 06:27, Daniel Jacobowitz wrote:
>
> Personally, I think it's a good idea - but you've got some whitspace
> issues in this patch.
> 
>>+  struct md_constant *def = (struct md_constant *)*slot;
> 
> 
> I believe convention calls for a space after the closing paren.

Oops, I had misread the standard.  Fixed.


>>-  for (typestart = yytext + strlen (" typedef "); 
>>+  for (typestart = yytext + strlen (" typedef ");
> 
> 
> It looks like you're pruning trailing whitespace; please do that
> separately.

I do this out of habit, without even noticing.  Fixed.


> I think your mailer also mangled indentation in a couple
> of places.

?&@#*!  Sometimes I do hate Mozilla.  Is there a way to teach
it not to randomly reflow lines?

Here's the patch again, this time with KMail, which has the
only side effect of eating ^L characters.


2004-06-25  Bernardo Innocenti  <bernie@develer.com>

	* genconstants.c: C++ syntax fixes.
	* gengtype-lex.l: Likewise.
	* gengtype-yacc.y: Likewise.
	* gengtype.c: Likewise.
	* gengtype.h: Likewise.
	* genmodes.c: Likewise.
	* read-rtl.c: Likewise.
	* real.c: Likewise.
	* real.h: Likewise.
	* rtl.c: Likewise.
	* rtl.h: Likewise.
	* rtlanal.c: Likewise.


Index: gcc/genconstants.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/genconstants.c,v
retrieving revision 1.6
diff -u -p -u -p -r1.6 genconstants.c
--- gcc/genconstants.c	1 Jun 2003 15:59:08 -0000	1.6
+++ gcc/genconstants.c	25 Jun 2004 03:22:54 -0000
@@ -42,8 +42,8 @@ static int print_md_constant (void **, v
 static int
 print_md_constant (void **slot, void *info)
 {
-  struct md_constant *def = *slot;
-  FILE *file = info;
+  struct md_constant *def = (struct md_constant *) *slot;
+  FILE *file = (FILE *) info;
 
   fprintf (file, "#define %s %s\n", def->name, def->value);
   return 1;
Index: gcc/gengtype-lex.l
===================================================================
RCS file: /cvs/gcc/gcc/gcc/gengtype-lex.l,v
retrieving revision 1.21
diff -u -p -u -p -r1.21 gengtype-lex.l
--- gcc/gengtype-lex.l	31 May 2004 19:49:50 -0000	1.21
+++ gcc/gengtype-lex.l	25 Jun 2004 03:22:54 -0000
@@ -80,10 +80,12 @@ ITYPE	{IWORD}({WS}{IWORD})*
       is_pointer = 1;
   for (namelen = 1; ISIDNUM (namestart[namelen]); namelen++)
     ;
-  t = find_structure (xmemdup (tagstart, taglen, taglen+1), union_p);
+  t = find_structure ((const char *) xmemdup (tagstart, taglen, taglen+1),
+		      union_p);
   if (is_pointer)
     t = create_pointer (t);
-  do_typedef (xmemdup (namestart, namelen, namelen+1), t, &lexer_line);
+  do_typedef ((const char *) xmemdup (namestart, namelen, namelen+1), t,
+	      &lexer_line);
   update_lineno (yytext, yyleng);
 }
 
@@ -104,13 +104,14 @@ ITYPE	{IWORD}({WS}{IWORD})*
        ISSPACE(*typestart);
        typestart++)
     ;
-  for (typelen = namestart - typestart; 
-       ISSPACE(typestart[typelen-1]); 
+  for (typelen = namestart - typestart;
+       ISSPACE(typestart[typelen-1]);
        typelen--)
     ;
 
   t = create_scalar_type (typestart, typelen);
-  do_typedef (xmemdup (namestart, namelen, namelen+1), t, &lexer_line);
+  do_typedef ((const char *) xmemdup (namestart, namelen, namelen+1), t,
+	      &lexer_line);
   update_lineno (yytext, yyleng);
 }
 
@@ -126,7 +127,8 @@ ITYPE	{IWORD}({WS}{IWORD})*
   namestart -= namelen - 1;
 
   t = create_scalar_type ("function type", sizeof ("function type")-1);
-  do_typedef (xmemdup (namestart, namelen, namelen+1), t, &lexer_line);
+  do_typedef ((const char *) xmemdup (namestart, namelen, namelen+1), t,
+	      &lexer_line);
   update_lineno (yytext, yyleng);
 }
 
@@ -142,7 +144,8 @@ ITYPE	{IWORD}({WS}{IWORD})*
   namestart -= namelen - 1;
 
   t = create_scalar_type ("function type", sizeof ("function type")-1);
-  do_typedef (xmemdup (namestart, namelen, namelen+1), t, &lexer_line);
+  do_typedef ((const char *) xmemdup (namestart, namelen, namelen+1), t,
+	      &lexer_line);
   update_lineno (yytext, yyleng);
 }
 
@@ -158,7 +161,8 @@ ITYPE	{IWORD}({WS}{IWORD})*
   namestart -= namelen - 1;
 
   t = create_scalar_type ("function type", sizeof ("function type")-1);
-  do_typedef (xmemdup (namestart, namelen, namelen+1), t, &lexer_line);
+  do_typedef ((const char *) xmemdup (namestart, namelen, namelen+1), t,
+	      &lexer_line);
   update_lineno (yytext, yyleng);
 }
 
@@ -174,7 +178,8 @@ ITYPE	{IWORD}({WS}{IWORD})*
   namestart -= namelen - 1;
 
   t = create_scalar_type ("function type", sizeof ("function type")-1);
-  do_typedef (xmemdup (namestart, namelen, namelen+1), t, &lexer_line);
+  do_typedef ((const char *) xmemdup (namestart, namelen, namelen+1), t,
+	      &lexer_line);
   update_lineno (yytext, yyleng);
 }
 
@@ -200,7 +205,9 @@ ITYPE	{IWORD}({WS}{IWORD})*
   for (taglen = 1; ISIDNUM (tagstart[taglen]); taglen++)
     ;
 
-  yylval.t = find_structure (xmemdup (tagstart, taglen, taglen + 1), union_p);
+  yylval.t = find_structure ((const char *) xmemdup (tagstart, taglen,
+						     taglen + 1),
+			     union_p);
   BEGIN(in_struct);
   update_lineno (yytext, yyleng);
   return typedef_p ? ENT_TYPEDEF_STRUCT : ENT_STRUCT;
@@ -237,8 +244,8 @@ ITYPE	{IWORD}({WS}{IWORD})*
 "ptr_alias"/[^[:alnum:]_]	{ return ALIAS; }
 "nested_ptr"/[^[:alnum:]_]	{ return NESTED_PTR; }
 [0-9]+				{ return NUM; }
-"param"[0-9]*"_is"/[^[:alnum:]_]		{ 
-  yylval.s = xmemdup (yytext, yyleng, yyleng+1);
+"param"[0-9]*"_is"/[^[:alnum:]_]		{
+  yylval.s = (const char *) xmemdup (yytext, yyleng, yyleng+1);
   return PARAM_IS;
 }
 
@@ -255,24 +262,24 @@ ITYPE	{IWORD}({WS}{IWORD})*
 }
 
 {ID}/[^[:alnum:]_]		{
-  yylval.s = xmemdup (yytext, yyleng, yyleng+1);
+  yylval.s = (const char *) xmemdup (yytext, yyleng, yyleng+1);
   return ID;
 }
 
 \"([^"\\]|\\.)*\"		{
-  yylval.s = xmemdup (yytext+1, yyleng-2, yyleng-1);
+  yylval.s = (const char *) xmemdup (yytext+1, yyleng-2, yyleng-1);
   return STRING;
 }
 "["[^\[\]]*"]"			{
-  yylval.s = xmemdup (yytext+1, yyleng-2, yyleng-1);
+  yylval.s = (const char *) xmemdup (yytext+1, yyleng-2, yyleng-1);
   return ARRAY;
 }
 ^"%"{ID}			{
-  yylval.s = xmemdup (yytext+1, yyleng-1, yyleng);
+  yylval.s = (const char *) xmemdup (yytext+1, yyleng-1, yyleng);
   return PERCENT_ID;
 }
 "'"("\\".|[^\\])"'"		{
-  yylval.s = xmemdup (yytext+1, yyleng-2, yyleng);
+  yylval.s = (const char *) xmemdup (yytext+1, yyleng-2, yyleng);
   return CHAR;
 }
 
Index: gcc/gengtype-yacc.y
===================================================================
RCS file: /cvs/gcc/gcc/gcc/gengtype-yacc.y,v
retrieving revision 1.14
diff -u -p -u -p -r1.14 gengtype-yacc.y
--- gcc/gengtype-yacc.y	23 Jun 2004 09:08:21 -0000	1.14
+++ gcc/gengtype-yacc.y	25 Jun 2004 03:22:56 -0000
@@ -160,10 +160,10 @@ yacc_ids: /* empty */
 	{ $$ = NULL; }
      | yacc_ids ID
         {
-	  pair_p p = xcalloc (1, sizeof (*p));
+	  pair_p p = (pair_p) xcalloc (1, sizeof (*p));
 	  p->next = $1;
 	  p->line = lexer_line;
-	  p->opt = xmalloc (sizeof (*(p->opt)));
+	  p->opt = (options_p) xmalloc (sizeof (*(p->opt)));
 	  p->opt->name = "tag";
 	  p->opt->next = NULL;
 	  p->opt->info = (char *)$2;
@@ -171,10 +171,10 @@ yacc_ids: /* empty */
 	}
      | yacc_ids CHAR
         {
-	  pair_p p = xcalloc (1, sizeof (*p));
+	  pair_p p = (pair_p) xcalloc (1, sizeof (*p));
 	  p->next = $1;
 	  p->line = lexer_line;
-	  p->opt = xmalloc (sizeof (*(p->opt)));
+	  p->opt = (options_p) xmalloc (sizeof (*(p->opt)));
 	  p->opt->name = "tag";
 	  p->opt->next = NULL;
 	  p->opt->info = xasprintf ("'%s'", $2);
@@ -185,7 +185,7 @@ yacc_ids: /* empty */
 struct_fields: { $$ = NULL; }
 	       | type optionsopt ID bitfieldopt ';' struct_fields
 	          {
-	            pair_p p = xmalloc (sizeof (*p));
+	            pair_p p = (pair_p) xmalloc (sizeof (*p));
 		    p->type = adjust_field_type ($1, $2);
 		    p->opt = $2;
 		    p->name = $3;
@@ -195,7 +195,7 @@ struct_fields: { $$ = NULL; }
 		  }
 	       | type optionsopt ID ARRAY ';' struct_fields
 	          {
-	            pair_p p = xmalloc (sizeof (*p));
+	            pair_p p = (pair_p) xmalloc (sizeof (*p));
 		    p->type = adjust_field_type (create_array ($1, $4), $2);
 		    p->opt = $2;
 		    p->name = $3;
@@ -205,7 +205,7 @@ struct_fields: { $$ = NULL; }
 		  }
 	       | type optionsopt ID ARRAY ARRAY ';' struct_fields
 	          {
-	            pair_p p = xmalloc (sizeof (*p));
+	            pair_p p = (pair_p) xmalloc (sizeof (*p));
 		    p->type = create_array (create_array ($1, $5), $4);
 		    p->opt = $2;
 		    p->name = $3;
@@ -314,7 +314,7 @@ stringseq: STRING
 	     {
 	       size_t l1 = strlen ($1);
 	       size_t l2 = strlen ($2);
-	       char *s = xrealloc ((char *)$1, l1 + l2 + 1);
+	       char *s = (char *) xrealloc ((char *)$1, l1 + l2 + 1);
 	       memcpy (s + l1, $2, l2 + 1);
 	       free ((void *)$2);
 	       $$ = s;
Index: gcc/gengtype.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/gengtype.c,v
retrieving revision 1.51
diff -u -p -u -p -r1.51 gengtype.c
--- gcc/gengtype.c	9 Jun 2004 20:10:09 -0000	1.51
+++ gcc/gengtype.c	25 Jun 2004 03:22:58 -0000
@@ -117,7 +117,7 @@ do_typedef (const char *s, type_p t, str
 	return;
       }
 
-  p = xmalloc (sizeof (struct pair));
+  p = (pair_p) xmalloc (sizeof (struct pair));
   p->next = typedefs;
   p->name = s;
   p->type = t;
@@ -173,7 +173,7 @@ new_structure (const char *name, int isu
 	else if (si->u.s.line.file != NULL && si->u.s.bitmap != bitmap)
 	  {
 	    ls = si;
-	    si = xcalloc (1, sizeof (struct type));
+	    si = (type_p) xcalloc (1, sizeof (struct type));
 	    memcpy (si, ls, sizeof (struct type));
 	    ls->kind = TYPE_LANG_STRUCT;
 	    ls->u.s.lang_struct = si;
@@ -187,7 +187,7 @@ new_structure (const char *name, int isu
 
 	if (ls != NULL && s == NULL)
 	  {
-	    s = xcalloc (1, sizeof (struct type));
+	    s = (type_p) xcalloc (1, sizeof (struct type));
 	    s->next = ls->u.s.lang_struct;
 	    ls->u.s.lang_struct = s;
 	    s->u.s.lang_struct = ls;
@@ -197,7 +197,7 @@ new_structure (const char *name, int isu
 
   if (s == NULL)
     {
-      s = xcalloc (1, sizeof (struct type));
+      s = (type_p) xcalloc (1, sizeof (struct type));
       s->next = structures;
       structures = s;
     }
@@ -233,7 +233,7 @@ find_structure (const char *name, int is
 	&& UNION_P (s) == isunion)
       return s;
 
-  s = xcalloc (1, sizeof (struct type));
+  s = (type_p) xcalloc (1, sizeof (struct type));
   s->next = structures;
   structures = s;
   s->kind = isunion ? TYPE_UNION : TYPE_STRUCT;
@@ -258,7 +258,7 @@ find_param_structure (type_p t, type_p p
       break;
   if (res == NULL)
     {
-      res = xcalloc (1, sizeof (*res));
+      res = (type_p) xcalloc (1, sizeof (*res));
       res->kind = TYPE_PARAM_STRUCT;
       res->next = param_structs;
       param_structs = res;
@@ -273,9 +273,9 @@ find_param_structure (type_p t, type_p p
 type_p
 create_scalar_type (const char *name, size_t name_len)
 {
-  type_p r = xcalloc (1, sizeof (struct type));
+  type_p r = (type_p) xcalloc (1, sizeof (struct type));
   r->kind = TYPE_SCALAR;
-  r->u.sc = xmemdup (name, name_len, name_len + 1);
+  r->u.sc = (char *) xmemdup (name, name_len, name_len + 1);
   return r;
 }
 
@@ -286,7 +286,7 @@ create_pointer (type_p t)
 {
   if (! t->pointer_to)
     {
-      type_p r = xcalloc (1, sizeof (struct type));
+      type_p r = (type_p) xcalloc (1, sizeof (struct type));
       r->kind = TYPE_POINTER;
       r->u.p = t;
       t->pointer_to = r;
@@ -301,7 +301,7 @@ create_array (type_p t, const char *len)
 {
   type_p v;
 
-  v = xcalloc (1, sizeof (*v));
+  v = (type_p) xcalloc (1, sizeof (*v));
   v->kind = TYPE_ARRAY;
   v->u.a.p = t;
   v->u.a.len = len;
@@ -312,7 +312,7 @@ create_array (type_p t, const char *len)
 options_p
 create_option (const char *name, void *info)
 {
-  options_p o = xmalloc (sizeof (*o));
+  options_p o = (options_p) xmalloc (sizeof (*o));
   o->name = name;
   o->info = info;
   return o;
@@ -325,7 +325,7 @@ void
 note_variable (const char *s, type_p t, options_p o, struct fileloc *pos)
 {
   pair_p n;
-  n = xmalloc (sizeof (*n));
+  n = (pair_p) xmalloc (sizeof (*n));
   n->name = s;
   n->type = t;
   n->line = *pos;
@@ -412,7 +412,7 @@ adjust_field_rtx_def (type_p t, options_
       return &string_type;
     }
 
-  nodot = xmalloc (sizeof (*nodot));
+  nodot = (options_p) xmalloc (sizeof (*nodot));
   nodot->next = NULL;
   nodot->name = "dot";
   nodot->info = "";
@@ -434,10 +434,10 @@ adjust_field_rtx_def (type_p t, options_
       {
 	pair_p old_note_flds = note_flds;
 
-	note_flds = xmalloc (sizeof (*note_flds));
+	note_flds = (pair_p) xmalloc (sizeof (*note_flds));
 	note_flds->line.file = __FILE__;
 	note_flds->line.line = __LINE__;
-	note_flds->opt = xmalloc (sizeof (*note_flds->opt));
+	note_flds->opt = (options_p) xmalloc (sizeof (*note_flds->opt));
 	note_flds->opt->next = nodot;
 	note_flds->opt->name = "tag";
 	note_flds->opt->info = xasprintf ("%d", c);
@@ -461,7 +461,7 @@ adjust_field_rtx_def (type_p t, options_
 
 	  case NOTE_INSN_EXPECTED_VALUE:
 	  case NOTE_INSN_VAR_LOCATION:
-	    note_flds->name = "rtx";
+	    note_flds->name = "rtrtx";
 	    note_flds->type = rtx_tp;
 	    break;
 
@@ -504,14 +504,14 @@ adjust_field_rtx_def (type_p t, options_
 	      if (i == MEM && aindex == 1)
 		t = mem_attrs_tp, subname = "rtmem";
 	      else if (i == JUMP_INSN && aindex == 9)
-		t = rtx_tp, subname = "rtx";
+		t = rtx_tp, subname = "rtrtx";
 	      else if (i == CODE_LABEL && aindex == 4)
 		t = scalar_tp, subname = "rtint";
 	      else if (i == CODE_LABEL && aindex == 5)
-		t = rtx_tp, subname = "rtx";
+		t = rtx_tp, subname = "rtrtx";
 	      else if (i == LABEL_REF
 		       && (aindex == 1 || aindex == 2))
-		t = rtx_tp, subname = "rtx";
+		t = rtx_tp, subname = "rtrtx";
 	      else if (i == NOTE && aindex == 4)
 		t = note_union_tp, subname = "";
 	      else if (i == NOTE && aindex >= 7)
@@ -552,13 +552,13 @@ adjust_field_rtx_def (type_p t, options_
 	    case 'e':
 	    case 'u':
 	      t = rtx_tp;
-	      subname = "rtx";
+	      subname = "rtrtx";
 	      break;
 
 	    case 'E':
 	    case 'V':
 	      t = rtvec_tp;
-	      subname = "rtvec";
+	      subname = "rtrtvec";
 	      break;
 
 	    case 't':
@@ -586,7 +586,7 @@ adjust_field_rtx_def (type_p t, options_
 	      break;
 	    }
 
-	  subfields = xmalloc (sizeof (*subfields));
+	  subfields = (pair_p) xmalloc (sizeof (*subfields));
 	  subfields->next = old_subf;
 	  subfields->type = t;
 	  subfields->name = xasprintf (".fld[%lu].%s", (unsigned long)aindex,
@@ -595,7 +595,7 @@ adjust_field_rtx_def (type_p t, options_
 	  subfields->line.line = __LINE__;
 	  if (t == note_union_tp)
 	    {
-	      subfields->opt = xmalloc (sizeof (*subfields->opt));
+	      subfields->opt = (options_p) xmalloc (sizeof (*subfields->opt));
 	      subfields->opt->next = nodot;
 	      subfields->opt->name = "desc";
 	      subfields->opt->info = "NOTE_LINE_NUMBER (&%0)";
@@ -603,7 +603,7 @@ adjust_field_rtx_def (type_p t, options_
 	  else if (t == basic_block_tp)
 	    {
 	      /* We don't presently GC basic block structures...  */
-	      subfields->opt = xmalloc (sizeof (*subfields->opt));
+	      subfields->opt = (options_p) xmalloc (sizeof (*subfields->opt));
 	      subfields->opt->next = nodot;
 	      subfields->opt->name = "skip";
 	      subfields->opt->info = NULL;
@@ -612,7 +612,7 @@ adjust_field_rtx_def (type_p t, options_
 	    subfields->opt = nodot;
 	}
 
-      flds = xmalloc (sizeof (*flds));
+      flds = (pair_p) xmalloc (sizeof (*flds));
       flds->next = old_flds;
       flds->name = "";
       sname = xasprintf ("rtx_def_%s", rtx_name[i]);
@@ -620,7 +620,7 @@ adjust_field_rtx_def (type_p t, options_
       flds->type = find_structure (sname, 0);
       flds->line.file = __FILE__;
       flds->line.line = __LINE__;
-      flds->opt = xmalloc (sizeof (*flds->opt));
+      flds->opt = (options_p) xmalloc (sizeof (*flds->opt));
       flds->opt->next = nodot;
       flds->opt->name = "tag";
       ftag = xstrdup (rtx_name[i]);
@@ -663,24 +663,24 @@ adjust_field_tree_exp (type_p t, options
       return &string_type;
     }
 
-  nodot = xmalloc (sizeof (*nodot));
+  nodot = (options_p) xmalloc (sizeof (*nodot));
   nodot->next = NULL;
   nodot->name = "dot";
   nodot->info = "";
 
-  flds = xmalloc (sizeof (*flds));
+  flds = (pair_p) xmalloc (sizeof (*flds));
   flds->next = NULL;
   flds->name = "";
   flds->type = t;
   flds->line.file = __FILE__;
   flds->line.line = __LINE__;
-  flds->opt = xmalloc (sizeof (*flds->opt));
+  flds->opt = (options_p) xmalloc (sizeof (*flds->opt));
   flds->opt->next = nodot;
   flds->opt->name = "length";
   flds->opt->info = "TREE_CODE_LENGTH (TREE_CODE ((tree) &%0))";
   {
     options_p oldopt = flds->opt;
-    flds->opt = xmalloc (sizeof (*flds->opt));
+    flds->opt = (options_p) xmalloc (sizeof (*flds->opt));
     flds->opt->next = oldopt;
     flds->opt->name = "default";
     flds->opt->info = "";
@@ -698,7 +698,7 @@ adjust_field_tree_exp (type_p t, options
 	   r_index++)
 	{
 	  pair_p old_subf = subfields;
-	  subfields = xmalloc (sizeof (*subfields));
+	  subfields = (pair_p) xmalloc (sizeof (*subfields));
 	  subfields->next = old_subf;
 	  subfields->name = xasprintf ("[%d]", r_index);
 	  if (r_index < data[i].first_rtl)
@@ -710,7 +710,7 @@ adjust_field_tree_exp (type_p t, options
 	  subfields->opt = nodot;
 	}
 
-      flds = xmalloc (sizeof (*flds));
+      flds = (pair_p) xmalloc (sizeof (*flds));
       flds->next = old_flds;
       flds->name = "";
       sname = xasprintf ("tree_exp_%s", data[i].name);
@@ -718,7 +718,7 @@ adjust_field_tree_exp (type_p t, options
       flds->type = find_structure (sname, 0);
       flds->line.file = __FILE__;
       flds->line.line = __LINE__;
-      flds->opt = xmalloc (sizeof (*flds->opt));
+      flds->opt = (options_p) xmalloc (sizeof (*flds->opt));
       flds->opt->next = nodot;
       flds->opt->name = "tag";
       flds->opt->info = data[i].name;
@@ -838,7 +838,8 @@ note_yacc_type (options_p o, pair_p fiel
 
 	  for (pp = typeinfo; pp; pp = pp->next)
 	    if (pp->type != (type_p) 1
-		&& strcmp (pp->opt->info, p->opt->info) == 0)
+		&& strcmp ((const char *) pp->opt->info,
+			   (const char *) p->opt->info) == 0)
 	      {
 		ok = 1;
 		break;
@@ -1047,7 +1048,7 @@ create_file (const char *name, const cha
   outf_p f;
   size_t i;
 
-  f = xcalloc (sizeof (*f), 1);
+  f = (outf_p) xcalloc (sizeof (*f), 1);
   f->next = output_files;
   f->name = oname;
   output_files = f;
@@ -1077,7 +1078,7 @@ oprintf (outf_p o, const char *format, .
       do {
 	new_len *= 2;
       } while (o->bufused + slength >= new_len);
-      o->buf = xrealloc (o->buf, new_len);
+      o->buf = (char *) xrealloc (o->buf, new_len);
       o->buflength = new_len;
     }
   memcpy (o->buf + o->bufused, s, slength);
@@ -2760,7 +2761,7 @@ write_roots (pair_p variables)
 	  break;
       if (fli == NULL)
 	{
-	  fli = xmalloc (sizeof (*fli));
+	  fli = (struct flist *) xmalloc (sizeof (*fli));
 	  fli->f = f;
 	  fli->next = flp;
 	  fli->started_p = 0;
Index: gcc/gengtype.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/gengtype.h,v
retrieving revision 1.11
diff -u -p -u -p -r1.11 gengtype.h
--- gcc/gengtype.h	30 May 2004 00:49:06 -0000	1.11
+++ gcc/gengtype.h	25 Jun 2004 03:22:58 -0000
@@ -66,17 +66,19 @@ struct pair {
 
 #define NUM_PARAM 10
 
+enum gc_used_enum {
+  GC_UNUSED = 0,
+  GC_USED,
+  GC_MAYBE_POINTED_TO,
+  GC_POINTED_TO
+};
+
 /* A description of a type.  */
 struct type {
   enum typekind kind;
   type_p next;
   type_p pointer_to;
-  enum gc_used_enum {
-    GC_UNUSED = 0,
-    GC_USED,
-    GC_MAYBE_POINTED_TO,
-    GC_POINTED_TO
-  } gc_used;
+  enum gc_used_enum gc_used;
   union {
     type_p p;
     struct {
Index: gcc/genmodes.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/genmodes.c,v
retrieving revision 1.9
diff -u -p -u -p -r1.9 genmodes.c
--- gcc/genmodes.c	6 Nov 2003 08:38:50 -0000	1.9
+++ gcc/genmodes.c	25 Jun 2004 03:22:58 -0000
@@ -55,7 +55,7 @@ struct mode_data
   struct mode_data *next;	/* next this class - arbitrary order */
 
   const char *name;		/* printable mode name -- SI, not SImode */
-  enum mode_class class;	/* this mode class */
+  enum mode_class cl;		/* this mode class */
   unsigned int precision;	/* size in bits, equiv to TYPE_PRECISION */
   unsigned int bytesize;	/* storage size in addressable units */
   unsigned int ncomponents;	/* number of subunits */
@@ -79,7 +79,7 @@ static struct mode_data *void_mode;
 
 static const struct mode_data blank_mode = {
   0, "<unknown>", MAX_MODE_CLASS,
-  -1, -1, -1, -1,
+  -1U, -1U, -1U, -1U,
   0, 0, 0, 0, 0,
   "<unknown>", 0
 };
@@ -105,27 +105,27 @@ static struct mode_adjust *adj_format;
 
 /* Mode class operations.  */
 static enum mode_class
-complex_class (enum mode_class class)
+complex_class (enum mode_class c)
 {
-  switch (class)
+  switch (c)
     {
     case MODE_INT: return MODE_COMPLEX_INT;
     case MODE_FLOAT: return MODE_COMPLEX_FLOAT;
     default:
-      error ("no complex class for class %s", mode_class_names[class]);
+      error ("no complex class for class %s", mode_class_names[c]);
       return MODE_RANDOM;
     }
 }
 
 static enum mode_class
-vector_class (enum mode_class class)
+vector_class (enum mode_class c)
 {
-  switch (class)
+  switch (c)
     {
     case MODE_INT: return MODE_VECTOR_INT;
     case MODE_FLOAT: return MODE_VECTOR_FLOAT;
     default:
-      error ("no vector class for class %s", mode_class_names[class]);
+      error ("no vector class for class %s", mode_class_names[c]);
       return MODE_RANDOM;
     }
 }
@@ -137,11 +137,11 @@ find_mode (const char *name)
   struct mode_data key;
 
   key.name = name;
-  return htab_find (modes_by_name, &key);
+  return (struct mode_data *) htab_find (modes_by_name, &key);
 }
 
 static struct mode_data *
-new_mode (enum mode_class class, const char *name,
+new_mode (enum mode_class cl, const char *name,
 	  const char *file, unsigned int line)
 {
   struct mode_data *m;
@@ -155,17 +155,17 @@ new_mode (enum mode_class class, const c
       return m;
     }
 
-  m = xmalloc (sizeof (struct mode_data));
+  m = (struct mode_data *) xmalloc (sizeof (struct mode_data));
   memcpy (m, &blank_mode, sizeof (struct mode_data));
-  m->class = class;
+  m->cl = cl;
   m->name = name;
   if (file)
     m->file = trim_filename (file);
   m->line = line;
 
-  m->next = modes[class];
-  modes[class] = m;
-  n_modes[class]++;
+  m->next = modes[cl];
+  modes[cl] = m;
+  n_modes[cl]++;
 
   *htab_find_slot (modes_by_name, m, INSERT) = m;
   
@@ -210,7 +210,7 @@ new_adjust (const char *name,
       return;
     }
 
-  if (required_class != MODE_RANDOM && mode->class != required_class)
+  if (required_class != MODE_RANDOM && mode->cl != required_class)
     {
       error ("%s:%d: mode \"%s\" is not class %s",
 	     file, line, name, mode_class_names[required_class] + 5);
@@ -226,7 +226,7 @@ new_adjust (const char *name,
 	return;
       }
 
-  a = xmalloc (sizeof (struct mode_adjust));
+  a = (struct mode_adjust *) xmalloc (sizeof (struct mode_adjust));
   a->mode = mode;
   a->adjustment = adjustment;
   a->file = file;
@@ -289,13 +289,13 @@ complete_mode (struct mode_data *m)
       error ("%s:%d: mode with no name", m->file, m->line);
       return;
     }
-  if (m->class == MAX_MODE_CLASS)
+  if (m->cl == MAX_MODE_CLASS)
     {
       error ("%s:%d: %smode has no mode class", m->file, m->line, m->name);
       return;
     }
 
-  switch (m->class)
+  switch (m->cl)
     {
     case MODE_RANDOM:
       /* Nothing more need be said.  */
@@ -326,7 +326,7 @@ complete_mode (struct mode_data *m)
 	 and must not have components.   A float mode must have a
          format.  */
       validate_mode (m, OPTIONAL, SET, UNSET, UNSET,
-		     m->class == MODE_FLOAT ? SET : UNSET);
+		     m->cl == MODE_FLOAT ? SET : UNSET);
 
       m->ncomponents = 1;
       m->component = 0;
@@ -370,7 +370,7 @@ complete_mode (struct mode_data *m)
   /* If not already specified, the mode alignment defaults to the largest
      power of two that divides the size of the object.  Complex types are
      not more aligned than their contents.  */
-  if (m->class == MODE_COMPLEX_INT || m->class == MODE_COMPLEX_FLOAT)
+  if (m->cl == MODE_COMPLEX_INT || m->cl == MODE_COMPLEX_FLOAT)
     alignment = m->component->bytesize;
   else
     alignment = m->bytesize;
@@ -390,27 +390,27 @@ static void
 complete_all_modes (void)
 {
   struct mode_data *m;
-  enum mode_class c;
-  
-  for_all_modes (c, m)
+  int cl;
+
+  for_all_modes (cl, m)
     complete_mode (m);
 }
 
 /* For each mode in class CLASS, construct a corresponding complex mode.  */
 #define COMPLEX_MODES(C) make_complex_modes(MODE_##C, __FILE__, __LINE__)
 static void
-make_complex_modes (enum mode_class class,
+make_complex_modes (enum mode_class cl,
 		    const char *file, unsigned int line)
 {
   struct mode_data *m;
   struct mode_data *c;
   char buf[8];
-  enum mode_class cclass = complex_class (class);
+  enum mode_class cclass = complex_class (cl);
 
   if (cclass == MODE_RANDOM)
     return;
-    
-  for (m = modes[class]; m; m = m->next)
+
+  for (m = modes[cl]; m; m = m->next)
     {
       /* Skip BImode.  FIXME: BImode probably shouldn't be MODE_INT.  */
       if (m->precision == 1)
@@ -426,7 +426,7 @@ make_complex_modes (enum mode_class clas
       /* Float complex modes are named SCmode, etc.
 	 Int complex modes are named CSImode, etc.
          This inconsistency should be eliminated.  */
-      if (class == MODE_FLOAT)
+      if (cl == MODE_FLOAT)
 	{
 	  char *p;
 	  strncpy (buf, m->name, sizeof buf);
@@ -448,23 +448,23 @@ make_complex_modes (enum mode_class clas
     }
 }
 
-/* For all modes in class CLASS, construct vector modes of width
+/* For all modes in class CL, construct vector modes of width
    WIDTH, having as many components as necessary.  */
 #define VECTOR_MODES(C, W) make_vector_modes(MODE_##C, W, __FILE__, __LINE__)
 static void
-make_vector_modes (enum mode_class class, unsigned int width,
+make_vector_modes (enum mode_class cl, unsigned int width,
 		   const char *file, unsigned int line)
 {
   struct mode_data *m;
   struct mode_data *v;
   char buf[8];
   unsigned int ncomponents;
-  enum mode_class vclass = vector_class (class);
+  enum mode_class vclass = vector_class (cl);
 
   if (vclass == MODE_RANDOM)
     return;
 
-  for (m = modes[class]; m; m = m->next)
+  for (m = modes[cl]; m; m = m->next)
     {
       /* Do not construct vector modes with only one element, or
 	 vector modes where the element size doesn't divide the full
@@ -477,9 +477,9 @@ make_vector_modes (enum mode_class class
 
       /* Skip QFmode and BImode.  FIXME: this special case should
 	 not be necessary.  */
-      if (class == MODE_FLOAT && m->bytesize == 1)
+      if (cl == MODE_FLOAT && m->bytesize == 1)
 	continue;
-      if (class == MODE_INT && m->precision == 1)
+      if (cl == MODE_INT && m->precision == 1)
 	continue;
 
       if ((size_t)snprintf (buf, sizeof buf, "V%u%s", ncomponents, m->name)
@@ -503,13 +503,13 @@ make_vector_modes (enum mode_class class
 #define CC_MODE(N) _SPECIAL_MODE (CC, N)
 
 static void
-make_special_mode (enum mode_class class, const char *name,
+make_special_mode (enum mode_class cl, const char *name,
 		   const char *file, unsigned int line)
 {
-  new_mode (class, name, file, line);
+  new_mode (cl, name, file, line);
 }
 
-#define INT_MODE(N, Y) FRACTIONAL_INT_MODE (N, -1, Y)
+#define INT_MODE(N, Y) FRACTIONAL_INT_MODE (N, -1U, Y)
 #define FRACTIONAL_INT_MODE(N, B, Y) \
   make_int_mode (#N, B, Y, __FILE__, __LINE__)
 
@@ -523,7 +523,7 @@ make_int_mode (const char *name,
   m->precision = precision;
 }
 
-#define FLOAT_MODE(N, Y, F)             FRACTIONAL_FLOAT_MODE (N, -1, Y, F)
+#define FLOAT_MODE(N, Y, F)             FRACTIONAL_FLOAT_MODE (N, -1U, Y, F)
 #define FRACTIONAL_FLOAT_MODE(N, B, Y, F) \
   make_float_mode (#N, B, Y, #F, __FILE__, __LINE__)
 
@@ -551,7 +551,7 @@ reset_float_format (const char *name, co
       error ("%s:%d: no mode \"%s\"", file, line, name);
       return;
     }
-  if (m->class != MODE_FLOAT)
+  if (m->cl != MODE_FLOAT)
     {
       error ("%s:%d: mode \"%s\" is not class FLOAT", file, line, name);
       return;
@@ -575,12 +575,12 @@ make_partial_integer_mode (const char *b
       error ("%s:%d: no mode \"%s\"", file, line, name);
       return;
     }
-  if (component->class != MODE_INT)
+  if (component->cl != MODE_INT)
     {
       error ("%s:%d: mode \"%s\" is not class INT", file, line, name);
       return;
     }
-  
+
   m = new_mode (MODE_PARTIAL_INT, name, file, line);
   m->precision = precision;
   m->component = component;
@@ -608,7 +608,7 @@ make_vector_mode (enum mode_class bclass
       error ("%s:%d: no mode \"%s\"", file, line, base);
       return;
     }
-  if (component->class != bclass)
+  if (component->cl != bclass)
     {
       error ("%s:%d: mode \"%s\" is not class %s",
 	     file, line, base, mode_class_names[bclass] + 5);
@@ -692,7 +692,7 @@ cmp_modes (const void *a, const void *b)
 static void
 calc_wider_mode (void)
 {
-  enum mode_class c;
+  int c;
   struct mode_data *m;
   struct mode_data **sortbuf;
   unsigned int max_n_modes = 0;
@@ -703,7 +703,7 @@ calc_wider_mode (void)
 
   /* Allocate max_n_modes + 1 entries to leave room for the extra null
      pointer assigned after the qsort call below.  */
-  sortbuf = alloca ((max_n_modes + 1) * sizeof (struct mode_data *));
+  sortbuf = (struct mode_data **) alloca ((max_n_modes + 1) * sizeof (struct mode_data *));
 
   for (c = 0; c < MAX_MODE_CLASS; c++)
     {
@@ -765,7 +765,7 @@ calc_wider_mode (void)
 static void
 emit_insn_modes_h (void)
 {
-  enum mode_class c;
+  int c;
   struct mode_data *m, *first, *last;
 
   printf ("/* Generated automatically from machmode.def%s%s\n",
@@ -866,7 +866,7 @@ emit_min_insn_modes_c_header (void)
 static void
 emit_mode_name (void)
 {
-  enum mode_class c;
+  int c;
   struct mode_data *m;
 
   print_decl ("char *const", "mode_name", "NUM_MACHINE_MODES");
@@ -880,13 +880,13 @@ emit_mode_name (void)
 static void
 emit_mode_class (void)
 {
-  enum mode_class c;
+  int c;
   struct mode_data *m;
 
   print_decl ("unsigned char", "mode_class", "NUM_MACHINE_MODES");
 
   for_all_modes (c, m)
-    tagged_printf ("%s", mode_class_names[m->class], m->name);
+    tagged_printf ("%s", mode_class_names[m->cl], m->name);
 
   print_closer ();
 }
@@ -894,7 +894,7 @@ emit_mode_class (void)
 static void
 emit_mode_precision (void)
 {
-  enum mode_class c;
+  int c;
   struct mode_data *m;
 
   print_decl ("unsigned short", "mode_precision", "NUM_MACHINE_MODES");
@@ -911,7 +911,7 @@ emit_mode_precision (void)
 static void
 emit_mode_size (void)
 {
-  enum mode_class c;
+  int c;
   struct mode_data *m;
 
   print_maybe_const_decl ("%sunsigned char", "mode_size",
@@ -926,7 +926,7 @@ emit_mode_size (void)
 static void
 emit_mode_nunits (void)
 {
-  enum mode_class c;
+  int c;
   struct mode_data *m;
 
   print_decl ("unsigned char", "mode_nunits", "NUM_MACHINE_MODES");
@@ -940,7 +940,7 @@ emit_mode_nunits (void)
 static void
 emit_mode_wider (void)
 {
-  enum mode_class c;
+  int c;
   struct mode_data *m;
 
   print_decl ("unsigned char", "mode_wider", "NUM_MACHINE_MODES");
@@ -956,7 +956,7 @@ emit_mode_wider (void)
 static void
 emit_mode_mask (void)
 {
-  enum mode_class c;
+  int c;
   struct mode_data *m;
 
   print_decl ("unsigned HOST_WIDE_INT", "mode_mask_array",
@@ -980,7 +980,7 @@ emit_mode_mask (void)
 static void
 emit_mode_inner (void)
 {
-  enum mode_class c;
+  int c;
   struct mode_data *m;
 
   print_decl ("unsigned char", "mode_inner", "NUM_MACHINE_MODES");
@@ -996,7 +996,7 @@ emit_mode_inner (void)
 static void
 emit_mode_base_align (void)
 {
-  enum mode_class c;
+  int c;
   struct mode_data *m;
 
   print_maybe_const_decl ("%sunsigned char",
@@ -1012,7 +1012,7 @@ emit_mode_base_align (void)
 static void
 emit_class_narrowest_mode (void)
 {
-  enum mode_class c;
+  int c;
 
   print_decl ("unsigned char", "class_narrowest_mode", "MAX_MODE_CLASS");
 
@@ -1084,7 +1084,7 @@ emit_mode_adjustments (void)
 
       for (m = a->mode->contained; m; m = m->next_cont)
 	{
-	  switch (m->class)
+	  switch (m->cl)
 	    {
 	    case MODE_COMPLEX_INT:
 	    case MODE_COMPLEX_FLOAT:
@@ -1120,7 +1120,7 @@ emit_mode_adjustments (void)
 
       for (m = a->mode->contained; m; m = m->next_cont)
 	{
-	  switch (m->class)
+	  switch (m->cl)
 	    {
 	    case MODE_COMPLEX_INT:
 	    case MODE_COMPLEX_FLOAT:
Index: gcc/read-rtl.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/read-rtl.c,v
retrieving revision 1.23
diff -u -p -u -p -r1.23 read-rtl.c
--- gcc/read-rtl.c	10 May 2004 18:35:43 -0000	1.23
+++ gcc/read-rtl.c	25 Jun 2004 03:22:58 -0000
@@ -191,7 +191,7 @@ read_name (char *str, FILE *infile)
 	  struct md_constant tmp_def;
 
 	  tmp_def.name = p;
-	  def = htab_find (md_constants, &tmp_def);
+	  def = (struct md_constant *) htab_find (md_constants, &tmp_def);
 	  if (def)
 	    p = def->value;
 	} while (def);
@@ -277,7 +277,7 @@ read_quoted_string (struct obstack *ob, 
     }
 
   obstack_1grow (ob, 0);
-  return obstack_finish (ob);
+  return (char *) obstack_finish (ob);
 }
 
 /* Read a braced string (a la Tcl) onto the obstack.  Caller has
@@ -315,7 +315,7 @@ read_braced_string (struct obstack *ob, 
     }
 
   obstack_1grow (ob, 0);
-  return obstack_finish (ob);
+  return (char *) obstack_finish (ob);
 }
 
 /* Read some kind of string constant.  This is the high-level routine
@@ -439,10 +439,10 @@ read_constants (FILE *infile, char *tmp_
 
       if (c != '(')
 	fatal_expected_char (infile, '(', c);
-      def = xmalloc (sizeof (struct md_constant));
+      def = (struct md_constant *) xmalloc (sizeof (struct md_constant));
       def->name = tmp_char;
       read_name (tmp_char, infile);
-      entry_ptr = htab_find_slot (defs, def, TRUE);
+      entry_ptr = htab_find_slot (defs, def, INSERT);
       if (! *entry_ptr)
 	def->name = xstrdup (tmp_char);
       c = read_skip_spaces (infile);
@@ -455,7 +455,7 @@ read_constants (FILE *infile, char *tmp_
 	}
       else
 	{
-	  def = *entry_ptr;
+	  def = (struct md_constant *) *entry_ptr;
 	  if (strcmp (def->value, tmp_char))
 	    fatal_with_file_and_line (infile,
 				      "redefinition of %s, was %s, now %s",
Index: gcc/real.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/real.c,v
retrieving revision 1.145
diff -u -p -u -p -r1.145 real.c
--- gcc/real.c	17 Jun 2004 17:05:42 -0000	1.145
+++ gcc/real.c	25 Jun 2004 03:23:00 -0000
@@ -138,7 +138,7 @@ static inline void
 get_canonical_qnan (REAL_VALUE_TYPE *r, int sign)
 {
   memset (r, 0, sizeof (*r));
-  r->class = rvc_nan;
+  r->cl = rvc_nan;
   r->sign = sign;
   r->canonical = 1;
 }
@@ -147,7 +147,7 @@ static inline void
 get_canonical_snan (REAL_VALUE_TYPE *r, int sign)
 {
   memset (r, 0, sizeof (*r));
-  r->class = rvc_nan;
+  r->cl = rvc_nan;
   r->sign = sign;
   r->signalling = 1;
   r->canonical = 1;
@@ -157,7 +157,7 @@ static inline void
 get_inf (REAL_VALUE_TYPE *r, int sign)
 {
   memset (r, 0, sizeof (*r));
-  r->class = rvc_inf;
+  r->cl = rvc_inf;
   r->sign = sign;
 }
 
@@ -490,7 +490,7 @@ normalize (REAL_VALUE_TYPE *r)
   /* Zero significand flushes to zero.  */
   if (i < 0)
     {
-      r->class = rvc_zero;
+      r->cl = rvc_zero;
       SET_REAL_EXP (r, 0);
       return;
     }
@@ -531,7 +531,7 @@ do_add (REAL_VALUE_TYPE *r, const REAL_V
   sign = a->sign;
   subtract_p = (sign ^ b->sign) ^ subtract_p;
 
-  switch (CLASS2 (a->class, b->class))
+  switch (CLASS2 (a->cl, b->cl))
     {
     case CLASS2 (rvc_zero, rvc_zero):
       /* -0 + -0 = -0, -0 - +0 = -0; all other cases yield +0.  */
@@ -637,7 +637,7 @@ do_add (REAL_VALUE_TYPE *r, const REAL_V
 	}
     }
 
-  r->class = rvc_normal;
+  r->cl = rvc_normal;
   r->sign = sign;
   SET_REAL_EXP (r, exp);
 
@@ -646,7 +646,7 @@ do_add (REAL_VALUE_TYPE *r, const REAL_V
 
   /* Special case: if the subtraction results in zero, the result
      is positive.  */
-  if (r->class == rvc_zero)
+  if (r->cl == rvc_zero)
     r->sign = 0;
   else
     r->sig[0] |= inexact;
@@ -665,7 +665,7 @@ do_multiply (REAL_VALUE_TYPE *r, const R
   int sign = a->sign ^ b->sign;
   bool inexact = false;
 
-  switch (CLASS2 (a->class, b->class))
+  switch (CLASS2 (a->cl, b->cl))
     {
     case CLASS2 (rvc_zero, rvc_zero):
     case CLASS2 (rvc_zero, rvc_normal):
@@ -764,7 +764,7 @@ do_multiply (REAL_VALUE_TYPE *r, const R
 	    }
 
 	  memset (&u, 0, sizeof (u));
-	  u.class = rvc_normal;
+	  u.cl = rvc_normal;
 	  SET_REAL_EXP (&u, exp);
 
 	  for (k = j; k < SIGSZ * 2; k += 2)
@@ -800,7 +800,7 @@ do_divide (REAL_VALUE_TYPE *r, const REA
   REAL_VALUE_TYPE t, *rr;
   bool inexact;
 
-  switch (CLASS2 (a->class, b->class))
+  switch (CLASS2 (a->cl, b->cl))
     {
     case CLASS2 (rvc_zero, rvc_zero):
       /* 0 / 0 = NaN.  */
@@ -860,7 +860,7 @@ do_divide (REAL_VALUE_TYPE *r, const REA
 
   /* Make sure all fields in the result are initialized.  */
   get_zero (rr, 0);
-  rr->class = rvc_normal;
+  rr->cl = rvc_normal;
   rr->sign = sign;
 
   exp = REAL_EXP (a) - REAL_EXP (b) + 1;
@@ -897,7 +897,7 @@ do_compare (const REAL_VALUE_TYPE *a, co
 {
   int ret;
 
-  switch (CLASS2 (a->class, b->class))
+  switch (CLASS2 (a->cl, b->cl))
     {
     case CLASS2 (rvc_zero, rvc_zero):
       /* Sign of zero doesn't matter for compares.  */
@@ -952,7 +952,7 @@ do_fix_trunc (REAL_VALUE_TYPE *r, const 
 {
   *r = *a;
 
-  switch (r->class)
+  switch (r->cl)
     {
     case rvc_zero:
     case rvc_inf:
@@ -999,7 +999,7 @@ real_arithmetic (REAL_VALUE_TYPE *r, int
       break;
 
     case MIN_EXPR:
-      if (op1->class == rvc_nan)
+      if (op1->cl == rvc_nan)
 	*r = *op1;
       else if (do_compare (op0, op1, -1) < 0)
 	*r = *op0;
@@ -1008,7 +1008,7 @@ real_arithmetic (REAL_VALUE_TYPE *r, int
       break;
 
     case MAX_EXPR:
-      if (op1->class == rvc_nan)
+      if (op1->cl == rvc_nan)
 	*r = *op1;
       else if (do_compare (op0, op1, 1) < 0)
 	*r = *op1;
@@ -1067,9 +1067,9 @@ real_compare (int icode, const REAL_VALU
     case NE_EXPR:
       return do_compare (op0, op1, -1) != 0;
     case UNORDERED_EXPR:
-      return op0->class == rvc_nan || op1->class == rvc_nan;
+      return op0->cl == rvc_nan || op1->cl == rvc_nan;
     case ORDERED_EXPR:
-      return op0->class != rvc_nan && op1->class != rvc_nan;
+      return op0->cl != rvc_nan && op1->cl != rvc_nan;
     case UNLT_EXPR:
       return do_compare (op0, op1, -1) < 0;
     case UNLE_EXPR:
@@ -1093,7 +1093,7 @@ real_compare (int icode, const REAL_VALU
 int
 real_exponent (const REAL_VALUE_TYPE *r)
 {
-  switch (r->class)
+  switch (r->cl)
     {
     case rvc_zero:
       return 0;
@@ -1113,7 +1113,7 @@ void
 real_ldexp (REAL_VALUE_TYPE *r, const REAL_VALUE_TYPE *op0, int exp)
 {
   *r = *op0;
-  switch (r->class)
+  switch (r->cl)
     {
     case rvc_zero:
     case rvc_inf:
@@ -1140,7 +1140,7 @@ real_ldexp (REAL_VALUE_TYPE *r, const RE
 bool
 real_isinf (const REAL_VALUE_TYPE *r)
 {
-  return (r->class == rvc_inf);
+  return (r->cl == rvc_inf);
 }
 
 /* Determine whether a floating-point value X is a NaN.  */
@@ -1148,7 +1148,7 @@ real_isinf (const REAL_VALUE_TYPE *r)
 bool
 real_isnan (const REAL_VALUE_TYPE *r)
 {
-  return (r->class == rvc_nan);
+  return (r->cl == rvc_nan);
 }
 
 /* Determine whether a floating-point value X is negative.  */
@@ -1164,7 +1164,7 @@ real_isneg (const REAL_VALUE_TYPE *r)
 bool
 real_isnegzero (const REAL_VALUE_TYPE *r)
 {
-  return r->sign && r->class == rvc_zero;
+  return r->sign && r->cl == rvc_zero;
 }
 
 /* Compare two floating-point objects for bitwise identity.  */
@@ -1174,12 +1174,12 @@ real_identical (const REAL_VALUE_TYPE *a
 {
   int i;
 
-  if (a->class != b->class)
+  if (a->cl != b->cl)
     return false;
   if (a->sign != b->sign)
     return false;
 
-  switch (a->class)
+  switch (a->cl)
     {
     case rvc_zero:
     case rvc_inf:
@@ -1219,7 +1219,7 @@ exact_real_inverse (enum machine_mode mo
   REAL_VALUE_TYPE u;
   int i;
 
-  if (r->class != rvc_normal)
+  if (r->cl != rvc_normal)
     return false;
 
   /* Check for a power of two: all significand bits zero except the MSB.  */
@@ -1234,7 +1234,7 @@ exact_real_inverse (enum machine_mode mo
   real_convert (&u, mode, &u);
 
   /* The rounding may have overflowed.  */
-  if (u.class != rvc_normal)
+  if (u.cl != rvc_normal)
     return false;
   for (i = 0; i < SIGSZ-1; ++i)
     if (u.sig[i] != 0)
@@ -1253,7 +1253,7 @@ real_to_integer (const REAL_VALUE_TYPE *
 {
   unsigned HOST_WIDE_INT i;
 
-  switch (r->class)
+  switch (r->cl)
     {
     case rvc_zero:
     underflow:
@@ -1309,7 +1309,7 @@ real_to_integer2 (HOST_WIDE_INT *plow, H
   HOST_WIDE_INT low, high;
   int exp;
 
-  switch (r->class)
+  switch (r->cl)
     {
     case rvc_zero:
     underflow:
@@ -1431,7 +1431,7 @@ real_to_decimal (char *str, const REAL_V
   bool sign;
 
   r = *r_orig;
-  switch (r.class)
+  switch (r.cl)
     {
     case rvc_zero:
       strcpy (str, (r.sign ? "-0.0" : "0.0"));
@@ -1698,7 +1698,7 @@ real_to_hexadecimal (char *str, const RE
   char exp_buf[16];
   size_t max_digits;
 
-  switch (r->class)
+  switch (r->cl)
     {
     case rvc_zero:
       exp = 0;
@@ -1851,7 +1851,7 @@ real_from_string (REAL_VALUE_TYPE *r, co
 	  exp += d;
 	}
 
-      r->class = rvc_normal;
+      r->cl = rvc_normal;
       SET_REAL_EXP (r, exp);
 
       normalize (r);
@@ -1874,7 +1874,7 @@ real_from_string (REAL_VALUE_TYPE *r, co
       if (*str == '.')
 	{
 	  str++;
-	  if (r->class == rvc_zero)
+	  if (r->cl == rvc_zero)
 	    {
 	      while (*str == '0')
 		str++, exp--;
@@ -1963,7 +1963,7 @@ real_from_integer (REAL_VALUE_TYPE *r, e
     get_zero (r, 0);
   else
     {
-      r->class = rvc_normal;
+      r->cl = rvc_normal;
       r->sign = high < 0 && !unsigned_p;
       SET_REAL_EXP (r, 2 * HOST_BITS_PER_WIDE_INT);
 
@@ -2011,7 +2011,7 @@ ten_to_ptwo (int n)
   if (n < 0 || n >= EXP_BITS)
     abort ();
 
-  if (tens[n].class == rvc_zero)
+  if (tens[n].cl == rvc_zero)
     {
       if (n < (HOST_BITS_PER_WIDE_INT == 64 ? 5 : 4))
 	{
@@ -2043,7 +2043,7 @@ ten_to_mptwo (int n)
   if (n < 0 || n >= EXP_BITS)
     abort ();
 
-  if (tens[n].class == rvc_zero)
+  if (tens[n].cl == rvc_zero)
     do_divide (&tens[n], real_digit (1), ten_to_ptwo (n));
 
   return &tens[n];
@@ -2059,7 +2059,7 @@ real_digit (int n)
   if (n < 0 || n > 9)
     abort ();
 
-  if (n > 0 && num[n].class == rvc_zero)
+  if (n > 0 && num[n].cl == rvc_zero)
     real_from_integer (&num[n], VOIDmode, n, 0, 1);
 
   return &num[n];
@@ -2127,7 +2127,7 @@ real_nan (REAL_VALUE_TYPE *r, const char
       bool neg = false;
 
       memset (r, 0, sizeof (*r));
-      r->class = rvc_nan;
+      r->cl = rvc_nan;
 
       /* Parse akin to strtol into the significand of R.  */
 
@@ -2204,7 +2204,7 @@ real_maxval (REAL_VALUE_TYPE *r, int sig
   if (fmt == NULL)
     abort ();
 
-  r->class = rvc_normal;
+  r->cl = rvc_normal;
   r->sign = sign;
   r->signalling = 0;
   r->canonical = 0;
@@ -2224,12 +2224,12 @@ real_2expN (REAL_VALUE_TYPE *r, int n)
 
   n++;
   if (n > MAX_EXP)
-    r->class = rvc_inf;
+    r->cl = rvc_inf;
   else if (n < -MAX_EXP)
     ;
   else
     {
-      r->class = rvc_normal;
+      r->cl = rvc_normal;
       SET_REAL_EXP (r, n);
       r->sig[SIGSZ-1] = SIG_MSB;
     }
@@ -2249,7 +2249,7 @@ round_for_format (const struct real_form
   emax2 = fmt->emax * fmt->log2_b;
 
   np2 = SIGNIFICAND_BITS - p2;
-  switch (r->class)
+  switch (r->cl)
     {
     underflow:
       get_zero (r, r->sign);
@@ -2382,7 +2382,7 @@ real_convert (REAL_VALUE_TYPE *r, enum m
   round_for_format (fmt, r);
 
   /* round_for_format de-normalizes denormals.  Undo just that part.  */
-  if (r->class == rvc_normal)
+  if (r->cl == rvc_normal)
     normalize (r);
 }
 
@@ -2493,8 +2493,8 @@ real_hash (const REAL_VALUE_TYPE *r)
   unsigned int h;
   size_t i;
 
-  h = r->class | (r->sign << 2);
-  switch (r->class)
+  h = r->cl | (r->sign << 2);
+  switch (r->cl)
     {
     case rvc_zero:
     case rvc_inf:
@@ -2546,7 +2546,7 @@ encode_ieee_single (const struct real_fo
   image = sign << 31;
   sig = (r->sig[SIGSZ-1] >> (HOST_BITS_PER_LONG - 24)) & 0x7fffff;
 
-  switch (r->class)
+  switch (r->cl)
     {
     case rvc_zero:
       break;
@@ -2618,7 +2618,7 @@ decode_ieee_single (const struct real_fo
     {
       if (image && fmt->has_denorm)
 	{
-	  r->class = rvc_normal;
+	  r->cl = rvc_normal;
 	  r->sign = sign;
 	  SET_REAL_EXP (r, -126);
 	  r->sig[SIGSZ-1] = image << 1;
@@ -2631,7 +2631,7 @@ decode_ieee_single (const struct real_fo
     {
       if (image)
 	{
-	  r->class = rvc_nan;
+	  r->cl = rvc_nan;
 	  r->sign = sign;
 	  r->signalling = (((image >> (HOST_BITS_PER_LONG - 2)) & 1)
 			   ^ fmt->qnan_msb_set);
@@ -2639,13 +2639,13 @@ decode_ieee_single (const struct real_fo
 	}
       else
 	{
-	  r->class = rvc_inf;
+	  r->cl = rvc_inf;
 	  r->sign = sign;
 	}
     }
   else
     {
-      r->class = rvc_normal;
+      r->cl = rvc_normal;
       r->sign = sign;
       SET_REAL_EXP (r, exp - 127 + 1);
       r->sig[SIGSZ-1] = image | SIG_MSB;
@@ -2720,7 +2720,7 @@ encode_ieee_double (const struct real_fo
       sig_hi = (sig_hi >> 11) & 0xfffff;
     }
 
-  switch (r->class)
+  switch (r->cl)
     {
     case rvc_zero:
       break;
@@ -2819,7 +2819,7 @@ decode_ieee_double (const struct real_fo
     {
       if ((image_hi || image_lo) && fmt->has_denorm)
 	{
-	  r->class = rvc_normal;
+	  r->cl = rvc_normal;
 	  r->sign = sign;
 	  SET_REAL_EXP (r, -1022);
 	  if (HOST_BITS_PER_LONG == 32)
@@ -2843,7 +2843,7 @@ decode_ieee_double (const struct real_fo
     {
       if (image_hi || image_lo)
 	{
-	  r->class = rvc_nan;
+	  r->cl = rvc_nan;
 	  r->sign = sign;
 	  r->signalling = ((image_hi >> 30) & 1) ^ fmt->qnan_msb_set;
 	  if (HOST_BITS_PER_LONG == 32)
@@ -2856,13 +2856,13 @@ decode_ieee_double (const struct real_fo
 	}
       else
 	{
-	  r->class = rvc_inf;
+	  r->cl = rvc_inf;
 	  r->sign = sign;
 	}
     }
   else
     {
-      r->class = rvc_normal;
+      r->cl = rvc_normal;
       r->sign = sign;
       SET_REAL_EXP (r, exp - 1023 + 1);
       if (HOST_BITS_PER_LONG == 32)
@@ -2930,7 +2930,7 @@ encode_ieee_extended (const struct real_
   image_hi = r->sign << 15;
   sig_hi = sig_lo = 0;
 
-  switch (r->class)
+  switch (r->cl)
     {
     case rvc_zero:
       break;
@@ -3108,7 +3108,7 @@ decode_ieee_extended (const struct real_
     {
       if ((sig_hi || sig_lo) && fmt->has_denorm)
 	{
-	  r->class = rvc_normal;
+	  r->cl = rvc_normal;
 	  r->sign = sign;
 
 	  /* When the IEEE format contains a hidden bit, we know that
@@ -3139,7 +3139,7 @@ decode_ieee_extended (const struct real_
 
       if (sig_hi || sig_lo)
 	{
-	  r->class = rvc_nan;
+	  r->cl = rvc_nan;
 	  r->sign = sign;
 	  r->signalling = ((sig_hi >> 30) & 1) ^ fmt->qnan_msb_set;
 	  if (HOST_BITS_PER_LONG == 32)
@@ -3152,13 +3152,13 @@ decode_ieee_extended (const struct real_
 	}
       else
 	{
-	  r->class = rvc_inf;
+	  r->cl = rvc_inf;
 	  r->sign = sign;
 	}
     }
   else
     {
-      r->class = rvc_normal;
+      r->cl = rvc_normal;
       r->sign = sign;
       SET_REAL_EXP (r, exp - 16383 + 1);
       if (HOST_BITS_PER_LONG == 32)
@@ -3322,7 +3322,7 @@ encode_ibm_extended (const struct real_f
 
   /* Renormlize R before doing any arithmetic on it.  */
   normr = *r;
-  if (normr.class == rvc_normal)
+  if (normr.cl == rvc_normal)
     normalize (&normr);
 
   /* u = IEEE double precision portion of significand.  */
@@ -3330,7 +3330,7 @@ encode_ibm_extended (const struct real_f
   round_for_format (base_fmt, &u);
   encode_ieee_double (base_fmt, &buf[0], &u);
 
-  if (u.class == rvc_normal)
+  if (u.cl == rvc_normal)
     {
       do_add (&v, &normr, &u, 1);
       /* Call round_for_format since we might need to denormalize.  */
@@ -3356,7 +3356,7 @@ decode_ibm_extended (const struct real_f
   base_fmt = fmt->qnan_msb_set ? &ieee_double_format : &mips_double_format;
   decode_ieee_double (base_fmt, &u, &buf[0]);
 
-  if (u.class != rvc_zero && u.class != rvc_inf && u.class != rvc_nan)
+  if (u.cl != rvc_zero && u.cl != rvc_inf && u.cl != rvc_nan)
     {
       decode_ieee_double (base_fmt, &v, &buf[2]);
       do_add (r, &u, &v, 0);
@@ -3424,7 +3424,7 @@ encode_ieee_quad (const struct real_form
 
   rshift_significand (&u, r, SIGNIFICAND_BITS - 113);
 
-  switch (r->class)
+  switch (r->cl)
     {
     case rvc_zero:
       break;
@@ -3576,7 +3576,7 @@ decode_ieee_quad (const struct real_form
     {
       if ((image3 | image2 | image1 | image0) && fmt->has_denorm)
 	{
-	  r->class = rvc_normal;
+	  r->cl = rvc_normal;
 	  r->sign = sign;
 
 	  SET_REAL_EXP (r, -16382 + (SIGNIFICAND_BITS - 112));
@@ -3602,7 +3602,7 @@ decode_ieee_quad (const struct real_form
     {
       if (image3 | image2 | image1 | image0)
 	{
-	  r->class = rvc_nan;
+	  r->cl = rvc_nan;
 	  r->sign = sign;
 	  r->signalling = ((image3 >> 15) & 1) ^ fmt->qnan_msb_set;
 
@@ -3622,13 +3622,13 @@ decode_ieee_quad (const struct real_form
 	}
       else
 	{
-	  r->class = rvc_inf;
+	  r->cl = rvc_inf;
 	  r->sign = sign;
 	}
     }
   else
     {
-      r->class = rvc_normal;
+      r->cl = rvc_normal;
       r->sign = sign;
       SET_REAL_EXP (r, exp - 16383 + 1);
 
@@ -3716,7 +3716,7 @@ encode_vax_f (const struct real_format *
 
   sign = r->sign << 15;
 
-  switch (r->class)
+  switch (r->cl)
     {
     case rvc_zero:
       image = 0;
@@ -3755,7 +3755,7 @@ decode_vax_f (const struct real_format *
 
   if (exp != 0)
     {
-      r->class = rvc_normal;
+      r->cl = rvc_normal;
       r->sign = (image >> 15) & 1;
       SET_REAL_EXP (r, exp - 128);
 
@@ -3770,7 +3770,7 @@ encode_vax_d (const struct real_format *
 {
   unsigned long image0, image1, sign = r->sign << 15;
 
-  switch (r->class)
+  switch (r->cl)
     {
     case rvc_zero:
       image0 = image1 = 0;
@@ -3838,7 +3838,7 @@ decode_vax_d (const struct real_format *
 
   if (exp != 0)
     {
-      r->class = rvc_normal;
+      r->cl = rvc_normal;
       r->sign = (image0 >> 15) & 1;
       SET_REAL_EXP (r, exp - 128);
 
@@ -3870,7 +3870,7 @@ encode_vax_g (const struct real_format *
 {
   unsigned long image0, image1, sign = r->sign << 15;
 
-  switch (r->class)
+  switch (r->cl)
     {
     case rvc_zero:
       image0 = image1 = 0;
@@ -3938,7 +3938,7 @@ decode_vax_g (const struct real_format *
 
   if (exp != 0)
     {
-      r->class = rvc_normal;
+      r->cl = rvc_normal;
       r->sign = (image0 >> 15) & 1;
       SET_REAL_EXP (r, exp - 1024);
 
@@ -4042,7 +4042,7 @@ encode_i370_single (const struct real_fo
 
   sign = r->sign << 31;
 
-  switch (r->class)
+  switch (r->cl)
     {
     case rvc_zero:
       image = 0;
@@ -4081,7 +4081,7 @@ decode_i370_single (const struct real_fo
 
   if (exp || sig)
     {
-      r->class = rvc_normal;
+      r->cl = rvc_normal;
       r->sign = sign;
       SET_REAL_EXP (r, (exp - 64) * 4);
       r->sig[SIGSZ-1] = sig << (HOST_BITS_PER_LONG - 24);
@@ -4097,7 +4097,7 @@ encode_i370_double (const struct real_fo
 
   sign = r->sign << 31;
 
-  switch (r->class)
+  switch (r->cl)
     {
     case rvc_zero:
       image_hi = image_lo = 0;
@@ -4159,7 +4159,7 @@ decode_i370_double (const struct real_fo
 
   if (exp || image_hi || image_lo)
     {
-      r->class = rvc_normal;
+      r->cl = rvc_normal;
       r->sign = sign;
       SET_REAL_EXP (r, (exp - 64) * 4 + (SIGNIFICAND_BITS - 56));
 
@@ -4245,7 +4245,7 @@ encode_c4x_single (const struct real_for
 {
   unsigned long image, exp, sig;
 
-  switch (r->class)
+  switch (r->cl)
     {
     case rvc_zero:
       exp = -128;
@@ -4294,7 +4294,7 @@ decode_c4x_single (const struct real_for
 
   if (exp != -128)
     {
-      r->class = rvc_normal;
+      r->cl = rvc_normal;
 
       sig = sf & 0x7fffff;
       if (sf < 0)
@@ -4318,7 +4318,7 @@ encode_c4x_extended (const struct real_f
 {
   unsigned long exp, sig;
 
-  switch (r->class)
+  switch (r->cl)
     {
     case rvc_zero:
       exp = -128;
@@ -4381,7 +4381,7 @@ decode_c4x_extended (const struct real_f
 
   if (exp != -128)
     {
-      r->class = rvc_normal;
+      r->cl = rvc_normal;
 
       sig = sf & 0x7fffffff;
       if (sf < 0)
Index: gcc/real.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/real.h,v
retrieving revision 1.78
diff -u -p -u -p -r1.78 real.h
--- gcc/real.h	7 Jun 2004 20:50:09 -0000	1.78
+++ gcc/real.h	25 Jun 2004 03:23:00 -0000
@@ -45,7 +45,7 @@ struct real_value GTY(())
   /* Use the same underlying type for all bit-fields, so as to make
      sure they're packed together, otherwise REAL_VALUE_TYPE_SIZE will
      be miscomputed.  */
-  unsigned int /* ENUM_BITFIELD (real_value_class) */ class : 2;
+  unsigned int /* ENUM_BITFIELD (real_value_class) */ cl : 2;
   unsigned int sign : 1;
   unsigned int signalling : 1;
   unsigned int canonical : 1;
Index: gcc/rtl.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/rtl.c,v
retrieving revision 1.137
diff -u -p -u -p -r1.137 rtl.c
--- gcc/rtl.c	9 Apr 2004 19:57:42 -0000	1.137
+++ gcc/rtl.c	25 Jun 2004 03:23:00 -0000
@@ -179,7 +179,8 @@ rtx_alloc_stat (RTX_CODE code MEM_STAT_D
 {
   rtx rt;
 
-  rt = ggc_alloc_typed_stat (gt_ggc_e_7rtx_def, RTX_SIZE (code) PASS_MEM_STAT);
+  rt = (rtx) ggc_alloc_typed_stat (gt_ggc_e_7rtx_def,
+				   RTX_SIZE (code) PASS_MEM_STAT);
 
   /* We want to clear everything up to the FLD array.  Normally, this
      is one int, but we don't want to assume that and it isn't very
@@ -315,8 +316,8 @@ shallow_copy_rtx_stat (rtx orig MEM_STAT
 {
   rtx copy;
 
-  copy = ggc_alloc_typed_stat (gt_ggc_e_7rtx_def, RTX_SIZE (GET_CODE (orig))
-			       PASS_MEM_STAT);
+  copy = (rtx) ggc_alloc_typed_stat (gt_ggc_e_7rtx_def,
+				     RTX_SIZE (GET_CODE (orig)) PASS_MEM_STAT);
   memcpy (copy, orig, RTX_SIZE (GET_CODE (orig)));
   return copy;
 }
Index: gcc/rtl.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/rtl.h,v
retrieving revision 1.481
diff -u -p -u -p -r1.481 rtl.h
--- gcc/rtl.h	20 Jun 2004 17:03:04 -0000	1.481
+++ gcc/rtl.h	25 Jun 2004 03:23:03 -0000
@@ -164,8 +164,8 @@ union rtunion_def
   int rtint;
   unsigned int rtuint;
   const char *rtstr;
-  rtx rtx;
-  rtvec rtvec;
+  rtx rtrtx;
+  rtvec rtrtvec;
   enum machine_mode rttype;
   addr_diff_vec_flags rt_addr_diff_vec_flags;
   struct cselib_val_struct *rt_cselib;
@@ -609,8 +609,8 @@ do {				\
 
 #define XINT(RTX, N)	(RTL_CHECK2 (RTX, N, 'i', 'n').rtint)
 #define XSTR(RTX, N)	(RTL_CHECK2 (RTX, N, 's', 'S').rtstr)
-#define XEXP(RTX, N)	(RTL_CHECK2 (RTX, N, 'e', 'u').rtx)
-#define XVEC(RTX, N)	(RTL_CHECK2 (RTX, N, 'E', 'V').rtvec)
+#define XEXP(RTX, N)	(RTL_CHECK2 (RTX, N, 'e', 'u').rtrtx)
+#define XVEC(RTX, N)	(RTL_CHECK2 (RTX, N, 'E', 'V').rtrtvec)
 #define XMODE(RTX, N)	(RTL_CHECK1 (RTX, N, 'M').rttype)
 #define XBITMAP(RTX, N) (RTL_CHECK1 (RTX, N, 'b').rtbit)
 #define XTREE(RTX, N)   (RTL_CHECK1 (RTX, N, 't').rttree)
@@ -626,8 +626,8 @@ do {				\
 #define X0INT(RTX, N)	   (RTL_CHECK1 (RTX, N, '0').rtint)
 #define X0UINT(RTX, N)	   (RTL_CHECK1 (RTX, N, '0').rtuint)
 #define X0STR(RTX, N)	   (RTL_CHECK1 (RTX, N, '0').rtstr)
-#define X0EXP(RTX, N)	   (RTL_CHECK1 (RTX, N, '0').rtx)
-#define X0VEC(RTX, N)	   (RTL_CHECK1 (RTX, N, '0').rtvec)
+#define X0EXP(RTX, N)	   (RTL_CHECK1 (RTX, N, '0').rtrtx)
+#define X0VEC(RTX, N)	   (RTL_CHECK1 (RTX, N, '0').rtrtvec)
 #define X0MODE(RTX, N)	   (RTL_CHECK1 (RTX, N, '0').rttype)
 #define X0BITMAP(RTX, N)   (RTL_CHECK1 (RTX, N, '0').rtbit)
 #define X0TREE(RTX, N)	   (RTL_CHECK1 (RTX, N, '0').rttree)
@@ -643,8 +643,8 @@ do {				\
 #define XCINT(RTX, N, C)      (RTL_CHECKC1 (RTX, N, C).rtint)
 #define XCUINT(RTX, N, C)     (RTL_CHECKC1 (RTX, N, C).rtuint)
 #define XCSTR(RTX, N, C)      (RTL_CHECKC1 (RTX, N, C).rtstr)
-#define XCEXP(RTX, N, C)      (RTL_CHECKC1 (RTX, N, C).rtx)
-#define XCVEC(RTX, N, C)      (RTL_CHECKC1 (RTX, N, C).rtvec)
+#define XCEXP(RTX, N, C)      (RTL_CHECKC1 (RTX, N, C).rtrtx)
+#define XCVEC(RTX, N, C)      (RTL_CHECKC1 (RTX, N, C).rtrtvec)
 #define XCMODE(RTX, N, C)     (RTL_CHECKC1 (RTX, N, C).rttype)
 #define XCBITMAP(RTX, N, C)   (RTL_CHECKC1 (RTX, N, C).rtbit)
 #define XCTREE(RTX, N, C)     (RTL_CHECKC1 (RTX, N, C).rttree)
@@ -655,7 +655,7 @@ do {				\
 #define XCVECEXP(RTX, N, M, C)	RTVEC_ELT (XCVEC (RTX, N, C), M)
 #define XCVECLEN(RTX, N, C)	GET_NUM_ELEM (XCVEC (RTX, N, C))
 
-#define XC2EXP(RTX, N, C1, C2)      (RTL_CHECKC2 (RTX, N, C1, C2).rtx)
+#define XC2EXP(RTX, N, C1, C2)      (RTL_CHECKC2 (RTX, N, C1, C2).rtrtx)
  
 /* ACCESS MACROS for particular fields of insns.  */
 
Index: gcc/rtlanal.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/rtlanal.c,v
retrieving revision 1.191
diff -u -p -u -p -r1.191 rtlanal.c
--- gcc/rtlanal.c	21 Jun 2004 12:51:36 -0000	1.191
+++ gcc/rtlanal.c	25 Jun 2004 03:23:05 -0000
@@ -3178,7 +3178,7 @@ loc_mentioned_in_p (rtx *loc, rtx in)
 
   for (i = GET_RTX_LENGTH (code) - 1; i >= 0; i--)
     {
-      if (loc == &in->u.fld[i].rtx)
+      if (loc == &in->u.fld[i].rtrtx)
 	return 1;
       if (fmt[i] == 'e')
 	{

-- 
  // Bernardo Innocenti - Develer S.r.l., R&D dept.
\X/  http://www.develer.com/


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