From c0cfc6913eda8fe934043848ee7c9462464f75f1 Mon Sep 17 00:00:00 2001
From: Olivier Hainque <hainque@act-europe.fr>
Date: Thu, 19 Feb 2004 08:52:51 +0100
Subject: [PATCH] expr.c (is_aligning_offset): Check if we are aligning the
 expressions's address over BIGGEST_ALIGNMENT in...

	* expr.c (is_aligning_offset): Check if we are aligning the
	expressions's address over BIGGEST_ALIGNMENT in bytes, not
	in bits.

From-SVN: r78076
---
 gcc/ChangeLog | 6 ++++++
 gcc/expr.c    | 3 ++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index eb59a5e47e94..4f58b58d1987 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2004-02-19  Olivier Hainque  <hainque@act-europe.fr>
+
+	* expr.c (is_aligning_offset): Check if we are aligning the
+	expressions's address over BIGGEST_ALIGNMENT in bytes, not
+	in bits.
+
 2003-02-18  Matt Austern  <austern@apple.com>
 
 	* gcc.c (LIBGCC_SPEC): If REAL_LIBGCC_SPEC is defined, and
diff --git a/gcc/expr.c b/gcc/expr.c
index 223a36b0136f..907d30c4006e 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -9088,7 +9088,8 @@ is_aligning_offset (tree offset, tree exp)
      power of 2 and which is larger than BIGGEST_ALIGNMENT.  */
   if (TREE_CODE (offset) != BIT_AND_EXPR
       || !host_integerp (TREE_OPERAND (offset, 1), 1)
-      || compare_tree_int (TREE_OPERAND (offset, 1), BIGGEST_ALIGNMENT) <= 0
+      || compare_tree_int (TREE_OPERAND (offset, 1), 
+			   BIGGEST_ALIGNMENT / BITS_PER_UNIT) <= 0
       || !exact_log2 (tree_low_cst (TREE_OPERAND (offset, 1), 1) + 1) < 0)
     return 0;
 
-- 
GitLab