Article View: gnu.gcc.bug
Article #1350GCC 2.3.1 on Sun Unix 3.5
From: Karl Berry
Date: Wed, 11 Nov 1992 05:59
Date: Wed, 11 Nov 1992 05:59
58 lines
2748 bytes
2748 bytes
GCC 2.3.1 doesn't quite bootstrap on a Sun 3 running 3.5, configured as
`sun3os3' -- the system compiler doesn't permit mixing enumerated and
integral types in some contexts. optabs.c is the only offending file.
I can't say this patch is pretty, but at least compilation doesn't bomb
out.
Tue Nov 10 19:04:36 1992 Karl Berry (karl@cs.umb.edu)
* optabs.c (init_libfuncs): Use int instead of enum for
first_mode, last_mode, and mode, and cast reg_class_subunion used
as a subscript, to appease Sun 3.5's cc.
*** ./ORIG/optabs.c Mon Oct 5 02:21:02 1992
--- ./optabs.c Sun Nov 8 11:10:06 1992
***************
*** 3739,3749 ****
init_libfuncs (optable, first_mode, last_mode, opname, suffix)
register optab optable;
register char *opname;
! register enum machine_mode first_mode;
! register enum machine_mode last_mode;
register char suffix;
{
! register enum machine_mode mode;
register unsigned opname_len = strlen (opname);
for (mode = first_mode; mode <= last_mode; mode++)
--- 3739,3749 ----
init_libfuncs (optable, first_mode, last_mode, opname, suffix)
register optab optable;
register char *opname;
! register int first_mode;
! register int last_mode;
register char suffix;
{
! register int mode;
register unsigned opname_len = strlen (opname);
for (mode = first_mode; mode <= last_mode; mode++)
*** ./ORIG/regclass.c Mon Oct 12 18:19:25 1992
--- ./regclass.c Sun Nov 8 11:51:11 1992
***************
*** 893,899 ****
if (pass == 1 || ! flag_expensive_optimizations)
for (class = 0; class < N_REG_CLASSES; class++)
if (p->cost[class] < p->mem_cost
! && (reg_class_size[reg_class_subunion[(int) alt][class]]
> reg_class_size[(int) alt])
#ifdef FORBIDDEN_INC_DEC_CLASSES
&& ! (in_inc_dec[i] && forbidden_inc_dec_class[class])
--- 893,899 ----
if (pass == 1 || ! flag_expensive_optimizations)
for (class = 0; class < N_REG_CLASSES; class++)
if (p->cost[class] < p->mem_cost
! && (reg_class_size[(int) reg_class_subunion[(int) alt][class]]
> reg_class_size[(int) alt])
#ifdef FORBIDDEN_INC_DEC_CLASSES
&& ! (in_inc_dec[i] && forbidden_inc_dec_class[class])
Technical Details
Message-ID:
<199211111559.AA01990@claude.cs.umb.edu>Path:
arc1-ca.pugleaf.net!sparky!uunet!convex!linac!pacific.mps.ohio-state.edu!cis.ohio-state.edu!claude.cs.umb.edu!karlShow Full Headers
Complete Article Headers
Newsgroups: gnu.gcc.bug Path: arc1-ca.pugleaf.net!sparky!uunet!convex!linac!pacific.mps.ohio-state.edu!cis.ohio-state.edu!claude.cs.umb.edu!karl From: karl@claude.cs.umb.edu (Karl Berry) Subject: GCC 2.3.1 on Sun Unix 3.5 Message-ID: <199211111559.AA01990@claude.cs.umb.edu> Sender: gnulists@ai.mit.edu Reply-To: karl@cs.umb.edu Organization: GNUs Not Usenet Distribution: gnu Date: Wed, 11 Nov 1992 05:59:11 GMT Approved: bug-gcc@prep.ai.mit.edu Lines: 59