🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.gcc.bug
Article #1350

GCC 2.3.1 on Sun Unix 3.5

#1350
From: Karl Berry
Date: Wed, 11 Nov 1992 05:59
58 lines
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!karl

Show 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