[Ada] Fix incompatibility Default_Scalar_Storage_Order/tagged types
The pragma Default_Scalar_Storage_Order cannot reliably be used to set the non-default scalar storage order for a program that declares tagged types, if it also declares user-defined primitives. This is fixed by making Make_Tags use the same base array type as Make_DT and Make_Secondary_DT when accessing the array of user-defined primitives. 2018-07-17 Eric Botcazou <ebotcazou@adacore.com> gcc/ada/ * exp_disp.adb (Make_Tags): When the type has user-defined primitives, build the access type that is later used by Build_Get_Prim_Op_Address as pointing to a subtype of Ada.Tags.Address_Array. gcc/testsuite/ * gnat.dg/sso10.adb, gnat.dg/sso10_pkg.ads: New testcase. From-SVN: r262797
Showing
gcc/testsuite/gnat.dg/sso10.adb
0 → 100644
gcc/testsuite/gnat.dg/sso10_pkg.ads
0 → 100644
Please
register
or
sign in
to comment