From 8b727104817f1b0c2a03013ed397e99f8673405c Mon Sep 17 00:00:00 2001 From: Yannick Moy Date: Thu, 11 Jul 2019 08:03:24 +0000 Subject: [PATCH] [Ada] Avoid spurious errors on dimensionality checking in GNATprove In the special GNATprove mode of the frontend, automatic inlining is performed, which may lead to spurious errors on dimensionality checking. Avoid performing this checking on inlined code, which has already been checked for dimensionality errors. There is no impact on compilation. 2019-07-11 Yannick Moy gcc/ada/ * sem_res.adb (Resolve_Call): Do not perform dimensionality checking on inlined bodies. From-SVN: r273405 --- gcc/ada/ChangeLog | 5 +++++ gcc/ada/sem_res.adb | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index a5273a8644d..59f20c489e5 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2019-07-11 Yannick Moy + + * sem_res.adb (Resolve_Call): Do not perform dimensionality + checking on inlined bodies. + 2019-07-11 Yannick Moy * debug.adb: Flip meaning of debug switch -gnatdF. diff --git a/gcc/ada/sem_res.adb b/gcc/ada/sem_res.adb index 730f17304d6..4ca74f8543c 100644 --- a/gcc/ada/sem_res.adb +++ b/gcc/ada/sem_res.adb @@ -6949,7 +6949,9 @@ package body Sem_Res is -- Check the dimensions of the actuals in the call. For function calls, -- propagate the dimensions from the returned type to N. - Analyze_Dimension_Call (N, Nam); + if not In_Inlined_Body then + Analyze_Dimension_Call (N, Nam); + end if; -- All done, evaluate call and deal with elaboration issues -- 2.30.2