diff -r b150d6f590fc -r d3e603e7c17c patches/gcc/4.3.0/250-pr35705.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/gcc/4.3.0/250-pr35705.patch Mon Jul 28 21:32:33 2008 +0000 @@ -0,0 +1,21 @@ +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/gentoo/63_all_gcc43-pr35705.patch +http://gcc.gnu.org/PR35705 + +2008-04-01 John David Anglin + + PR middle-end/35705 + * fold-const.c (get_pointer_modulus_and_residue): Return modulus 1 if + the expression is a function address. + +diff -durN gcc-4.3.0.orig/gcc/fold-const.c gcc-4.3.0/gcc/fold-const.c +--- gcc-4.3.0.orig/gcc/fold-const.c 2008-02-27 15:12:33.000000000 +0100 ++++ gcc-4.3.0/gcc/fold-const.c 2008-06-10 14:45:09.000000000 +0200 +@@ -9357,7 +9357,7 @@ + } + } + +- if (DECL_P (expr)) ++ if (DECL_P (expr) && TREE_CODE (expr) != FUNCTION_DECL) + return DECL_ALIGN_UNIT (expr); + } + else if (code == POINTER_PLUS_EXPR)