aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sem_cat.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2014-10-31 12:43:09 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2014-10-31 12:43:09 +0100
commit715e529d70b264c2392fab72bb4b17ec18fb93fd (patch)
treebf9d7a859d74f52e68daa61936080f0142af7728 /gcc/ada/sem_cat.adb
parent88305f176dd10ea3f8c60ed65ca7eb189591e069 (diff)
downloadgcc-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.adb6
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;