aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sem_ch12.adb
diff options
context:
space:
mode:
authorPierre-Marie de Rodat <pmderodat@gcc.gnu.org>2017-09-25 09:24:26 +0000
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>2017-09-25 09:24:26 +0000
commitf71b4cd44483310677019f5d47cabbdeedfcfc75 (patch)
treecab437b38002c96a86377eab7c6057ea7acb7267 /gcc/ada/sem_ch12.adb
parente98cd75fc3322a267173010e07bb11c6bdb674d1 (diff)
downloadgcc-f71b4cd44483310677019f5d47cabbdeedfcfc75.zip
gcc-f71b4cd44483310677019f5d47cabbdeedfcfc75.tar.gz
gcc-f71b4cd44483310677019f5d47cabbdeedfcfc75.tar.bz2
[multiple changes]
2017-09-25 Hristian Kirtchev <kirtchev@adacore.com> * sem_res.adb (Replace_Actual_Discriminants): Replace a discriminant for GNATprove. (Resolve_Entry): Clean up predicate 2017-09-25 Hristian Kirtchev <kirtchev@adacore.com> * sem_prag.adb (Analyze_Constituent): Raise Unrecoverable_Error rather than Program_Error because U_E is more in line with respect to the intended behavior. 2017-09-25 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Resolve_Aspect_Expressions): The expression for aspect Storage_Size does not freeze, and thus can include references to deferred constants. 2017-09-25 Hristian Kirtchev <kirtchev@adacore.com> * exp_spark.adb (Expand_SPARK_Potential_Renaming): Do not process a reference when it appears within a pragma of no significance to SPARK. (In_Insignificant_Pragma): New routine. * sem_prag.ads: Add new table Pragma_Significant_In_SPARK. 2017-09-25 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Analyze_Associations, case N_Formal_Package): If the actual is a renaming, indicate that it is the renamed package that must be frozen before the instantiation. 2017-09-25 Yannick Moy <moy@adacore.com> * doc/gnat_ugn/gnat_and_program_execution.rst: Fix typo in description of dimensionality system in GNAT UG. * gnat_ugn.texi: Regenerate. 2017-09-25 Yannick Moy <moy@adacore.com> * gnat1drv.adb: Call Check_Safe_Pointers from the frontend in GNATprove_Mode when switch -gnatdF used. 2017-09-25 Piotr Trojanek <trojanek@adacore.com> * adabkend.adb (Call_Back_End): Reset Current_Error_Node when starting the backend. From-SVN: r253140
Diffstat (limited to 'gcc/ada/sem_ch12.adb')
-rw-r--r--gcc/ada/sem_ch12.adb18
1 files changed, 16 insertions, 2 deletions
diff --git a/gcc/ada/sem_ch12.adb b/gcc/ada/sem_ch12.adb
index 9a87c0e..44dc801 100644
--- a/gcc/ada/sem_ch12.adb
+++ b/gcc/ada/sem_ch12.adb
@@ -1980,8 +1980,22 @@ package body Sem_Ch12 is
if Needs_Freezing then
Check_Generic_Parent;
- Set_Has_Delayed_Freeze (Actual);
- Append_Elmt (Actual, Actuals_To_Freeze);
+
+ -- If the actual is a renaming of a proper
+ -- instance of the formal package, indicate
+ -- that it is the instance that must be frozen.
+
+ if Nkind (Parent (Actual)) =
+ N_Package_Renaming_Declaration
+ then
+ Set_Has_Delayed_Freeze
+ (Renamed_Entity (Actual));
+ Append_Elmt
+ (Renamed_Entity (Actual), Actuals_To_Freeze);
+ else
+ Set_Has_Delayed_Freeze (Actual);
+ Append_Elmt (Actual, Actuals_To_Freeze);
+ end if;
end if;
end if;
end Explicit_Freeze_Check;