diff options
-rw-r--r-- | gcc/ada/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/ada/sem_prag.adb | 7 |
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 |