]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
ada: Fix minor glitch in finish_record_type
authorEric Botcazou <ebotcazou@adacore.com>
Thu, 7 Sep 2023 08:47:31 +0000 (10:47 +0200)
committerMarc Poulhiès <poulhies@adacore.com>
Fri, 15 Sep 2023 13:01:31 +0000 (15:01 +0200)
The size needs to be rounded up to the storage unit in all cases.

gcc/ada/

* gcc-interface/utils.cc (finish_record_type): Round the size in
the padding case as well.

gcc/ada/gcc-interface/utils.cc

index d0a13d2af333129ae9276306543b22db3e18eda8..f720f3a3b4a172de69b8fe73d62dae9178772ff1 100644 (file)
@@ -2159,7 +2159,7 @@ finish_record_type (tree record_type, tree field_list, int rep_level,
       /* If this is a padding record, we never want to make the size smaller
         than what was specified in it, if any.  */
       if (TYPE_IS_PADDING_P (record_type) && had_size)
-       size = TYPE_SIZE (record_type);
+       size = round_up (TYPE_SIZE (record_type), BITS_PER_UNIT);
       else
        size = round_up (size, BITS_PER_UNIT);