re PR go/78431 (ICE in go_append_padding, at godump.c:636)
authorIan Lance Taylor <iant@golang.org>
Tue, 22 Nov 2016 23:25:07 +0000 (23:25 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Tue, 22 Nov 2016 23:25:07 +0000 (23:25 +0000)
PR go/78431
PR go/78432
* godump.c (go_format_type): Always pass alignment as 1 when
calling go_append_padding at end of struct/union.

From-SVN: r242728

gcc/ChangeLog
gcc/godump.c

index c47ebd4bebff6e208df98df2100285ff7fcf406b..6bc37d3d52c81c8651a4be2c3ca47c05207994d7 100644 (file)
@@ -1,3 +1,10 @@
+2016-11-22  Ian Lance Taylor  <iant@golang.org>
+
+       PR go/78431
+       PR go/78432
+       * godump.c (go_format_type): Always pass alignment as 1 when
+       calling go_append_padding at end of struct/union.
+
 2016-11-22  Jakub Jelinek  <jakub@redhat.com>
 
        PR target/78451
index 608542c63d9b721e763d3b5e5494d7cff49c2564..1e9a07e0ce9ae543f9d96c279ce2bca187e0c067 100644 (file)
@@ -1006,14 +1006,9 @@ go_format_type (struct godump_container *container, tree type,
              }
          }
        /* Padding.  */
-       {
-         unsigned int align_unit;
-
-         align_unit = (is_anon_record_or_union) ? 1 : TYPE_ALIGN_UNIT (type);
-         *p_art_i = go_append_padding
-           (ob, prev_field_end, TREE_INT_CST_LOW (TYPE_SIZE_UNIT (type)),
-            align_unit, *p_art_i, &prev_field_end);
-       }
+       *p_art_i = go_append_padding (ob, prev_field_end,
+                                     TREE_INT_CST_LOW (TYPE_SIZE_UNIT (type)),
+                                     1, *p_art_i, &prev_field_end);
        /* Alignment.  */
        if (!is_anon_record_or_union
            && known_alignment < TYPE_ALIGN_UNIT (type))