diff options
author | Bob Duff <duff@adacore.com> | 2020-03-14 14:32:31 -0400 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2020-06-11 05:53:36 -0400 |
commit | 0dd9f1b83fd8349556b5397002e505a873b866aa (patch) | |
tree | 7fc48a3cc84a5de12653890ca40b6532520793f7 | |
parent | a91b983325449c68f2f497a1662a4b85c47ce1a9 (diff) | |
download | gcc-0dd9f1b83fd8349556b5397002e505a873b866aa.zip gcc-0dd9f1b83fd8349556b5397002e505a873b866aa.tar.gz gcc-0dd9f1b83fd8349556b5397002e505a873b866aa.tar.bz2 |
[Ada] Fix unnesting crash with Predicate_Failure/no pred
2020-06-11 Bob Duff <duff@adacore.com>
gcc/ada/
* sem_ch13.adb (Analyze_Aspect_Specifications): Do not set the
Has_Predicates flag when the Predicate_Failure aspect is seen.
It is legal (but pointless) to use this aspect without a
predicate. If we set the flag, we generate a half-baked
Predicate procedure, and if that procedure is nested, it causes
unnesting to crash.
-rw-r--r-- | gcc/ada/sem_ch13.adb | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/gcc/ada/sem_ch13.adb b/gcc/ada/sem_ch13.adb index cb33439..f73b55a 100644 --- a/gcc/ada/sem_ch13.adb +++ b/gcc/ada/sem_ch13.adb @@ -2540,8 +2540,6 @@ package body Sem_Ch13 is Expression => Relocate_Node (Expr))), Pragma_Name => Name_Predicate_Failure); - Set_Has_Predicates (E); - -- If the type is private, indicate that its completion -- has a freeze node, because that is the one that will -- be visible at freeze time. |