diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2014-10-31 12:43:09 +0100 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2014-10-31 12:43:09 +0100 |
commit | 715e529d70b264c2392fab72bb4b17ec18fb93fd (patch) | |
tree | bf9d7a859d74f52e68daa61936080f0142af7728 /gcc/ada/sem_cat.adb | |
parent | 88305f176dd10ea3f8c60ed65ca7eb189591e069 (diff) | |
download | gcc-715e529d70b264c2392fab72bb4b17ec18fb93fd.zip gcc-715e529d70b264c2392fab72bb4b17ec18fb93fd.tar.gz gcc-715e529d70b264c2392fab72bb4b17ec18fb93fd.tar.bz2 |
[multiple changes]
2014-10-31 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb (Analyze_Access_Attribute): Do not emit error
message if reference does not come from source, as in the case
for the controlling argument of a dispatching call. Error is
diagnosed when call is resolved.
* sem_ch4.adb (Complete_Object_Operation); Fix incorrect RM
reference in error message.
* sem_res.adb (Check_Prefixed_Call): ditto.
2014-10-31 Yannick Moy <moy@adacore.com>
* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): Do not
suppress checks when pragma Restrictions (No_Exception) is used in
CodePeer or GNATprove mode.
2014-10-31 Yannick Moy <moy@adacore.com>
* gnat1drv.adb (Adjust_Global_Switches): Explicitly mark language
checks as not suppressed in GNATprove mode.
2014-10-31 Ed Schonberg <schonberg@adacore.com>
* sem_elab.adb (Check_Elab_Call): Nothing to check if call is
being pre-analyzed.
* sem_ch3.adb (Complete_Private_Subtype): If all rep items of full
view are those of the base, use rep_item chain of partial view,
which may include aspects.
* sem_cat.adb (Is_non_Remote_Access_Type): Use underlying type
of base type, to handle properly declared subtypes.
From-SVN: r216969
Diffstat (limited to 'gcc/ada/sem_cat.adb')
-rw-r--r-- | gcc/ada/sem_cat.adb | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/ada/sem_cat.adb b/gcc/ada/sem_cat.adb index 04638aa..06460fd 100644 --- a/gcc/ada/sem_cat.adb +++ b/gcc/ada/sem_cat.adb @@ -634,7 +634,9 @@ package body Sem_Cat is ------------------------------- function Is_Non_Remote_Access_Type (E : Entity_Id) return Boolean is - U_E : constant Entity_Id := Underlying_Type (E); + U_E : constant Entity_Id := Underlying_Type (Base_Type (E)); + -- Use full view of base type to handle subtypes properly. + begin if No (U_E) then @@ -1932,7 +1934,7 @@ package body Sem_Cat is Typ := First_Entity (Name_U); while Present (Typ) and then Typ /= First_Priv_Ent loop - U_Typ := Underlying_Type (Typ); + U_Typ := Underlying_Type (Base_Type (Typ)); if No (U_Typ) then U_Typ := Typ; |