From: charlet Date: Fri, 30 Mar 2012 09:11:38 +0000 (+0000) Subject: 2012-03-30 Thomas Quinot X-Git-Tag: upstream/4.9.2~13506 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9f0718887edc3e491b2e9bbe765b90d8080416af;p=platform%2Fupstream%2Flinaro-gcc.git 2012-03-30 Thomas Quinot * freeze.adb (Freeze_Record_Type): For a type with reversed bit order and reversed storage order, disable front-end relayout. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185996 138bc75d-0d04-0410-961f-82ee72b054a4 --- 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 + + * 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 * gcc-interface/decl.c (gnat_to_gnu_entity) : 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;