diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-10-04 14:58:47 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-10-04 14:58:47 +0000 |
commit | fa814356abcaab059cdffab069344e383ae45e71 (patch) | |
tree | eee69f9476365cf2db06be3df66d76e53f8c8b30 /gcc/ada/exp_ch3.adb | |
parent | 2fff57b3badae2bedac8308c57c6c0292f7f9879 (diff) | |
download | gcc-fa814356abcaab059cdffab069344e383ae45e71.tar.gz |
2004-10-04 Robert Dewar <dewar@gnat.com>
* exp_ch3.adb (Needs_Simple_Initialization): Modular packed arrays no
longer need to be initialized to zero.
(Get_Simple_Init_Val): Modular packed arrays no longer need to be
initialized to zero.
* checks.adb (Expr_Known_Valid): Packed arrays are now always
considered valid, even if the representation is modular. That's correct
now that we no longer initialize packed modular arrays to zero.
* exp_dbug.ads: Clarify documentation on handling of PAD and JM
suffixes. These are now documented as the only cases in which the
debugger ignores outer records.
Previously, the spec allowed arbitrary suffixes for this purpose.
Change name of LJM to JM for packed array pad records
Create separate section on packed array handling, and add a whole new
set of comments to this section describing the situation with packed
modular types and justification requirements depending on endianness.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88500 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/exp_ch3.adb')
-rw-r--r-- | gcc/ada/exp_ch3.adb | 25 |
1 files changed, 0 insertions, 25 deletions
diff --git a/gcc/ada/exp_ch3.adb b/gcc/ada/exp_ch3.adb index 631900a7c93..52394d376c2 100644 --- a/gcc/ada/exp_ch3.adb +++ b/gcc/ada/exp_ch3.adb @@ -5046,29 +5046,6 @@ package body Exp_Ch3 is return Make_Null (Loc); - -- We initialize modular packed bit arrays to zero, to make sure that - -- unused bits are zero, as required (see spec of Exp_Pakd). Also note - -- that this improves gigi code, since the value tracing knows that - -- all bits of the variable start out at zero. The value of zero has - -- to be unchecked converted to the proper array type. - - elsif Is_Bit_Packed_Array (T) then - declare - PAT : constant Entity_Id := Packed_Array_Type (T); - Nod : Node_Id; - - begin - pragma Assert (Is_Modular_Integer_Type (PAT)); - - Nod := - Make_Unchecked_Type_Conversion (Loc, - Subtype_Mark => New_Occurrence_Of (T, Loc), - Expression => Make_Integer_Literal (Loc, 0)); - - Set_Etype (Expression (Nod), PAT); - return Nod; - end; - -- No other possibilities should arise, since we should only be -- calling Get_Simple_Init_Val if Needs_Simple_Initialization -- returned True, indicating one of the above cases held. @@ -5586,8 +5563,6 @@ package body Exp_Ch3 is elsif Is_Access_Type (T) or else (Init_Or_Norm_Scalars and then (Is_Scalar_Type (T))) - or else (Is_Bit_Packed_Array (T) - and then Is_Modular_Integer_Type (Packed_Array_Type (T))) then return True; |