home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: gnu.gcc.bug
- Path: 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
-
- 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])
-
-