diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-12-01 13:29:28 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-12-01 13:29:28 +0000 |
commit | 9988dae3912ad46db3f81b489a1417c6d294fde4 (patch) | |
tree | c0ac6a55329023fb31e9b9e80f35357a07004365 /gcc/ada/exp_ch6.adb | |
parent | 1b50d7560a9c09ef6a6123511b4acdcd8a86d994 (diff) | |
download | gcc-9988dae3912ad46db3f81b489a1417c6d294fde4.tar.gz |
2003-12-01 Nicolas Setton <setton@act-europe.fr>
* a-except.adb (Raise_Current_Excep): Add a pragma Inspection_Point,
so that the debugger can reliably access the value of the parameter,
and therefore is able to display the exception name when an exception
breakpoint is reached.
2003-12-01 Thomas Quinot <quinot@act-europe.fr>
* fmap.adb: Fix typo in warning message.
* g-socket.ads, g-socket.adb: Make Free a visible instance of
Ada.Unchecked_Deallocation (no need to wrap it in a subprogram).
2003-12-01 Vincent Celier <celier@gnat.com>
* mlib-prj.adb (Build_Library.Process): Do not check a withed unit if
ther is no Afile.
(Build_Library): Get the switches only if Default_Switches is declared
in package Binder.
2003-12-01 Ed Schonberg <schonberg@gnat.com>
* exp_ch6.adb (Expand_Actuals): When applying validity checks to
actuals that are indexed components, reanalyze actual to ensure that
packed array references are properly expanded.
* sem_ch5.adb (Diagnose_Non_Variable_Lhs): Add special case for
attempted assignment to a discriminant.
2003-12-01 Robert Dewar <dewar@gnat.com>
* rtsfind.adb, exp_ch4.adb, s-exnint.ads, s-exnint.adb: Minor
reformatting.
* switch-c.adb: Minor reformatting of comments
2003-12-01 Arnaud Charlet <charlet@act-europe.fr>
* Makefile.in: Clean ups.
2003-12-01 GNAT Script <nobody@gnat.com>
* Make-lang.in: Makefile automatically updated
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74100 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/exp_ch6.adb')
-rw-r--r-- | gcc/ada/exp_ch6.adb | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/gcc/ada/exp_ch6.adb b/gcc/ada/exp_ch6.adb index b0023aa1f44..809eb0b9b2c 100644 --- a/gcc/ada/exp_ch6.adb +++ b/gcc/ada/exp_ch6.adb @@ -547,8 +547,9 @@ package body Exp_Ch6 is Var := Make_Var (Expression (Actual)); - Crep := not Same_Representation - (Etype (Formal), Etype (Expression (Actual))); + Crep := not Same_Representation + (Etype (Formal), Etype (Expression (Actual))); + else V_Typ := Etype (Actual); Var := Make_Var (Actual); @@ -1528,8 +1529,16 @@ package body Exp_Ch6 is if Validity_Checks_On then if Ekind (Formal) = E_In_Parameter and then Validity_Check_In_Params - and then Is_Entity_Name (Actual) then + -- If the actual is an indexed component of a packed + -- type, it has not been expanded yet. It will be + -- copied in the validity code that follows, and has + -- to be expanded appropriately, so reanalyze it. + + if Nkind (Actual) = N_Indexed_Component then + Set_Analyzed (Actual, False); + end if; + Ensure_Valid (Actual); elsif Ekind (Formal) = E_In_Out_Parameter |