summaryrefslogtreecommitdiffstats
path: root/gcc/ada/checks.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2003-12-17 13:37:04 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2003-12-17 13:37:04 +0000
commitd66aa9f695c1c0a557fc70d162115a347f925b10 (patch)
treec88d390281088277a1a339c168d6606e0093cae2 /gcc/ada/checks.adb
parentc5ddfe195aaca1f2c628ea33f536f398d48cebe7 (diff)
downloadppe42-gcc-d66aa9f695c1c0a557fc70d162115a347f925b10.tar.gz
ppe42-gcc-d66aa9f695c1c0a557fc70d162115a347f925b10.zip
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 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74741 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/checks.adb')
-rw-r--r--gcc/ada/checks.adb5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/ada/checks.adb b/gcc/ada/checks.adb
index 02649747cc4..2adb5f73ba2 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);
OpenPOWER on IntegriCloud