[Bug ada/63725] Scalar_Storage_Order and nested string subtypes
daniel.merrill at psware dot com
gcc-bugzilla@gcc.gnu.org
Thu Nov 6 08:40:00 GMT 2014
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63725
--- Comment #2 from Dan Merrill <daniel.merrill at psware dot com> ---
Is this what you are proposing?
type string_type is new string (1..15);
for string_type'Scalar_Storage_Order use System.High_Order_First;
type string_array is array (1..2) of string_type;
for string_array'Scalar_Storage_Order use System.High_Order_First;
type BigEndianInt32Array is array (1..10) of int32;
type bigEndianType is record
ThirtyTwoBits : int32;
SixteenBits : int16;
TestStrings : string_array;
end record;
for bigEndianType use record
ThirtyTwoBits at 0 range 0 .. 31;
SixteenBits at 0 range 32 .. 47;
TestStrings at 0 range 48 .. 287;
end record;
for bigEndianType'Bit_Order use System.High_Order_First;
for bigEndianType'Scalar_Storage_Order use System.High_Order_First;
?
That seems to work, but in a non trivial case doesn't that make string_type non
inter operable with other string types? In reality I don't care what the scalar
storage order of the string is because they are just bytes and should work the
same across both platforms. It seems like string_type shouldn't even need a
scalar storage order applied to it.
More information about the Gcc-bugs
mailing list