aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorEd Schonberg <schonberg@adacore.com>2018-09-26 09:16:39 +0000
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>2018-09-26 09:16:39 +0000
commit6d7d342a391f9ab3b0fa6779bfe9657d574695e2 (patch)
treed42495b64ae65b9ccae91c68353cb391fdf9bbae /gcc
parentef8f9700fa4cb1d8cd6c3f38510da08d562b0791 (diff)
downloadgcc-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/ChangeLog8
-rw-r--r--gcc/ada/contracts.adb4
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,