This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [RFC] Fixes to bootstrap from a C++ compiler (part 1)
- From: Bernardo Innocenti <bernie at develer dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: Daniel Jacobowitz <drow at false dot org>
- Date: Fri, 25 Jun 2004 07:20:16 +0200
- Subject: Re: [RFC] Fixes to bootstrap from a C++ compiler (part 1)
- Organization: Develer S.r.l.
- References: <40DBA82F.50108@develer.com> <20040625042726.GA11614@nevyn.them.org>
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/