[Bug ada/79441] New: gnat.dg/pack9.adb fails since r 236279
vogt at linux dot vnet.ibm.com
gcc-bugzilla@gcc.gnu.org
Thu Feb 9 13:24:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79441
Bug ID: 79441
Summary: gnat.dg/pack9.adb fails since r 236279
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: ada
Assignee: unassigned at gcc dot gnu.org
Reporter: vogt at linux dot vnet.ibm.com
CC: ebotcazou at gcc dot gnu.org, krebbel at gcc dot gnu.org
Target Milestone: ---
Host: s390x
Target: s390x
On s390x, the test gnat.dg/pack9.adb fails on s390x (--with-arch=zEC12) since
this commit:
--
Author: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
AuthorDate: Mon May 16 11:08:53 2016 +0000
Commit: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
CommitDate: Mon May 16 11:08:53 2016 +0000
* doc/gnat_rm/implementation_defined_attributes.rst
(Scalar_Storage_Order): Adjust restriction for packed array types.
* einfo.ads (Is_Bit_Packed_Array): Adjust description.
(Is_Packed): Likewise.
(Is_Packed_Array_Impl_Type): Likewise.
(Packed_Array_Impl_Type): Likewise.
* exp_ch4.adb (Expand_N_Indexed_Component): Do not do anything special
if the prefix is not a packed array implemented specially.
* exp_ch6.adb (Expand_Actuals): Expand indexed components only for
bit-packed array types.
* exp_pakd.adb (Install_PAT): Set Is_Packed_Array_Impl_Type flag on
the PAT before analyzing its declaration.
(Create_Packed_Array_Impl_Type): Remove redundant statements.
* freeze.adb (Check_Component_Storage_Order): Reject packed array
components only if they are bit packed.
(Freeze_Array_Type): Fix logic detecting bit packing and do not bit
pack for composite types whose size is multiple of a byte.
Create the implementation type for packed array types only when it is
needed, i.e. bit packing or packing because of holes in index types.
Make sure the Has_Non_Standard_Rep and Is_Packed flags agree.
* gcc-interface/gigi.h (make_packable_type): Add MAX_ALIGN parameter.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
Call maybe_pad_type instead of building the padding type manually.
(gnat_to_gnu_entity) <E_Array_Subtype>: Do not assert that
Packed_Array_Impl_Type is present for packed arrays.
(gnat_to_gnu_component_type): Also handle known alignment for packed
types by passing it to make_packable_type.
* gcc-interface/utils.c (make_packable_type): Add MAX_ALIGN parameter
and deal with it in the array case. Adjust recursive call. Simplify
computation of new size and cap the alignment to BIGGEST_ALIGNMENT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236279
138bc75d-0d04-0410-96
--
with
FAIL: gnat.dg/pack9.adb scan-tree-dump-not optimized "gnat_rcheck"
(The string "gnat_rcheck" appear in the .s file.) The test was build with
$ ~/build/gcc/gnatmake --GCC=~/build/gcc/xgcc --GNATBIND=~/build/gcc/gnatbind
--GNATLINK=~/build/gcc/gnatlink -cargs -B~/build/gcc -largs
--GCC=~/build/gcc/xgcc -B~/build/gcc -m64 -margs
--RTS=~/build/s390x-ibm-linux-gnu/./libada -q -f
~/gcc/gcc/testsuite/gnat.dg/pack9.adb -fno-diagnostics-show-caret
-fdiagnostics-color=never -O2 -gnatp -fdump-tree-optimized -c -u -S -m64 -o
pack9.s
More information about the Gcc-bugs
mailing list