summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2004-06-08 01:52:22 +0000
committerMike Frysinger <vapier@gentoo.org>2004-06-08 01:52:22 +0000
commita6d9415c801f206b15a9799e825b982109cb8fb2 (patch)
tree2adcfde709634910c0a116ce93e5145c4ae65f85 /sys-devel
parentdyn_fetch() -> pkg_nofetch() (diff)
downloadhistorical-a6d9415c801f206b15a9799e825b982109cb8fb2.tar.gz
historical-a6d9415c801f206b15a9799e825b982109cb8fb2.tar.bz2
historical-a6d9415c801f206b15a9799e825b982109cb8fb2.zip
not used anymore
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/gcc/files/3.2.1/gcc-3.2.1-bug-url.patch11
-rw-r--r--sys-devel/gcc/files/3.2.1/gcc32-fix-sixtrack.patch52
-rw-r--r--sys-devel/gcc/files/3.2.1/gcc32-libjava-x86_64-biarch-sigaction.patch11
-rw-r--r--sys-devel/gcc/files/3.2.1/gcc32-pr8213.patch69
-rw-r--r--sys-devel/gcc/files/3.2.1/gcc32-pr8988.patch69
-rw-r--r--sys-devel/gcc/files/3.2.1/gcc32-shared-pthread.patch99
-rw-r--r--sys-devel/gcc/files/3.2.1/gcc32-testsuite.patch17
-rw-r--r--sys-devel/gcc/files/3.2.1/gcc32-tls-reload-fix.patch216
-rw-r--r--sys-devel/gcc/files/3.2.2/gcc32-pr9732.patch159
-rw-r--r--sys-devel/gcc/files/3.2.2/gcc322-pr8746.patch73
-rw-r--r--sys-devel/gcc/files/3.2.2/gcc322-pr9888.patch293
-rw-r--r--sys-devel/gcc/files/3.2/gcc-3.2-glibc-2.3-compat.diff154
-rw-r--r--sys-devel/gcc/files/3.2/gcc-3.2.ctype.patch106
-rw-r--r--sys-devel/gcc/files/3.2/gcc-3.2.fix-copy.patch61
-rw-r--r--sys-devel/gcc/files/3.2/gcc-3.2.fix-var.patch53
15 files changed, 0 insertions, 1443 deletions
diff --git a/sys-devel/gcc/files/3.2.1/gcc-3.2.1-bug-url.patch b/sys-devel/gcc/files/3.2.1/gcc-3.2.1-bug-url.patch
deleted file mode 100644
index a5156d22b59a..000000000000
--- a/sys-devel/gcc/files/3.2.1/gcc-3.2.1-bug-url.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- gcc-3.2.1/gcc/system.h.orig 2002-12-23 12:13:00.000000000 +0200
-+++ gcc-3.2.1/gcc/system.h 2002-12-23 12:13:29.000000000 +0200
-@@ -26,7 +26,7 @@
- /* This is the location of the online document giving information how
- to report bugs. If you change this string, also check for strings
- not under control of the preprocessor. */
--#define GCCBUGURL "<URL:http://bugzilla.redhat.com/bugzilla/>"
-+#define GCCBUGURL "<URL:http://bugs.gentoo.org/>"
-
- /* We must include stdarg.h/varargs.h before stdio.h. */
- #ifdef ANSI_PROTOTYPES
diff --git a/sys-devel/gcc/files/3.2.1/gcc32-fix-sixtrack.patch b/sys-devel/gcc/files/3.2.1/gcc32-fix-sixtrack.patch
deleted file mode 100644
index 4a4338fcaaa3..000000000000
--- a/sys-devel/gcc/files/3.2.1/gcc32-fix-sixtrack.patch
+++ /dev/null
@@ -1,52 +0,0 @@
---- gcc-3.2/gcc/loop.c.fix-sixtrack 2002-09-20 14:56:57.000000000 +0200
-+++ gcc-3.2/gcc/loop.c 2002-09-20 15:30:57.000000000 +0200
-@@ -4661,7 +4661,7 @@ loop_givs_reduce (loop, bl)
- rtx insert_before;
-
- if (! auto_inc_opt)
-- insert_before = tv->insn;
-+ insert_before = NEXT_INSN (tv->insn);
- else if (auto_inc_opt == 1)
- insert_before = NEXT_INSN (v->insn);
- else
---- gcc-3.2/gcc/emit-rtl.c.fix-sixtrack 2002-09-20 14:56:56.000000000 +0200
-+++ gcc-3.2/gcc/emit-rtl.c 2002-09-20 15:30:57.000000000 +0200
-@@ -1829,11 +1829,36 @@ set_mem_attributes (ref, t, objectp)
-
- do
- {
-+ tree index = TREE_OPERAND (t, 1);
-+ tree array = TREE_OPERAND (t, 0);
-+ tree domain = TYPE_DOMAIN (TREE_TYPE (array));
-+ tree low_bound = (domain ? TYPE_MIN_VALUE (domain) : 0);
-+ tree unit_size = TYPE_SIZE_UNIT (TREE_TYPE (TREE_TYPE (array)));
-+
-+ /* We assume all arrays have sizes that are a multiple of a byte.
-+ First subtract the lower bound, if any, in the type of the
-+ index, then convert to sizetype and multiply by the size of the
-+ array element. */
-+ if (low_bound != 0 && ! integer_zerop (low_bound))
-+ index = fold (build (MINUS_EXPR, TREE_TYPE (index),
-+ index, low_bound));
-+
-+ /* If the index has a self-referential type, pass it to a
-+ WITH_RECORD_EXPR; if the component size is, pass our
-+ component to one. */
-+ if (! TREE_CONSTANT (index)
-+ && contains_placeholder_p (index))
-+ index = build (WITH_RECORD_EXPR, TREE_TYPE (index), index, t);
-+ if (! TREE_CONSTANT (unit_size)
-+ && contains_placeholder_p (unit_size))
-+ unit_size = build (WITH_RECORD_EXPR, sizetype,
-+ unit_size, array);
-+
- off_tree
- = fold (build (PLUS_EXPR, sizetype,
- fold (build (MULT_EXPR, sizetype,
-- TREE_OPERAND (t, 1),
-- TYPE_SIZE_UNIT (TREE_TYPE (t)))),
-+ index,
-+ unit_size)),
- off_tree));
- t = TREE_OPERAND (t, 0);
- }
diff --git a/sys-devel/gcc/files/3.2.1/gcc32-libjava-x86_64-biarch-sigaction.patch b/sys-devel/gcc/files/3.2.1/gcc32-libjava-x86_64-biarch-sigaction.patch
deleted file mode 100644
index 016aa11d4494..000000000000
--- a/sys-devel/gcc/files/3.2.1/gcc32-libjava-x86_64-biarch-sigaction.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- gcc-3.2/libjava/include/dwarf2-signal.h.libjava-x86_64-biarch-sigaction 2002-09-20 12:08:46.000000000 -0400
-+++ gcc-3.2/libjava/include/dwarf2-signal.h 2002-09-20 13:30:07.000000000 -0400
-@@ -209,7 +209,7 @@ do \
- while (0)
- #endif
- #elif !defined(__ia64__)
--#if defined(__x86_64__)
-+#if defined(__x86_64__) || (defined(__i386__) && !defined(SYS_sigaction))
- #define SYS_sigaction SYS_rt_sigaction
- #endif
- #define INIT_SEGV \
diff --git a/sys-devel/gcc/files/3.2.1/gcc32-pr8213.patch b/sys-devel/gcc/files/3.2.1/gcc32-pr8213.patch
deleted file mode 100644
index 762d198f4cfd..000000000000
--- a/sys-devel/gcc/files/3.2.1/gcc32-pr8213.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-2002-10-30 Jan Hubicka <jh@suse.cz>
-
- PR target/8213
- * config/i386/i386.c (ix86_expand_int_movcc): Fix RTL sharing problem.
-
-2002-11-04 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com>
-
- * testsuite/gcc.c-torture/execute/20021104.c: New test.
-
---- gcc-3.2/gcc/config/i386/i386.c.pr8213 2002-11-04 12:56:37.000000000 -0500
-+++ gcc-3.2/gcc/config/i386/i386.c 2002-11-04 13:21:22.000000000 -0500
-@@ -8274,11 +8274,11 @@ ix86_expand_int_movcc (operands)
- /* On x86_64 the lea instruction operates on Pmode, so we need to get arithmetics
- done in proper mode to match. */
- if (diff == 1)
-- tmp = out;
-+ tmp = copy_rtx (out);
- else
- {
- rtx out1;
-- out1 = out;
-+ out1 = copy_rtx (out);
- tmp = gen_rtx_MULT (mode, out1, GEN_INT (diff & ~1));
- nops++;
- if (diff & 1)
-@@ -8302,12 +8302,12 @@ ix86_expand_int_movcc (operands)
- clob = gen_rtx_REG (CCmode, FLAGS_REG);
- clob = gen_rtx_CLOBBER (VOIDmode, clob);
-
-- tmp = gen_rtx_SET (VOIDmode, out, tmp);
-+ tmp = gen_rtx_SET (VOIDmode, copy_rtx (out), tmp);
- tmp = gen_rtx_PARALLEL (VOIDmode, gen_rtvec (2, copy_rtx (tmp), clob));
- emit_insn (tmp);
- }
- else
-- emit_insn (gen_rtx_SET (VOIDmode, out, tmp));
-+ emit_insn (gen_rtx_SET (VOIDmode, copy_rtx (out), tmp));
- }
- if (out != operands[0])
- emit_move_insn (operands[0], copy_rtx (out));
---- gcc-3.2/gcc/testsuite/gcc.c-torture/execute/20021104.c.pr8213 2002-11-04 13:22:33.000000000 -0500
-+++ gcc-3.2/gcc/testsuite/gcc.c-torture/execute/20021104.c 2002-11-04 13:24:12.000000000 -0500
-@@ -0,0 +1,26 @@
-+/* PR target/8213
-+ This testcase, distilled from GNU gmp 4.1, was miscompiled on x86-64
-+ because of RTL sharing problems. */
-+
-+int f(long x, long y)
-+{
-+ if ((x < 0) == (y < 0))
-+ {
-+ if (x == 0)
-+ return -(y != 0);
-+ if (y == 0)
-+ return x != 0;
-+ }
-+ else
-+ {
-+ return x >= 0 ? 1 : -1;
-+ }
-+}
-+
-+int main(void)
-+{
-+ if (f(-1, 1) != -1)
-+ abort();
-+
-+ return 0;
-+}
diff --git a/sys-devel/gcc/files/3.2.1/gcc32-pr8988.patch b/sys-devel/gcc/files/3.2.1/gcc32-pr8988.patch
deleted file mode 100644
index dfb4a85c881b..000000000000
--- a/sys-devel/gcc/files/3.2.1/gcc32-pr8988.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-2002-12-19 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR optimization/8988
- * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
- the biv when eliminating.
-
-2002-12-19 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * gcc.c-torture/execute/20021219-1.c: New test.
-
---- gcc-3.2.1/gcc/testsuite/gcc.c-torture/execute/20021219-1.c.pr8988 2002-12-20 14:51:16.000000000 +0100
-+++ gcc-3.2.1/gcc/testsuite/gcc.c-torture/execute/20021219-1.c 2002-12-20 14:51:04.000000000 +0100
-@@ -0,0 +1,18 @@
-+/* PR optimization/8988 */
-+/* Contributed by Kevin Easton */
-+
-+void foo(char *p1, char **p2)
-+{}
-+
-+int main(void)
-+{
-+ char str[] = "foo { xx }";
-+ char *ptr = str + 5;
-+
-+ foo(ptr, &ptr);
-+
-+ while (*ptr && (*ptr == 13 || *ptr == 32))
-+ ptr++;
-+
-+ return 0;
-+}
---- gcc-3.2.1/gcc/loop.c.pr8988 2002-12-20 11:54:51.000000000 +0100
-+++ gcc-3.2.1/gcc/loop.c 2002-12-20 11:54:51.000000000 +0100
-@@ -8536,11 +8536,12 @@ maybe_eliminate_biv (loop, bl, eliminate
- enum rtx_code code = GET_CODE (p);
- basic_block where_bb = 0;
- rtx where_insn = threshold >= insn_count ? 0 : p;
-+ rtx note;
-
- /* If this is a libcall that sets a giv, skip ahead to its end. */
- if (GET_RTX_CLASS (code) == 'i')
- {
-- rtx note = find_reg_note (p, REG_LIBCALL, NULL_RTX);
-+ note = find_reg_note (p, REG_LIBCALL, NULL_RTX);
-
- if (note)
- {
-@@ -8558,6 +8559,8 @@ maybe_eliminate_biv (loop, bl, eliminate
- }
- }
- }
-+
-+ /* Closely examine the insn if the biv is mentioned. */
- if ((code == INSN || code == JUMP_INSN || code == CALL_INSN)
- && reg_mentioned_p (reg, PATTERN (p))
- && ! maybe_eliminate_biv_1 (loop, PATTERN (p), p, bl,
-@@ -8569,6 +8572,12 @@ maybe_eliminate_biv (loop, bl, eliminate
- bl->regno, INSN_UID (p));
- break;
- }
-+
-+ /* If we are eliminating, kill REG_EQUAL notes mentioning the biv. */
-+ if (eliminate_p
-+ && (note = find_reg_note (p, REG_EQUAL, NULL_RTX)) != NULL_RTX
-+ && reg_mentioned_p (reg, XEXP (note, 0)))
-+ remove_note (p, note);
- }
-
- if (p == loop->end)
diff --git a/sys-devel/gcc/files/3.2.1/gcc32-shared-pthread.patch b/sys-devel/gcc/files/3.2.1/gcc32-shared-pthread.patch
deleted file mode 100644
index 7c389d08798b..000000000000
--- a/sys-devel/gcc/files/3.2.1/gcc32-shared-pthread.patch
+++ /dev/null
@@ -1,99 +0,0 @@
---- gcc/config/alpha/linux-elf.h.jj 2001-12-31 12:12:33.000000000 +0100
-+++ gcc/config/alpha/linux-elf.h 2002-12-09 13:49:25.000000000 +0100
-@@ -39,5 +39,5 @@ Boston, MA 02111-1307, USA. */
- #ifndef USE_GNULIBC_1
- #undef LIB_SPEC
- #define LIB_SPEC \
--"%{shared:-lc}%{!shared:%{pthread:-lpthread }%{profile:-lc_p}%{!profile:-lc}} "
-+"%{pthread:-lpthread }%{shared:-lc}%{!shared:%{profile:-lc_p}%{!profile:-lc}} "
- #endif
---- gcc/config/alpha/linux.h.jj 2002-04-16 13:03:23.000000000 +0200
-+++ gcc/config/alpha/linux.h 2002-12-09 13:49:56.000000000 +0100
-@@ -34,9 +34,9 @@ SUB_CPP_PREDEFINES
-
- #undef LIB_SPEC
- #define LIB_SPEC \
-- "%{shared: -lc} \
-- %{!shared: %{pthread:-lpthread} \
-- %{profile:-lc_p} %{!profile: -lc}}"
-+ "%{pthread:-lpthread} \
-+ %{shared:-lc} \
-+ %{!shared: %{profile:-lc_p}%{!profile:-lc}}"
-
- /* Show that we need a GP when profiling. */
- #undef TARGET_PROFILING_NEEDS_GP
---- gcc/config/arm/linux-elf.h.jj 2002-04-16 13:03:38.000000000 +0200
-+++ gcc/config/arm/linux-elf.h 2002-12-09 13:50:39.000000000 +0100
-@@ -48,9 +48,9 @@ Boston, MA 02111-1307, USA. */
-
- /* Now we define the strings used to build the spec file. */
- #define LIB_SPEC \
-- "%{shared: -lc} \
-- %{!shared: %{pthread:-lpthread} \
-- %{profile:-lc_p} %{!profile: -lc}}"
-+ "%{pthread:-lpthread} \
-+ %{shared:-lc} \
-+ %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
-
- #define LIBGCC_SPEC "%{msoft-float:-lfloat} -lgcc"
-
---- gcc/config/pa/pa-linux.h.jj 2002-06-03 17:24:33.000000000 +0200
-+++ gcc/config/pa/pa-linux.h 2002-12-09 13:54:55.000000000 +0100
-@@ -33,9 +33,9 @@ Boston, MA 02111-1307, USA. */
-
- #undef LIB_SPEC
- #define LIB_SPEC \
-- "%{shared: -lgcc -lc} \
-- %{!shared: %{mieee-fp:-lieee} %{pthread:-lpthread} \
-- %{shared-libgcc: -lgcc} %{profile:-lc_p} %{!profile: -lc}}"
-+ "%{pthread:-lpthread} \
-+ %{shared:-lgcc -lc} \
-+ %{!shared:%{mieee-fp:-lieee} %{shared-libgcc:-lgcc} %{profile:-lc_p}%{!profile:-lc}}"
-
- #undef ASM_SPEC
- #define ASM_SPEC \
---- gcc/config/sparc/linux.h.jj 2002-04-29 16:22:40.000000000 +0200
-+++ gcc/config/sparc/linux.h 2002-12-09 13:56:39.000000000 +0100
-@@ -123,9 +123,9 @@ Boston, MA 02111-1307, USA. */
- %{!profile:%{!ggdb:-lc} %{ggdb:-lg}}}"
- #else
- #define LIB_SPEC \
-- "%{shared: -lc} \
-- %{!shared: %{mieee-fp:-lieee} %{pthread:-lpthread} \
-- %{profile:-lc_p} %{!profile: -lc}}"
-+ "%{pthread:-lpthread} \
-+ %{shared:-lc} \
-+ %{!shared:%{mieee-fp:-lieee} %{profile:-lc_p}%{!profile:-lc}}"
- #endif
- #else
- #define LIB_SPEC \
---- gcc/config/sparc/linux64.h.jj 2002-10-08 15:29:41.000000000 +0200
-+++ gcc/config/sparc/linux64.h 2002-12-09 13:56:25.000000000 +0100
-@@ -126,9 +126,9 @@ Boston, MA 02111-1307, USA. */
-
- #undef LIB_SPEC
- #define LIB_SPEC \
-- "%{shared: -lc} \
-- %{!shared: %{mieee-fp:-lieee} %{pthread:-lpthread} \
-- %{profile:-lc_p} %{!profile: -lc}}"
-+ "%{pthread:-lpthread} \
-+ %{shared:-lc} \
-+ %{!shared: %{mieee-fp:-lieee} %{profile:-lc_p}%{!profile:-lc}}"
-
- /* Provide a LINK_SPEC appropriate for GNU/Linux. Here we provide support
- for the special GCC options -static and -shared, which allow us to
---- gcc/config/linux.h.jj 2001-12-18 01:30:48.000000000 +0100
-+++ gcc/config/linux.h 2002-12-09 13:48:20.000000000 +0100
-@@ -93,9 +93,9 @@ Boston, MA 02111-1307, USA. */
- %{!profile:%{!ggdb:-lc} %{ggdb:-lg}}}"
- #else
- #define LIB_SPEC \
-- "%{shared: -lc} \
-- %{!shared: %{mieee-fp:-lieee} %{pthread:-lpthread} \
-- %{profile:-lc_p} %{!profile: -lc}}"
-+ "%{pthread:-lpthread} \
-+ %{shared:-lc} \
-+ %{!shared:%{mieee-fp:-lieee} %{profile:-lc_p}%{!profile:-lc}}"
- #endif
- #else
- #define LIB_SPEC \
diff --git a/sys-devel/gcc/files/3.2.1/gcc32-testsuite.patch b/sys-devel/gcc/files/3.2.1/gcc32-testsuite.patch
deleted file mode 100644
index fcedc534f604..000000000000
--- a/sys-devel/gcc/files/3.2.1/gcc32-testsuite.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- gcc/testsuite/g++.dg/template/varmod1.C.jj 2002-12-08 21:43:53.000000000 +0100
-+++ gcc/testsuite/g++.dg/template/varmod1.C 2002-12-09 14:01:33.000000000 +0100
-@@ -6,5 +6,5 @@ void bar()
- {
- int i;
- int A[i][i];
-- foo(A); // { dg-error }
-+ foo(A); // { dg-error "" }
- }
---- gcc/testsuite/g++.dg/parse/parameter-declaration-1.C.jj 2002-12-08 21:43:51.000000000 +0100
-+++ gcc/testsuite/g++.dg/parse/parameter-declaration-1.C 2002-12-09 14:04:07.000000000 +0100
-@@ -3,4 +3,4 @@
- // { dg-do compile }
-
- struct {
-- a(void = 0; a(0), a(0) // { dg-error "" }
-+ a(void = 0; a(0), a(0) // { dg-error "" "" { target *-*-* } 7 }
diff --git a/sys-devel/gcc/files/3.2.1/gcc32-tls-reload-fix.patch b/sys-devel/gcc/files/3.2.1/gcc32-tls-reload-fix.patch
deleted file mode 100644
index 83259ffbee5a..000000000000
--- a/sys-devel/gcc/files/3.2.1/gcc32-tls-reload-fix.patch
+++ /dev/null
@@ -1,216 +0,0 @@
---- gcc/config/i386/i386.c.jj 2002-11-15 19:50:05.000000000 +0100
-+++ gcc/config/i386/i386.c 2002-12-08 22:09:30.000000000 +0100
-@@ -707,6 +707,7 @@ struct ix86_address
- };
-
- static int ix86_decompose_address PARAMS ((rtx, struct ix86_address *));
-+static bool ix86_cannot_force_const_mem PARAMS ((rtx));
-
- struct builtin_description;
- static rtx ix86_expand_sse_comi PARAMS ((const struct builtin_description *,
-@@ -837,6 +838,8 @@ static enum x86_64_reg_class merge_class
- #undef TARGET_HAVE_TLS
- #define TARGET_HAVE_TLS true
- #endif
-+#undef TARGET_CANNOT_FORCE_CONST_MEM
-+#define TARGET_CANNOT_FORCE_CONST_MEM ix86_cannot_force_const_mem
-
- struct gcc_target targetm = TARGET_INITIALIZER;
-
-@@ -4952,6 +4955,13 @@ legitimate_constant_p (x)
- return true;
- }
-
-+static bool
-+ix86_cannot_force_const_mem (x)
-+ rtx x;
-+{
-+ return !legitimate_constant_p (x);
-+}
-+
- /* Determine if a given RTX is a valid constant address. */
-
- bool
-@@ -7568,29 +7578,6 @@ ix86_expand_move (mode, operands)
- op0 = operands[0];
- op1 = operands[1];
-
-- /* ??? We have a slight problem. We need to say that tls symbols are
-- not legitimate constants so that reload does not helpfully reload
-- these constants from a REG_EQUIV, which we cannot handle. (Recall
-- that general- and local-dynamic address resolution requires a
-- function call.)
--
-- However, if we say that tls symbols are not legitimate constants,
-- then emit_move_insn helpfully drop them into the constant pool.
--
-- It is far easier to work around emit_move_insn than reload. Recognize
-- the MEM that we would have created and extract the symbol_ref. */
--
-- if (mode == Pmode
-- && GET_CODE (op1) == MEM
-- && RTX_UNCHANGING_P (op1))
-- {
-- tmp = maybe_get_pool_constant (op1);
-- /* Note that we only care about symbolic constants here, which
-- unlike CONST_INT will always have a proper mode. */
-- if (tmp && GET_MODE (tmp) == Pmode)
-- op1 = tmp;
-- }
--
- if (tls_symbolic_operand (op1, Pmode))
- {
- op1 = legitimize_address (op1, op1, VOIDmode);
---- gcc/testsuite/gcc.dg/tls/opt-4.c.jj 2002-12-08 22:09:30.000000000 +0100
-+++ gcc/testsuite/gcc.dg/tls/opt-4.c 2002-12-08 22:09:30.000000000 +0100
-@@ -0,0 +1,53 @@
-+/* { dg-do compile } */
-+/* { dg-options "-O2" } */
-+
-+struct A
-+{
-+ int a1;
-+ int a2;
-+};
-+
-+extern __thread const unsigned char *tcc1, **tcc2;
-+
-+extern inline const unsigned char ** __attribute__ ((const))
-+foo (void)
-+{
-+ const unsigned char **a = &tcc1;
-+ if (*a == 0)
-+ *a = *tcc2 + 128;
-+ return a;
-+}
-+
-+extern inline int
-+bar (const struct A *x)
-+{
-+ int a;
-+
-+ if (x->a2 & 8)
-+ return 0;
-+ a = x->a1;
-+ return a > 0 && ((*foo ())[a] & 64);
-+}
-+
-+int
-+baz (const struct A *x, char *y)
-+{
-+ const struct A *a;
-+
-+ for (a = x; !!a->a1; a++)
-+ if (! (x->a2 & 8))
-+ if (bar (a))
-+ {
-+ *y++ = a->a1;
-+ if (x->a1)
-+ *y++ = ':';
-+ *y = '\0';
-+ }
-+ return 0;
-+}
-+
-+/* Verify tcc1 and tcc2 variables show up only in the TLS access sequences. */
-+/* { dg-final { scan-assembler "tcc1@" { target i?86-*-* x86_64-*-* } } } */
-+/* { dg-final { scan-assembler "tcc2@" { target i?86-*-* x86_64-*-* } } } */
-+/* { dg-final { scan-assembler-not "tcc1\[^@\]" { target i?86-*-* x86_64-*-* } } } */
-+/* { dg-final { scan-assembler-not "tcc2\[^@\]" { target i?86-*-* x86_64-*-* } } } */
---- gcc/expr.c.jj 2002-11-09 18:38:42.000000000 +0100
-+++ gcc/expr.c 2002-12-08 22:15:02.000000000 +0100
-@@ -2782,6 +2782,12 @@ emit_move_insn (x, y)
- {
- y_cst = y;
- y = force_const_mem (mode, y);
-+
-+ /* If the target's cannot_force_const_mem prevented the spill,
-+ assume that the target's move expanders will also take care
-+ of the non-legitimate constant. */
-+ if (!y)
-+ y = y_cst;
- }
-
- /* If X or Y are memory references, verify that their addresses are valid
---- gcc/hooks.c.jj 2002-11-09 18:38:45.000000000 +0100
-+++ gcc/hooks.c 2002-12-08 22:09:29.000000000 +0100
-@@ -46,3 +46,10 @@ hook_tree_bool_false (a)
- {
- return false;
- }
-+
-+bool
-+hook_bool_rtx_false (a)
-+ rtx a ATTRIBUTE_UNUSED;
-+{
-+ return false;
-+}
---- gcc/hooks.h.jj 2002-11-09 18:38:45.000000000 +0100
-+++ gcc/hooks.h 2002-12-08 22:16:51.000000000 +0100
-@@ -25,5 +25,6 @@ Foundation, 59 Temple Place - Suite 330,
- bool hook_void_bool_false PARAMS ((void));
- void hook_void_void PARAMS ((void));
- bool hook_tree_bool_false PARAMS ((tree));
-+bool hook_bool_rtx_false PARAMS ((rtx));
-
- #endif
---- gcc/reload1.c.jj 2002-10-16 16:10:07.000000000 +0200
-+++ gcc/reload1.c 2002-12-08 22:09:29.000000000 +0100
-@@ -820,8 +820,12 @@ reload (first, global)
- else if (LEGITIMATE_CONSTANT_P (x))
- reg_equiv_constant[i] = x;
- else
-- reg_equiv_memory_loc[i]
-- = force_const_mem (GET_MODE (SET_DEST (set)), x);
-+ {
-+ reg_equiv_memory_loc[i]
-+ = force_const_mem (GET_MODE (SET_DEST (set)), x);
-+ if (!reg_equiv_memory_loc[i])
-+ continue;
-+ }
- }
- else
- continue;
---- gcc/target-def.h.jj 2002-09-24 15:07:32.000000000 +0200
-+++ gcc/target-def.h 2002-12-08 22:18:20.000000000 +0100
-@@ -181,6 +181,7 @@ Foundation, 59 Temple Place - Suite 330,
-
- /* In hook.c. */
- #define TARGET_CANNOT_MODIFY_JUMPS_P hook_void_bool_false
-+#define TARGET_CANNOT_FORCE_CONST_MEM hook_bool_rtx_false
-
- /* The whole shebang. */
- #define TARGET_INITIALIZER \
-@@ -199,6 +200,7 @@ Foundation, 59 Temple Place - Suite 330,
- TARGET_EXPAND_BUILTIN, \
- TARGET_SECTION_TYPE_FLAGS, \
- TARGET_CANNOT_MODIFY_JUMPS_P, \
-+ TARGET_CANNOT_FORCE_CONST_MEM, \
- TARGET_HAVE_NAMED_SECTIONS, \
- TARGET_HAVE_CTORS_DTORS, \
- TARGET_HAVE_TLS \
---- gcc/target.h.jj 2002-09-24 15:07:32.000000000 +0200
-+++ gcc/target.h 2002-12-08 22:17:34.000000000 +0100
-@@ -182,6 +182,9 @@ struct gcc_target
- not, at the current point in the compilation. */
- bool (* cannot_modify_jumps_p) PARAMS ((void));
-
-+ /* True if the constant X cannot be placed in the constant pool. */
-+ bool (* cannot_force_const_mem) PARAMS ((rtx));
-+
- /* True if arbitrary sections are supported. */
- bool have_named_sections;
-
---- gcc/varasm.c.jj 2002-11-26 17:23:47.000000000 +0100
-+++ gcc/varasm.c 2002-12-08 22:09:30.000000000 +0100
-@@ -3789,6 +3789,10 @@ force_const_mem (mode, x)
- struct pool_constant *pool;
- unsigned int align;
-
-+ /* If we're not allowed to drop X into the constant pool, don't. */
-+ if ((*targetm.cannot_force_const_mem) (x))
-+ return NULL_RTX;
-+
- /* Compute hash code of X. Search the descriptors for that hash code
- to see if any of them describes X. If yes, we have an rtx to use. */
- hash = const_hash_rtx (mode, x);
diff --git a/sys-devel/gcc/files/3.2.2/gcc32-pr9732.patch b/sys-devel/gcc/files/3.2.2/gcc32-pr9732.patch
deleted file mode 100644
index 6bc1a3531da1..000000000000
--- a/sys-devel/gcc/files/3.2.2/gcc32-pr9732.patch
+++ /dev/null
@@ -1,159 +0,0 @@
-2003-02-25 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- PR target/9732
- * config/rs6000/rs6000.c (first_reg_to_save): Handle
- PIC_OFFSET_TABLE_REGNUM for -fPIC too.
- (rs6000_emit_prologue): Likewise.
- (rs6000_emit_epilogue): Likewise.
- * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Make
- PIC_OFFSET_TABLE_REGNUM a fixed register for -fPIC.
- * testsuite/gcc.dg/20030225-2.c: New test.
-
---- gcc-3.2.2/gcc/config/rs6000/rs6000.c.pr9732 2003-01-29 20:56:16.000000000 +0100
-+++ gcc-3.2.2/gcc/config/rs6000/rs6000.c 2003-02-28 10:52:09.000000000 +0100
-@@ -7412,7 +7412,7 @@ first_reg_to_save ()
- if (regs_ever_live[first_reg]
- && (! call_used_regs[first_reg]
- || (first_reg == RS6000_PIC_OFFSET_TABLE_REGNUM
-- && ((DEFAULT_ABI == ABI_V4 && flag_pic == 1)
-+ && ((DEFAULT_ABI == ABI_V4 && flag_pic != 0)
- || (DEFAULT_ABI == ABI_DARWIN && flag_pic)))))
- break;
-
-@@ -8804,7 +8804,7 @@ rs6000_emit_prologue ()
- if ((regs_ever_live[info->first_gp_reg_save+i]
- && ! call_used_regs[info->first_gp_reg_save+i])
- || (i+info->first_gp_reg_save == RS6000_PIC_OFFSET_TABLE_REGNUM
-- && ((DEFAULT_ABI == ABI_V4 && flag_pic == 1)
-+ && ((DEFAULT_ABI == ABI_V4 && flag_pic != 0)
- || (DEFAULT_ABI == ABI_DARWIN && flag_pic))))
- {
- rtx addr, reg, mem;
-@@ -9190,7 +9190,7 @@ rs6000_emit_epilogue (sibcall)
- if ((regs_ever_live[info->first_gp_reg_save+i]
- && ! call_used_regs[info->first_gp_reg_save+i])
- || (i+info->first_gp_reg_save == RS6000_PIC_OFFSET_TABLE_REGNUM
-- && ((DEFAULT_ABI == ABI_V4 && flag_pic == 1)
-+ && ((DEFAULT_ABI == ABI_V4 && flag_pic != 0)
- || (DEFAULT_ABI == ABI_DARWIN && flag_pic))))
- {
- rtx addr = gen_rtx_PLUS (Pmode, frame_reg_rtx,
---- gcc-3.2.2/gcc/config/rs6000/rs6000.h.pr9732 2002-08-08 19:52:40.000000000 +0200
-+++ gcc-3.2.2/gcc/config/rs6000/rs6000.h 2003-02-28 10:52:10.000000000 +0100
-@@ -962,6 +962,10 @@ extern int rs6000_altivec_abi;
- = call_really_used_regs[i] = 1; \
- if (DEFAULT_ABI == ABI_V4 \
- && PIC_OFFSET_TABLE_REGNUM != INVALID_REGNUM \
-+ && flag_pic == 2) \
-+ fixed_regs[RS6000_PIC_OFFSET_TABLE_REGNUM] = 1; \
-+ if (DEFAULT_ABI == ABI_V4 \
-+ && PIC_OFFSET_TABLE_REGNUM != INVALID_REGNUM \
- && flag_pic == 1) \
- fixed_regs[RS6000_PIC_OFFSET_TABLE_REGNUM] \
- = call_used_regs[RS6000_PIC_OFFSET_TABLE_REGNUM] \
---- gcc-3.2.2/gcc/testsuite/gcc.dg/20030225-2.c.pr9732 2003-02-28 10:55:14.000000000 +0100
-+++ gcc-3.2.2/gcc/testsuite/gcc.dg/20030225-2.c 2003-02-28 10:55:03.000000000 +0100
-@@ -0,0 +1,103 @@
-+/* PR target/9732
-+ This testcase segfaulted on PPC because PIC_OFFSET_TABLE_REGNUM was no
-+ fixed register.
-+ Distilled from the xvid sources by Guillaume Morin <guillaume@morinfr.org>
-+ and Benjamin Herrenschmidt <benh@kernel.crashing.org>. */
-+/* { dg-do run } */
-+/* { dg-options "-O2 -fPIC" } */
-+/* { dg-warning "not supported" "PIC unsupported" { target cris-*-elf* mmix-*-* } 0 } */
-+
-+
-+extern void exit (int);
-+
-+#define W1 2841 /* 2048*sqrt(2)*cos(1*pi/16) */
-+#define W2 2676 /* 2048*sqrt(2)*cos(2*pi/16) */
-+#define W3 2408 /* 2048*sqrt(2)*cos(3*pi/16) */
-+#define W5 1609 /* 2048*sqrt(2)*cos(5*pi/16) */
-+#define W6 1108 /* 2048*sqrt(2)*cos(6*pi/16) */
-+#define W7 565 /* 2048*sqrt(2)*cos(7*pi/16) */
-+
-+
-+/* private data */
-+static short iclip[1024]; /* clipping table */
-+static short *iclp;
-+
-+void
-+idct_int32(short *const block)
-+{
-+ static short *blk;
-+ static long i;
-+ static long X0, X1, X2, X3, X4, X5, X6, X7, X8;
-+
-+ for (i = 0; i < 8; i++) /* idct columns */
-+ {
-+ blk = block + i;
-+ /* shortcut */
-+ if (! ((X1 = (blk[8 * 4] << 8)) | (X2 = blk[8 * 6])
-+ | (X3 = blk[8 * 2]) | (X4 = blk[8 * 1]) | (X5 = blk[8 * 7])
-+ | (X6 = blk[8 * 5]) | (X7 = blk[8 * 3])))
-+ {
-+ blk[8 * 0] = blk[8 * 1] = blk[8 * 2] =
-+ blk[8 * 3] = blk[8 * 4] =
-+ blk[8 * 5] = blk[8 * 6] = blk[8 * 7] =
-+ iclp[(blk[8 * 0] + 32) >> 6];
-+ continue;
-+ }
-+ X0 = (blk[8 * 0] << 8) + 8192;
-+
-+ /* first stage */
-+ X8 = W7 * (X4 + X5) + 4;
-+ X4 = (X8 + (W1 - W7) * X4) >> 3;
-+ X5 = (X8 - (W1 + W7) * X5) >> 3;
-+ X8 = W3 * (X6 + X7) + 4;
-+ X6 = (X8 - (W3 - W5) * X6) >> 3;
-+ X7 = (X8 - (W3 + W5) * X7) >> 3;
-+
-+ /* second stage */
-+ X8 = X0 + X1;
-+ X0 -= X1;
-+ X1 = W6 * (X3 + X2) + 4;
-+ X2 = (X1 - (W2 + W6) * X2) >> 3;
-+ X3 = (X1 + (W2 - W6) * X3) >> 3;
-+ X1 = X4 + X6;
-+ X4 -= X6;
-+ X6 = X5 + X7;
-+ X5 -= X7;
-+
-+ /* third stage */
-+ X7 = X8 + X3;
-+ X8 -= X3;
-+ X3 = X0 + X2;
-+ X0 -= X2;
-+ X2 = (181 * (X4 + X5) + 128) >> 8;
-+ X4 = (181 * (X4 - X5) + 128) >> 8;
-+
-+ /* fourth stage */
-+ blk[8 * 0] = iclp[(X7 + X1) >> 14];
-+ blk[8 * 1] = iclp[(X3 + X2) >> 14];
-+ blk[8 * 2] = iclp[(X0 + X4) >> 14];
-+ blk[8 * 3] = iclp[(X8 + X6) >> 14];
-+ blk[8 * 4] = iclp[(X8 - X6) >> 14];
-+ blk[8 * 5] = iclp[(X0 - X4) >> 14];
-+ blk[8 * 6] = iclp[(X3 - X2) >> 14];
-+ blk[8 * 7] = iclp[(X7 - X1) >> 14];
-+ }
-+} /* end function idct_int32(block) */
-+
-+
-+int main(void) {
-+ int i;
-+ unsigned short tab[64];
-+
-+ for (i = 0 ; i < 64 ; ++i)
-+ {
-+ tab[i] = (1+(int) (65535)*8000/(2147483647+1.0));
-+ }
-+
-+ iclp = iclip + 512;
-+ for (i = -512; i < 512; i++)
-+ iclp[i] = (i < -256) ? -256 : ((i > 255) ? 255 : i);
-+
-+ idct_int32((short *) tab);
-+ exit (0);
-+}
diff --git a/sys-devel/gcc/files/3.2.2/gcc322-pr8746.patch b/sys-devel/gcc/files/3.2.2/gcc322-pr8746.patch
deleted file mode 100644
index aa4a8cd26dd3..000000000000
--- a/sys-devel/gcc/files/3.2.2/gcc322-pr8746.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-2003-03-20 Eric Botcazou <ebotcazou at libertysurf dot fr>
-
- PR optimization/8746
- * i386.md (and promoting splitters): Further disable QI to SImode
- promoting, as well as HI to SImode promoting, when doing so
- changes immediate to be 32bit.
-
-
-2003-03-20 Eric Botcazou <ebotcazou at libertysurf dot fr>
-
- * gcc.dg/i386-signbit-2.c: New test.
- * gcc.dg/i386-signbit-3.c: New test.
-
-Index: config/i386/i386.md
-===================================================================
-RCS file: /cvs/gcc/gcc/gcc/config/i386/i386.md,v
-retrieving revision 1.404.2.11
-diff -u -r1.404.2.11 i386.md
---- gcc/config/i386/i386.md 13 Mar 2003 00:47:26 -0000 1.404.2.11
-+++ gcc/config/i386/i386.md 20 Mar 2003 16:15:17 -0000
-@@ -16845,20 +16845,20 @@
- operands[2] = gen_lowpart (SImode, operands[2]);
- PUT_MODE (operands[3], SImode);")
-
-+; Don't promote the QImode tests, as i386 doesn't have encoding
-+; of test instructions with 32-bit sign-extended immediate so the
-+; code grows.
- (define_split
- [(set (reg 17)
-- (compare (and (match_operand 1 "aligned_operand" "")
-- (match_operand 2 "const_int_operand" ""))
-+ (compare (and (match_operand:HI 1 "aligned_operand" "")
-+ (match_operand:HI 2 "const_int_operand" ""))
- (const_int 0)))
- (set (match_operand 0 "register_operand" "")
- (and (match_dup 1) (match_dup 2)))]
- "! TARGET_PARTIAL_REG_STALL && reload_completed
- && ix86_match_ccmode (insn, CCNOmode)
-- && (GET_MODE (operands[0]) == HImode
-- || (GET_MODE (operands[0]) == QImode
-- /* Ensure that the operand will remain sign extended immediate. */
-- && INTVAL (operands[2]) >= 0
-- && (TARGET_PROMOTE_QImode || optimize_size)))"
-+ /* Ensure that the operand will remain sign-extended immediate. */
-+ && INTVAL (operands[2]) >= 0"
- [(parallel [(set (reg:CCNO 17)
- (compare:CCNO (and:SI (match_dup 1) (match_dup 2))
- (const_int 0)))
-@@ -16871,9 +16871,9 @@
- operands[0] = gen_lowpart (SImode, operands[0]);
- operands[1] = gen_lowpart (SImode, operands[1]);")
-
--; Don't promote the QImode tests, as i386 don't have encoding of
--; the test instruction with 32bit sign extended immediate and thus
--; the code grows.
-+; Don't promote the QImode tests, as i386 doesn't have encoding
-+; of test instructions with 32-bit sign-extended immediate so the
-+; code grows.
- (define_split
- [(set (reg 17)
- (compare (and (match_operand:HI 0 "aligned_operand" "")
-@@ -16881,7 +16881,8 @@
- (const_int 0)))]
- "! TARGET_PARTIAL_REG_STALL && reload_completed
- && ix86_match_ccmode (insn, CCNOmode)
-- && GET_MODE (operands[0]) == HImode"
-+ /* Ensure that the operand will remain sign-extended immediate. */
-+ && INTVAL (operands[1]) >= 0"
- [(set (reg:CCNO 17)
- (compare:CCNO (and:SI (match_dup 0) (match_dup 1))
- (const_int 0)))]
-
-
diff --git a/sys-devel/gcc/files/3.2.2/gcc322-pr9888.patch b/sys-devel/gcc/files/3.2.2/gcc322-pr9888.patch
deleted file mode 100644
index cca60f87ad4d..000000000000
--- a/sys-devel/gcc/files/3.2.2/gcc322-pr9888.patch
+++ /dev/null
@@ -1,293 +0,0 @@
-Index:. gcc/config/i386/i386.md
-===================================================================
-RCS file: /cvs/gcc/gcc/gcc/config/i386/i386.md,v
-retrieving revision 1.339.2.13.2.2
-diff -u -p -r1.339.2.13.2.2 i386.md
---- gcc/config/i386/i386.md 24 Oct 2002 17:11:54 -0000 1.339.2.13.2.2
-+++ gcc/config/i386/i386.md 10 Mar 2003 20:24:35 -0000
-@@ -131,7 +131,7 @@
-
- ;; The (bounding maximum) length of an instruction immediate.
- (define_attr "length_immediate" ""
-- (cond [(eq_attr "type" "incdec,setcc,icmov,ibr,str,cld,lea,other,multi,idiv,sse,mmx")
-+ (cond [(eq_attr "type" "incdec,setcc,icmov,str,cld,lea,other,multi,idiv,sse,mmx")
- (const_int 0)
- (eq_attr "i387" "1")
- (const_int 0)
-@@ -147,13 +147,10 @@
- (if_then_else (match_operand 1 "constant_call_address_operand" "")
- (const_int 4)
- (const_int 0))
-+ ;; We don't know the size before shorten_branches. Expect
-+ ;; the instruction to fit for better scheduling.
- (eq_attr "type" "ibr")
-- (if_then_else (and (ge (minus (match_dup 0) (pc))
-- (const_int -128))
-- (lt (minus (match_dup 0) (pc))
-- (const_int 124)))
-- (const_int 1)
-- (const_int 4))
-+ (const_int 1)
- ]
- (symbol_ref "/* Update immediate_length and other attributes! */ abort(),1")))
-
-@@ -162,7 +159,7 @@
- (cond [(eq_attr "type" "str,cld,other,multi,fxch")
- (const_int 0)
- (and (eq_attr "type" "call")
-- (match_operand 1 "constant_call_address_operand" ""))
-+ (match_operand 0 "constant_call_address_operand" ""))
- (const_int 0)
- (and (eq_attr "type" "callv")
- (match_operand 1 "constant_call_address_operand" ""))
-@@ -205,6 +202,12 @@
- (and (match_operand 0 "register_operand" "")
- (match_operand 1 "immediate_operand" "")))
- (const_int 0)
-+ (and (eq_attr "type" "call")
-+ (match_operand 0 "constant_call_address_operand" ""))
-+ (const_int 0)
-+ (and (eq_attr "type" "callv")
-+ (match_operand 1 "constant_call_address_operand" ""))
-+ (const_int 0)
- ]
- (const_int 1)))
-
-@@ -1733,14 +1736,9 @@
- (set_attr "mode" "SI")
- (set_attr "length_immediate" "1")])
-
--; The first alternative is used only to compute proper length of instruction.
--; Reload's algorithm does not take into account the cost of spill instructions
--; needed to free register in given class, so avoid it from choosing the first
--; alternative when eax is not available.
--
- (define_insn "*movsi_1"
-- [(set (match_operand:SI 0 "nonimmediate_operand" "=*?a,r,*?a,m,!*y,!rm,!*y,!*Y,!rm,!*Y")
-- (match_operand:SI 1 "general_operand" "im,rinm,rinm,rin,rm,*y,*y,rm,*Y,*Y"))]
-+ [(set (match_operand:SI 0 "nonimmediate_operand" "=r,m,!*y,!rm,!*y,!*Y,!rm,!*Y")
-+ (match_operand:SI 1 "general_operand" "rinm,rin,rm,*y,*y,rm,*Y,*Y"))]
- "GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM"
- {
- switch (get_attr_type (insn))
-@@ -1765,17 +1763,16 @@
- }
- }
- [(set (attr "type")
-- (cond [(eq_attr "alternative" "4,5,6")
-+ (cond [(eq_attr "alternative" "2,3,4")
- (const_string "mmx")
-- (eq_attr "alternative" "7,8,9")
-+ (eq_attr "alternative" "5,6,7")
- (const_string "sse")
- (and (ne (symbol_ref "flag_pic") (const_int 0))
- (match_operand:SI 1 "symbolic_operand" ""))
- (const_string "lea")
- ]
- (const_string "imov")))
-- (set_attr "modrm" "0,*,0,*,*,*,*,*,*,*")
-- (set_attr "mode" "SI,SI,SI,SI,SI,SI,DI,TI,SI,SI")])
-+ (set_attr "mode" "SI,SI,SI,SI,DI,TI,SI,SI")])
-
- ;; Stores and loads of ax to arbitary constant address.
- ;; We fake an second form of instruction to force reload to load address
-@@ -1848,14 +1845,9 @@
- [(set_attr "type" "push")
- (set_attr "mode" "QI")])
-
--; The first alternative is used only to compute proper length of instruction.
--; Reload's algorithm does not take into account the cost of spill instructions
--; needed to free register in given class, so avoid it from choosing the first
--; alternative when eax is not available.
--
- (define_insn "*movhi_1"
-- [(set (match_operand:HI 0 "nonimmediate_operand" "=*?a,r,r,*?a,r,m")
-- (match_operand:HI 1 "general_operand" "i,r,rn,rm,rm,rn"))]
-+ [(set (match_operand:HI 0 "nonimmediate_operand" "=r,r,r,m")
-+ (match_operand:HI 1 "general_operand" "r,rn,rm,rn"))]
- "GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM"
- {
- switch (get_attr_type (insn))
-@@ -1872,36 +1864,35 @@
- }
- }
- [(set (attr "type")
-- (cond [(and (eq_attr "alternative" "0,1")
-+ (cond [(and (eq_attr "alternative" "0")
- (ior (eq (symbol_ref "TARGET_PARTIAL_REG_STALL")
- (const_int 0))
- (eq (symbol_ref "TARGET_HIMODE_MATH")
- (const_int 0))))
- (const_string "imov")
-- (and (eq_attr "alternative" "2,3,4")
-+ (and (eq_attr "alternative" "1,2")
- (match_operand:HI 1 "aligned_operand" ""))
- (const_string "imov")
- (and (ne (symbol_ref "TARGET_MOVX")
- (const_int 0))
-- (eq_attr "alternative" "0,1,3,4"))
-+ (eq_attr "alternative" "0,2"))
- (const_string "imovx")
- ]
- (const_string "imov")))
- (set (attr "mode")
- (cond [(eq_attr "type" "imovx")
- (const_string "SI")
-- (and (eq_attr "alternative" "2,3,4")
-+ (and (eq_attr "alternative" "1,2")
- (match_operand:HI 1 "aligned_operand" ""))
- (const_string "SI")
-- (and (eq_attr "alternative" "0,1")
-+ (and (eq_attr "alternative" "0")
- (ior (eq (symbol_ref "TARGET_PARTIAL_REG_STALL")
- (const_int 0))
- (eq (symbol_ref "TARGET_HIMODE_MATH")
- (const_int 0))))
- (const_string "SI")
- ]
-- (const_string "HI")))
-- (set_attr "modrm" "0,*,*,0,*,*")])
-+ (const_string "HI")))])
-
- ;; Stores and loads of ax to arbitary constant address.
- ;; We fake an second form of instruction to force reload to load address
-@@ -12961,13 +12952,14 @@
- ""
- "%+j%C1\t%l0"
- [(set_attr "type" "ibr")
-- (set (attr "prefix_0f")
-+ (set_attr "modrm" "0")
-+ (set (attr "length")
- (if_then_else (and (ge (minus (match_dup 0) (pc))
-- (const_int -128))
-+ (const_int -126))
- (lt (minus (match_dup 0) (pc))
-- (const_int 124)))
-- (const_int 0)
-- (const_int 1)))])
-+ (const_int 128)))
-+ (const_int 2)
-+ (const_int 6)))])
-
- (define_insn "*jcc_2"
- [(set (pc)
-@@ -12978,13 +12970,14 @@
- ""
- "%+j%c1\t%l0"
- [(set_attr "type" "ibr")
-- (set (attr "prefix_0f")
-+ (set_attr "modrm" "0")
-+ (set (attr "length")
- (if_then_else (and (ge (minus (match_dup 0) (pc))
-- (const_int -128))
-+ (const_int -126))
- (lt (minus (match_dup 0) (pc))
-- (const_int 124)))
-- (const_int 0)
-- (const_int 1)))])
-+ (const_int 128)))
-+ (const_int 2)
-+ (const_int 6)))])
-
- ;; In general it is not safe to assume too much about CCmode registers,
- ;; so simplify-rtx stops when it sees a second one. Under certain
-@@ -13244,7 +13237,15 @@
- (label_ref (match_operand 0 "" "")))]
- ""
- "jmp\t%l0"
-- [(set_attr "type" "ibr")])
-+ [(set_attr "type" "ibr")
-+ (set (attr "length")
-+ (if_then_else (and (ge (minus (match_dup 0) (pc))
-+ (const_int -126))
-+ (lt (minus (match_dup 0) (pc))
-+ (const_int 128)))
-+ (const_int 2)
-+ (const_int 5)))
-+ (set_attr "modrm" "0")])
-
- (define_expand "indirect_jump"
- [(set (pc) (match_operand 0 "nonimmediate_operand" "rm"))]
-@@ -13357,14 +13358,17 @@
- return "dec{l}\t%1\;%+jne\t%l0";
- }
- [(set_attr "ppro_uops" "many")
-- (set (attr "type")
-+ (set (attr "length")
- (if_then_else (and (eq_attr "alternative" "0")
- (and (ge (minus (match_dup 0) (pc))
-- (const_int -128))
-+ (const_int -126))
- (lt (minus (match_dup 0) (pc))
-- (const_int 124))))
-- (const_string "ibr")
-- (const_string "multi")))])
-+ (const_int 128))))
-+ (const_int 2)
-+ (const_int 16)))
-+ ;; We don't know the type before shorten branches. Optimistically expect
-+ ;; the loop instruction to match.
-+ (set (attr "type") (const_string "ibr"))])
-
- (define_split
- [(set (pc)
-@@ -13879,7 +13883,6 @@
- [(set_attr "length_immediate" "0")
- (set_attr "length" "1")
- (set_attr "modrm" "0")
-- (set_attr "modrm" "0")
- (set_attr "athlon_decode" "vector")
- (set_attr "ppro_uops" "few")])
-
-@@ -13891,7 +13894,6 @@
- "leave"
- [(set_attr "length_immediate" "0")
- (set_attr "length" "1")
-- (set_attr "modrm" "0")
- (set_attr "modrm" "0")
- (set_attr "athlon_decode" "vector")
- (set_attr "ppro_uops" "few")])
-Index:. gcc/config/i386/i386.c
-===================================================================
-RCS file: /cvs/gcc/gcc/gcc/config/i386/i386.c,v
-retrieving revision 1.368.2.19.2.11
-diff -u -p -r1.368.2.19.2.11 i386.c
---- gcc/config/i386/i386.c 28 Feb 2003 17:31:34 -0000 1.368.2.19.2.11
-+++ gcc/config/i386/i386.c 10 Mar 2003 20:26:37 -0000
-@@ -9939,7 +9939,8 @@ memory_address_length (addr)
- if (disp)
- {
- if (GET_CODE (disp) == CONST_INT
-- && CONST_OK_FOR_LETTER_P (INTVAL (disp), 'K'))
-+ && CONST_OK_FOR_LETTER_P (INTVAL (disp), 'K')
-+ && base)
- len = 1;
- else
- len = 4;
-@@ -10002,6 +10003,26 @@ ix86_attr_length_address_default (insn)
- rtx insn;
- {
- int i;
-+
-+ if (get_attr_type (insn) == TYPE_LEA)
-+ {
-+ rtx set = PATTERN (insn);
-+ if (GET_CODE (set) == SET)
-+ ;
-+ else if (GET_CODE (set) == PARALLEL
-+ && GET_CODE (XVECEXP (set, 0, 0)) == SET)
-+ set = XVECEXP (set, 0, 0);
-+ else
-+ {
-+#ifdef ENABLE_CHECKING
-+ abort ();
-+#endif
-+ return 0;
-+ }
-+
-+ return memory_address_length (SET_SRC (set));
-+ }
-+
- extract_insn_cached (insn);
- for (i = recog_data.n_operands - 1; i >= 0; --i)
- if (GET_CODE (recog_data.operand[i]) == MEM)
diff --git a/sys-devel/gcc/files/3.2/gcc-3.2-glibc-2.3-compat.diff b/sys-devel/gcc/files/3.2/gcc-3.2-glibc-2.3-compat.diff
deleted file mode 100644
index fe86aa232a73..000000000000
--- a/sys-devel/gcc/files/3.2/gcc-3.2-glibc-2.3-compat.diff
+++ /dev/null
@@ -1,154 +0,0 @@
-*** gcc-3.2/libstdc++-v3/config/locale/gnu/c_locale.cc.bak 2002-04-19 09:59:03.000000000 +0200
---- gcc-3.2/libstdc++-v3/config/locale/gnu/c_locale.cc 2002-09-29 01:08:12.000000000 +0200
-***************
-*** 39,44 ****
---- 39,55 ----
-
- namespace std
- {
-+ extern "C" __typeof (strtol_l) __strtol_l;
-+ extern "C" __typeof (strtoul_l) __strtoul_l;
-+ extern "C" __typeof (strtoll_l) __strtoll_l;
-+ extern "C" __typeof (strtoull_l) __strtoull_l;
-+ extern "C" __typeof (strtof_l) __strtof_l;
-+ extern "C" __typeof (strtod_l) __strtod_l;
-+ extern "C" __typeof (strtold_l) __strtold_l;
-+ extern "C" __typeof (newlocale) __newlocale;
-+ extern "C" __typeof (freelocale) __freelocale;
-+ extern "C" __typeof (duplocale) __duplocale;
-+
- template<>
- void
- __convert_to_v(const char* __s, long& __v, ios_base::iostate& __err,
-*** gcc-3.2/libstdc++-v3/config/locale/gnu/collate_members.cc.bak 2002-04-19 09:59:03.000000000 +0200
---- gcc-3.2/libstdc++-v3/config/locale/gnu/collate_members.cc 2002-09-29 01:10:05.000000000 +0200
-***************
-*** 37,42 ****
---- 37,47 ----
-
- namespace std
- {
-+ extern "C" __typeof (strcoll_l) __strcoll_l;
-+ extern "C" __typeof (strxfrm_l) __strxfrm_l;
-+ extern "C" __typeof (wcscoll_l) __wcscoll_l;
-+ extern "C" __typeof (wcsxfrm_l) __wcsxfrm_l;
-+
- // These are basically extensions to char_traits, and perhaps should
- // be put there instead of here.
- template<>
-*** gcc-3.2/libstdc++-v3/config/locale/gnu/ctype_members.cc.bak 2002-05-24 18:15:25.000000000 +0200
---- gcc-3.2/libstdc++-v3/config/locale/gnu/ctype_members.cc 2002-09-29 01:10:46.000000000 +0200
-***************
-*** 37,42 ****
---- 37,47 ----
-
- namespace std
- {
-+ extern "C" __typeof (wctype_l) __wctype_l;
-+ extern "C" __typeof (towupper_l) __towupper_l;
-+ extern "C" __typeof (towlower_l) __towlower_l;
-+ extern "C" __typeof (iswctype_l) __iswctype_l;
-+
- // NB: The other ctype<char> specializations are in src/locale.cc and
- // various /config/os/* files.
- template<>
-*** gcc-3.2/libstdc++-v3/config/locale/gnu/messages_members.cc.bak 2002-05-19 00:00:14.000000000 +0200
---- gcc-3.2/libstdc++-v3/config/locale/gnu/messages_members.cc 2002-09-29 01:11:03.000000000 +0200
-***************
-*** 37,42 ****
---- 37,43 ----
-
- namespace std
- {
-+ extern "C" __typeof (uselocale) __uselocale;
- // Specializations.
- template<>
- string
-*** gcc-3.2/libstdc++-v3/config/locale/gnu/messages_members.h.bak 2002-05-19 00:00:14.000000000 +0200
---- gcc-3.2/libstdc++-v3/config/locale/gnu/messages_members.h 2002-09-29 01:13:17.000000000 +0200
-***************
-*** 33,38 ****
---- 33,40 ----
-
- // Written by Benjamin Kosnik <bkoz@redhat.com>
-
-+ extern "C" __typeof (uselocale) __uselocale;
-+
- // Non-virtual member functions.
- template<typename _CharT>
- typename messages<_CharT>::catalog
-*** gcc-3.2/libstdc++-v3/config/locale/gnu/monetary_members.cc.bak 2002-07-27 01:23:42.000000000 +0200
---- gcc-3.2/libstdc++-v3/config/locale/gnu/monetary_members.cc 2002-09-29 01:11:33.000000000 +0200
-***************
-*** 37,42 ****
---- 37,44 ----
-
- namespace std
- {
-+ extern "C" __typeof (nl_langinfo_l) __nl_langinfo_l;
-+
- // Construct and return valid pattern consisting of some combination of:
- // space none symbol sign value
- money_base::pattern
-*** gcc-3.2/libstdc++-v3/config/locale/gnu/numeric_members.cc.bak 2002-04-19 09:59:03.000000000 +0200
---- gcc-3.2/libstdc++-v3/config/locale/gnu/numeric_members.cc 2002-09-29 01:11:50.000000000 +0200
-***************
-*** 37,42 ****
---- 37,44 ----
-
- namespace std
- {
-+ extern "C" __typeof (nl_langinfo_l) __nl_langinfo_l;
-+
- template<>
- void
- numpunct<char>::_M_initialize_numpunct(__c_locale __cloc)
-*** gcc-3.2/libstdc++-v3/config/locale/gnu/time_members.cc.bak 2002-05-19 00:00:14.000000000 +0200
---- gcc-3.2/libstdc++-v3/config/locale/gnu/time_members.cc 2002-09-29 01:18:12.000000000 +0200
-***************
-*** 38,43 ****
---- 38,47 ----
-
- namespace std
- {
-+ extern "C" __typeof (strftime_l) __strftime_l;
-+ extern "C" __typeof (wcsftime_l) __wcsftime_l;
-+ extern "C" __typeof (nl_langinfo_l) __nl_langinfo_l;
-+
- template<>
- __timepunct<char>::~__timepunct()
- {
-#***************
-#*** 52,58 ****
-# const tm* __tm) const
-# {
-# #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
-#! __strftime_l(__s, __maxlen, _M_c_locale_timepunct, __format, __tm);
-# #else
-# char* __old = strdup(setlocale(LC_ALL, NULL));
-# setlocale(LC_ALL, _M_name_timepunct);
-#--- 56,62 ----
-# const tm* __tm) const
-# {
-# #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
-#! __strftime_l(__s, __maxlen, __format, __tm, _M_c_locale_timepunct);
-# #else
-# char* __old = strdup(setlocale(LC_ALL, NULL));
-# setlocale(LC_ALL, _M_name_timepunct);
-#***************
-#*** 202,208 ****
-# const tm* __tm) const
-# {
-# #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
-#! __wcsftime_l(__s, __maxlen, _M_c_locale_timepunct, __format, __tm);
-# #else
-# char* __old = strdup(setlocale(LC_ALL, NULL));
-# setlocale(LC_ALL, _M_name_timepunct);
-#--- 206,212 ----
-# const tm* __tm) const
-# {
-# #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
-#! __wcsftime_l(__s, __maxlen, __format, __tm, _M_c_locale_timepunct);
-# #else
-# char* __old = strdup(setlocale(LC_ALL, NULL));
-# setlocale(LC_ALL, _M_name_timepunct);
diff --git a/sys-devel/gcc/files/3.2/gcc-3.2.ctype.patch b/sys-devel/gcc/files/3.2/gcc-3.2.ctype.patch
deleted file mode 100644
index f32b5dfbf714..000000000000
--- a/sys-devel/gcc/files/3.2/gcc-3.2.ctype.patch
+++ /dev/null
@@ -1,106 +0,0 @@
---- gcc-3.2/libstdc++-v3/config/os/gnu-linux/bits/ctype_noninline.h 2002-04-19 07:59:07.000000000 +0000
-+++ gcc-20021006/libstdc++-v3/config/os/gnu-linux/bits/ctype_noninline.h 2002-09-06 17:54:17.000000000 +0000
-@@ -34,16 +34,32 @@
-
- // Information as gleaned from /usr/include/ctype.h
-
--#if _GLIBCPP_USE_SHADOW_HEADERS
-- using _C_legacy::__ctype_toupper;
-- using _C_legacy::__ctype_tolower;
-- using _C_legacy::__ctype_b;
--#endif
--
-+#if _GLIBCPP_C_LOCALE_GNU
- const ctype_base::mask*
- ctype<char>::classic_table() throw()
-- { return __ctype_b; }
--
-+ {
-+ if (!_S_c_locale)
-+ _S_create_c_locale(_S_c_locale, "C");
-+ return _S_c_locale->__ctype_b;
-+ }
-+#else
-+ const ctype_base::mask*
-+ ctype<char>::classic_table() throw()
-+ {
-+ const ctype_base::mask* __ret;
-+ char* __old = strdup(setlocale(LC_CTYPE, NULL));
-+ setlocale(LC_CTYPE, "C");
-+#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
-+ __ret = *__ctype_b_loc();
-+#else
-+ __ret = __ctype_b;
-+#endif
-+ setlocale(LC_CTYPE, __old);
-+ free(__old);
-+ return __ret;
-+ }
-+#endif
-+
- #if _GLIBCPP_C_LOCALE_GNU
- ctype<char>::ctype(__c_locale __cloc, const mask* __table, bool __del,
- size_t __refs)
-@@ -57,17 +73,54 @@
- #else
- ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
- size_t __refs)
-- : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del),
-- _M_toupper(__ctype_toupper), _M_tolower(__ctype_tolower),
-- _M_table(__table ? __table : classic_table())
-- { _M_c_locale_ctype = _S_c_locale; }
-+ : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del)
-+ {
-+ char* __old=strdup(setlocale(LC_CTYPE, NULL));
-+ setlocale(LC_CTYPE, "C");
-+#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
-+ _M_toupper = *__ctype_toupper_loc();
-+ _M_tolower = *__ctype_tolower_loc();
-+ _M_table = __table ? __table : *__ctype_b_loc();
-+#else
-+ _M_toupper = __ctype_toupper;
-+ _M_tolower = __ctype_tolower;
-+ _M_table = __table ? __table : __ctype_b;
-+#endif
-+ setlocale(LC_CTYPE, __old);
-+ free(__old);
-+ _M_c_locale_ctype = _S_c_locale;
-+ }
- #endif
-
-+#if _GLIBCPP_C_LOCALE_GNU
-+ ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) :
-+ __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del)
-+ {
-+ _M_c_locale_ctype = _S_c_locale;
-+ _M_toupper = _M_c_locale_ctype->__ctype_toupper;
-+ _M_tolower = _M_c_locale_ctype->__ctype_tolower;
-+ _M_table = __table ? __table : _M_c_locale_ctype->__ctype_b;
-+ }
-+#else
- ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) :
-- __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del),
-- _M_toupper(__ctype_toupper), _M_tolower(__ctype_tolower),
-- _M_table(__table ? __table : classic_table())
-- { _M_c_locale_ctype = _S_c_locale; }
-+ __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del)
-+ {
-+ char* __old=strdup(setlocale(LC_CTYPE, NULL));
-+ setlocale(LC_CTYPE, "C");
-+#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
-+ _M_toupper = *__ctype_toupper_loc();
-+ _M_tolower = *__ctype_tolower_loc();
-+ _M_table = __table ? __table : *__ctype_b_loc();
-+#else
-+ _M_toupper = __ctype_toupper;
-+ _M_tolower = __ctype_tolower;
-+ _M_table = __table ? __table : __ctype_b;
-+#endif
-+ setlocale(LC_CTYPE, __old);
-+ free(__old);
-+ _M_c_locale_ctype = _S_c_locale;
-+ }
-+#endif
-
- char
- ctype<char>::do_toupper(char __c) const
diff --git a/sys-devel/gcc/files/3.2/gcc-3.2.fix-copy.patch b/sys-devel/gcc/files/3.2/gcc-3.2.fix-copy.patch
deleted file mode 100644
index ff29eb001271..000000000000
--- a/sys-devel/gcc/files/3.2/gcc-3.2.fix-copy.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-2002-08-18 H.J. Lu <hjl@gnu.org>
-
- * calls.c (store_one_arg): Remove ATTRIBUTE_UNUSED on
- variable_size. Mark any slots used for the argument as in-use
- only if we can't pass all arguments to a library call in
- registers.
-
-diff -uNr gcc-3.2.orig/gcc/calls.c gcc-3.2/gcc/calls.c
---- gcc-3.2.orig/gcc/calls.c 2002-04-05 09:28:47.000000000 +1000
-+++ gcc-3.2/gcc/calls.c 2002-08-23 20:51:29.000000000 +1000
-@@ -4268,7 +4268,7 @@
- struct arg_data *arg;
- rtx argblock;
- int flags;
-- int variable_size ATTRIBUTE_UNUSED;
-+ int variable_size;
- int reg_parm_stack_space;
- {
- tree pval = arg->tree_value;
-@@ -4343,14 +4343,22 @@
- emit_move_insn (arg->save_area, stack_area);
- }
- }
-+
-+ /* Now that we have saved any slots that will be overwritten
-+ by this store, mark all slots this store will use. We
-+ must do this before we actually expand the argument since
-+ the expansion itself may trigger library calls which might
-+ need to use the same stack slot. We only do it if we can't
-+ pass all arguments to a library call in registers. */
-+ if (arg->partial)
-+ {
-+ for (i = lower_bound; i < upper_bound; i++)
-+ stack_usage_map[i] = 1;
-+
-+ /* Set it so that we don't do it again. */
-+ variable_size = 1;
-+ }
- }
-- /* Now that we have saved any slots that will be overwritten by this
-- store, mark all slots this store will use. We must do this before
-- we actually expand the argument since the expansion itself may
-- trigger library calls which might need to use the same stack slot. */
-- if (argblock && ! variable_size && arg->stack)
-- for (i = lower_bound; i < upper_bound; i++)
-- stack_usage_map[i] = 1;
- }
-
- /* If this isn't going to be placed on both the stack and in registers,
-@@ -4577,6 +4585,11 @@
- arg->value = arg->stack_slot;
- }
-
-+ if (ACCUMULATE_OUTGOING_ARGS && !(flags & ECF_SIBCALL)
-+ && argblock && ! variable_size && arg->stack)
-+ for (i = lower_bound; i < upper_bound; i++)
-+ stack_usage_map[i] = 1;
-+
- /* Once we have pushed something, pops can't safely
- be deferred during the rest of the arguments. */
- NO_DEFER_POP;
diff --git a/sys-devel/gcc/files/3.2/gcc-3.2.fix-var.patch b/sys-devel/gcc/files/3.2/gcc-3.2.fix-var.patch
deleted file mode 100644
index 87f533cd48d3..000000000000
--- a/sys-devel/gcc/files/3.2/gcc-3.2.fix-var.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-2002-08-17 H.J. Lu <hjl@gnu.org>
-
- * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
- * expr.c (PUSH_ARGS_REVERSED): Likewise.
-
-2002-07-26 H.J. Lu <hjl@gnu.org>
-
- * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
-
-diff -uNr gcc-3.2.orig/gcc/calls.c gcc-3.2/gcc/calls.c
---- gcc-3.2.orig/gcc/calls.c 2002-04-05 09:28:47.000000000 +1000
-+++ gcc-3.2/gcc/calls.c 2002-08-23 20:44:09.000000000 +1000
-@@ -46,9 +46,11 @@
-
- #ifdef PUSH_ROUNDING
-
-+#ifndef PUSH_ARGS_REVERSED
- #if defined (STACK_GROWS_DOWNWARD) != defined (ARGS_GROW_DOWNWARD)
- #define PUSH_ARGS_REVERSED PUSH_ARGS
- #endif
-+#endif
-
- #endif
-
-diff -uNr gcc-3.2.orig/gcc/config/i386/i386.h gcc-3.2/gcc/config/i386/i386.h
---- gcc-3.2.orig/gcc/config/i386/i386.h 2002-07-15 16:54:36.000000000 +1000
-+++ gcc-3.2/gcc/config/i386/i386.h 2002-08-23 20:44:09.000000000 +1000
-@@ -1581,6 +1581,10 @@
-
- #define PUSH_ARGS (TARGET_PUSH_ARGS && !ACCUMULATE_OUTGOING_ARGS)
-
-+/* We want the stack and args grow in opposite directions, even if
-+ PUSH_ARGS is 0. */
-+#define PUSH_ARGS_REVERSED 1
-+
- /* Offset of first parameter from the argument pointer register value. */
- #define FIRST_PARM_OFFSET(FNDECL) 0
-
-diff -uNr gcc-3.2.orig/gcc/expr.c gcc-3.2/gcc/expr.c
---- gcc-3.2.orig/gcc/expr.c 2002-05-07 15:43:11.000000000 +1000
-+++ gcc-3.2/gcc/expr.c 2002-08-23 20:44:09.000000000 +1000
-@@ -54,9 +54,11 @@
-
- #ifdef PUSH_ROUNDING
-
-+#ifndef PUSH_ARGS_REVERSED
- #if defined (STACK_GROWS_DOWNWARD) != defined (ARGS_GROW_DOWNWARD)
- #define PUSH_ARGS_REVERSED /* If it's last to first. */
- #endif
-+#endif
-
- #endif
-