aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYannick Moy <moy@adacore.com>2019-08-19 08:35:35 +0000
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>2019-08-19 08:35:35 +0000
commitc811dd91e184db204073d04c28ed107888b39518 (patch)
treefdffc74159e6b658e73dc2133acb7cebcae8e6bc
parenta4bbe10deb69d4885baffde7fa42c0ba137e7dc8 (diff)
downloadgcc-c811dd91e184db204073d04c28ed107888b39518.zip
gcc-c811dd91e184db204073d04c28ed107888b39518.tar.gz
gcc-c811dd91e184db204073d04c28ed107888b39518.tar.bz2
[Ada] Do not skip non-aliasing checking when inlining in GNATprove
When code is inlinined for proof in the special mode for GNATprove, Ada rules about non-aliasing should still be checked. Now fixed. There is no impact on compilation. 2019-08-19 Yannick Moy <moy@adacore.com> gcc/ada/ * sem_res.adb (Resolve_Call): Check non-aliasing rules before GNATprove inlining. From-SVN: r274640
-rw-r--r--gcc/ada/ChangeLog5
-rw-r--r--gcc/ada/sem_res.adb8
2 files changed, 9 insertions, 4 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 9fc8c9e..9222a98 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,8 @@
+2019-08-19 Yannick Moy <moy@adacore.com>
+
+ * sem_res.adb (Resolve_Call): Check non-aliasing rules before
+ GNATprove inlining.
+
2019-08-19 Eric Botcazou <ebotcazou@adacore.com>
* inline.adb (Add_Inlined_Body): Do not add pending
diff --git a/gcc/ada/sem_res.adb b/gcc/ada/sem_res.adb
index b27171f..8f2e358 100644
--- a/gcc/ada/sem_res.adb
+++ b/gcc/ada/sem_res.adb
@@ -6968,6 +6968,10 @@ package body Sem_Res is
Build_Call_Marker (N);
+ Mark_Use_Clauses (Subp);
+
+ Warn_On_Overlapping_Actuals (Nam, N);
+
-- In GNATprove mode, expansion is disabled, but we want to inline some
-- subprograms to facilitate formal verification. Indirect calls through
-- a subprogram type or within a generic cannot be inlined. Inlining is
@@ -7116,10 +7120,6 @@ package body Sem_Res is
end if;
end if;
end if;
-
- Mark_Use_Clauses (Subp);
-
- Warn_On_Overlapping_Actuals (Nam, N);
end Resolve_Call;
-----------------------------