OSDN Git Service

* c-decl.c (grokdeclarator): preserve previous alignments when
authordj <dj@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 8 Dec 2000 01:10:40 +0000 (01:10 +0000)
committerdj <dj@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 8 Dec 2000 01:10:40 +0000 (01:10 +0000)
rebuilding array types.

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

gcc/ChangeLog
gcc/c-decl.c

index 407baf1..b569533 100644 (file)
@@ -1,3 +1,8 @@
+2000-12-07  DJ Delorie  <dj@redhat.com>
+
+       * c-decl.c (grokdeclarator): preserve previous alignments when
+       rebuilding array types.
+
 2000-12-07  Neil Booth  <neilb@earthling.net>
 
         * cppfiles.c (struct include_file): Move from cpphash.h.
index 4776cd6..f10f4b0 100644 (file)
@@ -4902,9 +4902,11 @@ grokdeclarator (declarator, declspecs, decl_context, initialized)
        /* Move type qualifiers down to element of an array.  */
        if (TREE_CODE (type) == ARRAY_TYPE && type_quals)
          {
+           int saved_align = TYPE_ALIGN(type);
            type = build_array_type (c_build_qualified_type (TREE_TYPE (type),
                                                             type_quals),
                                     TYPE_DOMAIN (type));
+           TYPE_ALIGN (type) = saved_align;
 #if 0 /* Leave the variable const or volatile as well.  */
            type_quals = TYPE_UNQUALIFIED;
 #endif