aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/ChangeLog7
-rw-r--r--gcc/ada/sem_ch12.adb5
2 files changed, 12 insertions, 0 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index f18c146..2bb659a 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,10 @@
+2012-12-21 Ed Schonberg <schonberg@adacore.com>
+
+ PR ada/53737
+ * sem_ch12.adb (Analyze_Associations): Do not check the legality of
+ actuals for RACW types if this is an internal instantiation for a formal
+ package with defaulted parameters.
+
2012-12-21 Eric Botcazou <ebotcazou@adacore.com>
* adaint.c: Move directive around.
diff --git a/gcc/ada/sem_ch12.adb b/gcc/ada/sem_ch12.adb
index 60edce3..10718c4 100644
--- a/gcc/ada/sem_ch12.adb
+++ b/gcc/ada/sem_ch12.adb
@@ -1448,10 +1448,15 @@ package body Sem_Ch12 is
-- defined aspect/pragma Remote_Access_Type. In that case
-- the actual must be remote as well.
+ -- If the current instantiation is the construction of a
+ -- local copy for a formal package the actuals may be
+ -- defaulted, and there is no matching actual to check.
+
if Nkind (Analyzed_Formal) = N_Formal_Type_Declaration
and then
Nkind (Formal_Type_Definition (Analyzed_Formal)) =
N_Access_To_Object_Definition
+ and then Present (Match)
then
declare
Formal_Ent : constant Entity_Id :=