diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2010-10-18 15:58:25 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2010-10-18 15:58:25 +0200 |
commit | 6191e212520651b7e7d3102be7a735677989ad19 (patch) | |
tree | 49324add06c331189976e682c92938d0ed04c8ad /gcc/ada/sem_ch3.ads | |
parent | 0ae44446c2b6cd370e212fd94fcb8c261f3ef231 (diff) | |
download | gcc-6191e212520651b7e7d3102be7a735677989ad19.zip gcc-6191e212520651b7e7d3102be7a735677989ad19.tar.gz gcc-6191e212520651b7e7d3102be7a735677989ad19.tar.bz2 |
[multiple changes]
2010-10-18 Ed Schonberg <schonberg@adacore.com>
* sem_ch13.adb (Analyze_Aspect_Specifications): If subprogram is at the
library level, the pre/postconditions must be treated as global
declarations, i.e. placed on the Aux_Decl nodes of the compilation unit.
* freeze.adb (Freeze_Expression): If the expression is at library level
there is no enclosing record to check.
2010-10-18 Javier Miranda <miranda@adacore.com>
* sem_ch3.ads (Find_Type_Name): Add documentation.
* sem_ch3.adb (Analyze_Full_Type_Declaration): Code cleanup because the
propagation of the class-wide entity is now done by routine
Find_Type_Name to factorize this code.
(Analyze_Private_Extension_Declaration): Handle private type that
completes an incomplete type.
(Tag_Mismatch): Add error message for tag mismatch in a private type
declaration that completes an incomplete type.
(Find_Type_Name): Handle completion of incomplete type by means of
a private declaration. Generate an error if a tagged incomplete type
is completed by an untagged private type.
* sem_ch7.adb (New_Private_Type): Handle private type that completes an
incomplete type.
* einfo.ads (Full_View): Add documentation.
2010-10-18 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Analyze_Formal_Package_Declaration): If the package is
a renaming, generate a reference for it before analyzing the renamed
entity, to prevent spurious warnings.
From-SVN: r165636
Diffstat (limited to 'gcc/ada/sem_ch3.ads')
-rw-r--r-- | gcc/ada/sem_ch3.ads | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/ada/sem_ch3.ads b/gcc/ada/sem_ch3.ads index 2bff2e2..57da532 100644 --- a/gcc/ada/sem_ch3.ads +++ b/gcc/ada/sem_ch3.ads @@ -157,7 +157,10 @@ package Sem_Ch3 is function Find_Type_Name (N : Node_Id) return Entity_Id; -- Enter the identifier in a type definition, or find the entity already -- declared, in the case of the full declaration of an incomplete or - -- private type. + -- private type. If the previous declaration is tagged then the class-wide + -- entity is propagated to the identifier to prevent multiple incompatible + -- class-wide types that may be created for self-referential anonymous + -- access components. function Get_Discriminant_Value (Discriminant : Entity_Id; |