summaryrefslogtreecommitdiff
path: root/gcc/ada/exp_ch3.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2004-10-04 14:58:47 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2004-10-04 14:58:47 +0000
commitfa814356abcaab059cdffab069344e383ae45e71 (patch)
treeeee69f9476365cf2db06be3df66d76e53f8c8b30 /gcc/ada/exp_ch3.adb
parent2fff57b3badae2bedac8308c57c6c0292f7f9879 (diff)
downloadgcc-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.adb25
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;