+++ /dev/null
---- gcc-4.1-20051019T0822UTC/gcc/expr.c.orig 2005-10-17 18:06:59.000000000 +0000
-+++ gcc-4.1-20051019T0822UTC/gcc/expr.c 2005-10-19 09:12:34.710605624 +0000
-@@ -3153,7 +3153,9 @@
-
- y_cst = y;
-
-- if (!LEGITIMATE_CONSTANT_P (y))
-+ if ((!flag_pic && !LEGITIMATE_CONSTANT_P (y))
-+ || (flag_pic && !LEGITIMATE_PIC_OPERAND_P (y)))
-+
- {
- y = force_const_mem (mode, y);
-
---- gcc-4.1-20051019T0822UTC/gcc/config/i386/i386.c.orig 2005-10-19 08:35:54.000000000 +0000
-+++ gcc-4.1-20051019T0822UTC/gcc/config/i386/i386.c 2005-10-19 09:19:14.648805776 +0000
-@@ -6087,7 +6087,13 @@
- base == reg ? NULL_RTX : reg);
-
- if (GET_CODE (new) == CONST_INT)
-- new = plus_constant (base, INTVAL (new));
-+ {
-+ if (legitimate_pic_address_disp_p (new))
-+ new = plus_constant (base, INTVAL (new));
-+ else
-+ new = gen_rtx_PLUS (Pmode, base,
-+ copy_to_mode_reg (Pmode, new));
-+ }
- else
- {
- if (GET_CODE (new) == PLUS && CONSTANT_P (XEXP (new, 1)))
+++ /dev/null
-This fixes the PR by making sure we fold "foo"[0] to 'f'
-during fold_indirect_ref.
-
- PR tree-optimization/24172
- * fold-const.c (fold_indirect_ref_1): Make sure we fold
- ARRAY_REFs of constant strings.
-
- * g++.dg/tree-ssa/pr24172.C: New testcase.
-
-
-*** gcc/gcc/fold-const.c 26 Sep 2005 01:28:38 -0000 1.626
---- gcc/gcc/fold-const.c 4 Oct 2005 10:59:06 -0000
-*************** fold_indirect_ref_1 (tree type, tree op0
-*** 11511,11519 ****
- {
- tree op = TREE_OPERAND (sub, 0);
- tree optype = TREE_TYPE (op);
-! /* *&p => p */
- if (type == optype)
-! return op;
- /* *(foo *)&fooarray => fooarray[0] */
- else if (TREE_CODE (optype) == ARRAY_TYPE
- && type == TREE_TYPE (optype))
---- 11511,11525 ----
- {
- tree op = TREE_OPERAND (sub, 0);
- tree optype = TREE_TYPE (op);
-! /* *&p => p; make sure to handle *&"str"[cst] here. */
- if (type == optype)
-! {
-! tree fop = fold_read_from_constant_string (op);
-! if (fop)
-! return fop;
-! else
-! return op;
-! }
- /* *(foo *)&fooarray => fooarray[0] */
- else if (TREE_CODE (optype) == ARRAY_TYPE
- && type == TREE_TYPE (optype))