OSDN Git Service

* emit-rtl.c (get_mem_attrs): Adjust alignment tests determining
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 4 Apr 2003 22:44:02 +0000 (22:44 +0000)
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 4 Apr 2003 22:44:02 +0000 (22:44 +0000)
        use of default attributes to agree MEM_ALIGN macro.

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

gcc/ChangeLog
gcc/emit-rtl.c

index 544f911..6dba145 100644 (file)
@@ -1,3 +1,8 @@
+Fri Apr  4 17:43:52 2003  Olivier Hainque <hainque@act-europe.fr>
+
+        * emit-rtl.c (get_mem_attrs): Adjust alignment tests determining
+        use of default attributes to agree MEM_ALIGN macro.
+
 Fri Apr  4 17:33:24 2003  Joel Brobecker  <brobecker@gnat.com>
 
         * dbxout.c (dbxout_type): When printing type index of range type
index 4aab674..96903a3 100644 (file)
@@ -312,13 +312,14 @@ get_mem_attrs (alias, expr, offset, size, align, mode)
   mem_attrs attrs;
   void **slot;
 
-  /* If everything is the default, we can just return zero.  */
+  /* If everything is the default, we can just return zero.
+     This must match what the corresponding MEM_* macros return when the
+     field is not present.  */
   if (alias == 0 && expr == 0 && offset == 0
       && (size == 0
          || (mode != BLKmode && GET_MODE_SIZE (mode) == INTVAL (size)))
-      && (align == BITS_PER_UNIT
-         || (STRICT_ALIGNMENT
-             && mode != BLKmode && align == GET_MODE_ALIGNMENT (mode))))
+      && (STRICT_ALIGNMENT && mode != BLKmode
+         ? align == GET_MODE_ALIGNMENT (mode) : align == BITS_PER_UNIT))
     return 0;
 
   attrs.alias = alias;