diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2003-12-17 14:37:04 +0100 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2003-12-17 14:37:04 +0100 |
commit | 891a6e79d827ff208ff9509e3697fcb4192fc2b3 (patch) | |
tree | c88d390281088277a1a339c168d6606e0093cae2 /gcc/ada/checks.adb | |
parent | 9684a8405af524cd875abea638b7372fa845434c (diff) | |
download | gcc-891a6e79d827ff208ff9509e3697fcb4192fc2b3.zip gcc-891a6e79d827ff208ff9509e3697fcb4192fc2b3.tar.gz gcc-891a6e79d827ff208ff9509e3697fcb4192fc2b3.tar.bz2 |
[multiple changes]
2003-12-17 Ed Falis <falis@gnat.com>
* a-elchha.adb (Tailored_Exception_Information): made Info constant to
eliminate warning.
* a-exextr.adb: Add context clause for
Ada.Exceptions.Last_Chance_Handler.
2003-12-17 Sergey Rybin <rybin@act-europe.fr>
* cstand.adb (Create_Standard): Change the way how the declaration of
the Duration type is created (making it the same way as it is for all
the other standard types).
2003-12-17 Robert Dewar <dewar@gnat.com>
* s-crtl.ads: Fix header format
Change Pure to Preelaborate
2003-12-17 Ed Schonberg <schonberg@gnat.com>
* checks.adb (Selected_Length_Checks): Generate an Itype reference for
the expression type only if it is declared in the current unit.
* sem_ch3.adb (Constrain_Index): Handle properly a range whose bounds
are universal and already analyzed, as can occur in constrained
subcomponents that depend on discriminants, when one constraint is a
subtype mark.
* sem_res.adb (Resolve_Type_Conversion): Any arithmetic expression of
type Any_Fixed is legal as the argument of a conversion, if only one
fixed-point type is in context.
2003-12-17 GNAT Script <nobody@gnat.com>
* Make-lang.in: Makefile automatically updated
From-SVN: r74741
Diffstat (limited to 'gcc/ada/checks.adb')
-rw-r--r-- | gcc/ada/checks.adb | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/ada/checks.adb b/gcc/ada/checks.adb index 0264974..2adb5f7 100644 --- a/gcc/ada/checks.adb +++ b/gcc/ada/checks.adb @@ -4778,13 +4778,16 @@ package body Checks is -- At the library level, we need to ensure that the -- type of the object is elaborated before the check - -- itself is emitted. + -- itself is emitted. This is only done if the object + -- is in the current compilation unit, otherwise the + -- type is frozen and elaborated in its unit. if Is_Itype (Exptyp) and then Ekind (Cunit_Entity (Current_Sem_Unit)) = E_Package and then not In_Package_Body (Cunit_Entity (Current_Sem_Unit)) + and then In_Open_Scopes (Scope (Exptyp)) then Ref_Node := Make_Itype_Reference (Sloc (Ck_Node)); Set_Itype (Ref_Node, Exptyp); |