diff options
author | Thomas Quinot <quinot@adacore.com> | 2012-03-30 09:11:38 +0000 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2012-03-30 11:11:38 +0200 |
commit | 702d139e260512c2bc3bcee7def3d5fe22d8ab22 (patch) | |
tree | 67a5fa2238fda59bb2855f25482514b6b889f8f2 | |
parent | aeb83f098d6740d61580014ab78d33abba1168fa (diff) | |
download | gcc-702d139e260512c2bc3bcee7def3d5fe22d8ab22.zip gcc-702d139e260512c2bc3bcee7def3d5fe22d8ab22.tar.gz gcc-702d139e260512c2bc3bcee7def3d5fe22d8ab22.tar.bz2 |
freeze.adb (Freeze_Record_Type): For a type with reversed bit order and reversed storage order...
2012-03-30 Thomas Quinot <quinot@adacore.com>
* freeze.adb (Freeze_Record_Type): For a type with reversed bit
order and reversed storage order, disable front-end relayout.
From-SVN: r185996
-rw-r--r-- | gcc/ada/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ada/freeze.adb | 10 |
2 files changed, 14 insertions, 1 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 7b8832d..baeff68 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2012-03-30 Thomas Quinot <quinot@adacore.com> + + * freeze.adb (Freeze_Record_Type): For a type with reversed bit + order and reversed storage order, disable front-end relayout. + 2012-03-25 Eric Botcazou <ebotcazou@adacore.com> * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Copy diff --git a/gcc/ada/freeze.adb b/gcc/ada/freeze.adb index fc76000..3eae40e 100644 --- a/gcc/ada/freeze.adb +++ b/gcc/ada/freeze.adb @@ -2161,8 +2161,16 @@ package body Freeze is -- Here is where we do the processing for reversed bit order - else + elsif not Reverse_Storage_Order (Rec) then Adjust_Record_For_Reverse_Bit_Order (Rec); + + -- Case where we have both a reverse Bit_Order and a corresponding + -- Scalar_Storage_Order: leave record untouched, the back-end + -- will take care of required layout conversions. + + else + null; + end if; end if; |