From f42dd37fa3903399388c85c7dd0d9d8f5509cf77 Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Mon, 25 May 2015 21:30:39 +0000 Subject: [PATCH] utils.c (maybe_pad_type): Do not apply adjustment to original size for elementary types before issuing... * gcc-interface/utils.c (maybe_pad_type): Do not apply adjustment to original size for elementary types before issuing the size warning. From-SVN: r223657 --- gcc/ada/ChangeLog | 10 ++++++++++ gcc/ada/gcc-interface/utils.c | 2 +- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gnat.dg/specs/alignment2.ads | 2 +- gcc/testsuite/gnat.dg/warn11.adb | 14 ++++++++++++++ 5 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 gcc/testsuite/gnat.dg/warn11.adb diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 05b1edf7bd6..f75ecf0a37a 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,5 +1,15 @@ 2015-05-25 Eric Botcazou + * gcc-interface/utils.c (maybe_pad_type): Do not apply adjustment to + original size for elementary types before issuing the size warning. + +2015-05-25 Eric Botcazou + + * get_targ.adb (C_Get_Float_Words_BE): Adjust import name. + (C_Get_Words_BE): Likewise. + (C_Get_Bytes_BE): Likewise. + (C_Get_Bits_BE): Likewise. + (Width_From_Size): Remove superfluous space. * gcc-interface/targtyps.c (get_float_words_be): Rename into... (get_target_float_words_be): ...this. (get_words_be): Rename into... diff --git a/gcc/ada/gcc-interface/utils.c b/gcc/ada/gcc-interface/utils.c index c20378ab035..291e82420ab 100644 --- a/gcc/ada/gcc-interface/utils.c +++ b/gcc/ada/gcc-interface/utils.c @@ -1426,7 +1426,7 @@ built: if (CONTAINS_PLACEHOLDER_P (orig_size)) orig_size = max_size (orig_size, true); - if (align) + if (align && AGGREGATE_TYPE_P (type)) orig_size = round_up (orig_size, align); if (!operand_equal_p (size, orig_size, 0) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 3be8bfcce72..aeb7308fbeb 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2015-05-25 Eric Botcazou + + * gnat.dg/warn11.adb: New test. + * gnat.dg/specs/alignment2.ads: Add dg-warning directive. + 2015-05-25 Eric Botcazou * gnat.dg/vfa1_1.adb: New test. diff --git a/gcc/testsuite/gnat.dg/specs/alignment2.ads b/gcc/testsuite/gnat.dg/specs/alignment2.ads index 4adffc6f703..0b6c14f1b7d 100644 --- a/gcc/testsuite/gnat.dg/specs/alignment2.ads +++ b/gcc/testsuite/gnat.dg/specs/alignment2.ads @@ -43,7 +43,7 @@ package Alignment2 is -- OK, big size type I3 is new Integer_32; - for I3'Size use 32 * 8; + for I3'Size use 32 * 8; -- { dg-warning "unused" } for I3'Alignment use 32; end Alignment2; diff --git a/gcc/testsuite/gnat.dg/warn11.adb b/gcc/testsuite/gnat.dg/warn11.adb new file mode 100644 index 00000000000..ff24d7c336c --- /dev/null +++ b/gcc/testsuite/gnat.dg/warn11.adb @@ -0,0 +1,14 @@ +with Ada.Text_IO; use Ada.Text_IO; + +procedure Warn11 is + + type My_Integer is new Integer range 1 .. 10; + for My_Integer'Size use 65; -- { dg-warning "unused" } + + type My_Integer2 is new Integer range 1 .. 10; + for My_Integer2'Size use 129; -- { dg-warning "unused" } + +begin + Put_Line ("MB'Size is " & Natural'Image (My_Integer'Size)); + Put_Line ("MB'Size is " & Natural'Image (My_Integer2'Size)); +end; -- 2.30.2