hasting2 02/09/23 16:04:58
Modified: live/gcc3/gcc Tag: dizzy-kitty-branch version.c
stor-layout.c
live/gcc3/gcc/config Tag: dizzy-kitty-branch darwin.c
Log:
Fix for 3032085, gcc3-1204, dizzy-kitty-branch.
Revision Changes Path
No revision
No revision
1.46.2.2 +1 -1 src/live/gcc3/gcc/version.c
Index: version.c
===================================================================
RCS file: /cvs/Darwin/src/live/gcc3/gcc/version.c,v
retrieving revision 1.46.2.1
retrieving revision 1.46.2.2
diff -u -r1.46.2.1 -r1.46.2.2
--- version.c 2002/08/30 01:20:10 1.46.2.1
+++ version.c 2002/09/23 23:04:57 1.46.2.2
@@ -6,5 +6,5 @@
/* APPLE LOCAL begin Apple version */
/* Note that we can't say "apple_v*rs**n_str*ng" because of a cheesy
grep in configure that will get very confused if we do. */
-const char *const apple_version_str = "1201";
+const char *const apple_version_str = "1204";
/* APPLE LOCAL end Apple version */
1.27.6.2 +2 -0 src/live/gcc3/gcc/stor-layout.c
Index: stor-layout.c
===================================================================
RCS file: /cvs/Darwin/src/live/gcc3/gcc/stor-layout.c,v
retrieving revision 1.27.6.1
retrieving revision 1.27.6.2
diff -u -r1.27.6.1 -r1.27.6.2
--- stor-layout.c 2002/08/31 01:51:03 1.27.6.1
+++ stor-layout.c 2002/09/23 23:04:57 1.27.6.2
@@ -1297,6 +1297,7 @@
RECORD_TYPE. This does not apply to unions. */
if (TREE_CODE (type) == RECORD_TYPE && mode != VOIDmode)
TYPE_MODE (type) = mode;
+#if defined(MASK_POWERPC) && defined(TARGET_MACHO)
/* APPLE LOCAL 8-byte-struct hack */
#if defined RS6000_VARARGS_AREA
/* Make 8-byte structs BLKmode instead of DImode, which fixes both
@@ -1308,6 +1309,7 @@
;
#endif
else
+#endif /* defined(MASK_POWERPC) && defined(TARGET_MACHO) */
TYPE_MODE (type) = mode_for_size_tree (TYPE_SIZE (type), MODE_INT, 1);
/* If structure's known alignment is less than what the scalar
No revision
No revision
1.70.2.1 +18 -0 src/live/gcc3/gcc/config/darwin.c
Index: darwin.c
===================================================================
RCS file: /cvs/Darwin/src/live/gcc3/gcc/config/darwin.c,v
retrieving revision 1.70
retrieving revision 1.70.2.1
diff -u -r1.70 -r1.70.2.1
--- darwin.c 2002/07/05 22:06:53 1.70
+++ darwin.c 2002/09/23 23:04:58 1.70.2.1
@@ -987,8 +987,26 @@
pic_ref = plus_constant (base, INTVAL (orig));
is_complex = 1;
}
+ /* APPLE LOCAL begin gen ADD */
+#ifdef MASK_80387
+ else if ((GET_CODE (XEXP (orig, 0)) == MEM))
+ {
+ pic_ref = gen_rtx (PLUS, Pmode, base, orig);
+ if ( ! reload_in_progress) /* necessary ? */
+ {
+ rtx clob = gen_rtx_CLOBBER (VOIDmode, gen_rtx_REG (CCmode, FLAGS_REG));
+ rtx set = gen_rtx_SET (VOIDmode, reg, pic_ref);
+ pic_ref = gen_rtx_PARALLEL (VOIDmode, gen_rtvec (2, set, clob));
+ emit_insn (pic_ref);
+ pic_ref = reg;
+ is_complex = 0;
+ }
+ }
+#endif
else
pic_ref = gen_rtx (PLUS, Pmode, base, orig);
+
+ /* APPLE LOCAL end gen ADD */
if (RTX_UNCHANGING_P (base) && RTX_UNCHANGING_P (orig))
RTX_UNCHANGING_P (pic_ref) = 1;