diff options
author | Pierre-Marie de Rodat <pmderodat@gcc.gnu.org> | 2017-09-25 09:24:26 +0000 |
---|---|---|
committer | Pierre-Marie de Rodat <pmderodat@gcc.gnu.org> | 2017-09-25 09:24:26 +0000 |
commit | f71b4cd44483310677019f5d47cabbdeedfcfc75 (patch) | |
tree | cab437b38002c96a86377eab7c6057ea7acb7267 /gcc/ada/sem_ch12.adb | |
parent | e98cd75fc3322a267173010e07bb11c6bdb674d1 (diff) | |
download | gcc-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.adb | 18 |
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; |