aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ada/ChangeLog7
-rw-r--r--gcc/ada/sem_prag.adb7
2 files changed, 14 insertions, 0 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index cb7014e..a938ab2 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,10 @@
+2018-01-11 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma, case Predicate): Indicate that the type
+ has a delayed aspect which must be processed at the point the type is
+ frozen. This mimics what is done when the predicate is provided by a
+ source aspect.
+
2018-01-11 Doug Rupp <rupp@adacore.com>
* init.c (vxworks): Add macro checks for __aarch64__.
diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb
index 4f55db1..ba629ba 100644
--- a/gcc/ada/sem_prag.adb
+++ b/gcc/ada/sem_prag.adb
@@ -20244,6 +20244,13 @@ package body Sem_Prag is
-- general Assertion_Policy pragma) to preserve existing warnings.
Set_Has_Predicates (Typ);
+
+ -- Indicate that the pragma must be processed at the point the
+ -- type is frozen, as is done for the corresponding aspect.
+
+ Set_Has_Delayed_Aspects (Typ);
+ Set_Has_Delayed_Freeze (Typ);
+
Set_Predicates_Ignored (Typ,
Present (Check_Policy_List)
and then