diff options
author | Ed Schonberg <schonberg@adacore.com> | 2018-09-26 09:16:39 +0000 |
---|---|---|
committer | Pierre-Marie de Rodat <pmderodat@gcc.gnu.org> | 2018-09-26 09:16:39 +0000 |
commit | 6d7d342a391f9ab3b0fa6779bfe9657d574695e2 (patch) | |
tree | d42495b64ae65b9ccae91c68353cb391fdf9bbae /gcc | |
parent | ef8f9700fa4cb1d8cd6c3f38510da08d562b0791 (diff) | |
download | gcc-6d7d342a391f9ab3b0fa6779bfe9657d574695e2.zip gcc-6d7d342a391f9ab3b0fa6779bfe9657d574695e2.tar.gz gcc-6d7d342a391f9ab3b0fa6779bfe9657d574695e2.tar.bz2 |
[Ada] Disable special handling for preconditions specified by pragmas
2018-09-26 Ed Schonberg <schonberg@adacore.com>
gcc/ada/
* contracts.adb (Analyze_Entry_Or_Subprogram_Contract): The
analysis of preconditions specified by pragmas (rather than
aspects) is not delayed, and therefore expressions functions
that are completions do not need special handling during
expansion.
From-SVN: r264604
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ada/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/ada/contracts.adb | 4 |
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index cbedcc0..e1dd3eb 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,5 +1,13 @@ 2018-09-26 Ed Schonberg <schonberg@adacore.com> + * contracts.adb (Analyze_Entry_Or_Subprogram_Contract): The + analysis of preconditions specified by pragmas (rather than + aspects) is not delayed, and therefore expressions functions + that are completions do not need special handling during + expansion. + +2018-09-26 Ed Schonberg <schonberg@adacore.com> + * exp_unst.adb: Fix handling of up level references for entries. 2018-09-26 Ed Schonberg <schonberg@adacore.com> diff --git a/gcc/ada/contracts.adb b/gcc/ada/contracts.adb index 136c05c..8b18c39 100644 --- a/gcc/ada/contracts.adb +++ b/gcc/ada/contracts.adb @@ -620,7 +620,9 @@ package body Contracts is Prag := Pre_Post_Conditions (Items); while Present (Prag) loop - if Freeze_Types then + if Freeze_Types + and then Present (Corresponding_Aspect (Prag)) + then Freeze_Expr_Types (Def_Id => Subp_Id, Typ => Standard_Boolean, |