OSDN Git Service

PR middle-end/35705
authordanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 1 Apr 2008 22:14:41 +0000 (22:14 +0000)
committerdanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 1 Apr 2008 22:14:41 +0000 (22:14 +0000)
* fold-const.c (get_pointer_modulus_and_residue): Return modulus 1 if
the expression is a function address.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133804 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/fold-const.c

index 2ef5a6c..17a8ee5 100644 (file)
@@ -1,3 +1,9 @@
+2008-04-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR middle-end/35705
+       * fold-const.c (get_pointer_modulus_and_residue): Return modulus 1 if
+       the expression is a function address.
+
 2008-04-01  George Helffrich  <george@gcc.gnu.org>
 
        PR fortran/PR35154, fortran/PR23057
index 9fa3137..14470c5 100644 (file)
@@ -9090,7 +9090,7 @@ get_pointer_modulus_and_residue (tree expr, unsigned HOST_WIDE_INT *residue)
            }
        }
 
-      if (DECL_P (expr))
+      if (DECL_P (expr) && TREE_CODE (expr) != FUNCTION_DECL)
        return DECL_ALIGN_UNIT (expr);
     }
   else if (code == POINTER_PLUS_EXPR)