aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYannick Moy <moy@adacore.com>2018-09-26 09:19:12 +0000
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>2018-09-26 09:19:12 +0000
commita30a69c1229cbf5270d2048299da5b9ae171e226 (patch)
tree07304bcaecb98507dd548408fb8789a6426b2d0f
parent2d9c4206c9d18b39f4d1c87ddbbda75238b7bf19 (diff)
downloadgcc-a30a69c1229cbf5270d2048299da5b9ae171e226.zip
gcc-a30a69c1229cbf5270d2048299da5b9ae171e226.tar.gz
gcc-a30a69c1229cbf5270d2048299da5b9ae171e226.tar.bz2
[Ada] Do not issue by default info messages for inlining in GNATprove
Info messages about lack of inlining for analysis in GNATprove may be confusing to users. They are now only issued when GNATprove is called with switch --info, which it passes on to gnat2why with switch -gnatd_f. There is no effect on compilation. 2018-09-26 Yannick Moy <moy@adacore.com> gcc/ada/ * debug.adb: Add use for -gnatd_f switch. * inline.adb (Cannot_Inline): Only issue info message for failure to inline in GNATprove mode when switch -gnatd_f is used. From-SVN: r264629
-rw-r--r--gcc/ada/ChangeLog7
-rw-r--r--gcc/ada/debug.adb7
-rw-r--r--gcc/ada/inline.adb21
3 files changed, 27 insertions, 8 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 16855a7..0ba717d 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,10 @@
+2018-09-26 Yannick Moy <moy@adacore.com>
+
+ * debug.adb: Add use for -gnatd_f switch.
+ * inline.adb (Cannot_Inline): Only issue info message for
+ failure to inline in GNATprove mode when switch -gnatd_f is
+ used.
+
2018-09-26 Javier Miranda <miranda@adacore.com>
* exp_disp.adb (Expand_Interface_Conversion): No displacement of
diff --git a/gcc/ada/debug.adb b/gcc/ada/debug.adb
index 95efede..65451a2 100644
--- a/gcc/ada/debug.adb
+++ b/gcc/ada/debug.adb
@@ -150,7 +150,7 @@ package body Debug is
-- d_c
-- d_d
-- d_e Ignore entry calls and requeue statements for elaboration
- -- d_f
+ -- d_f Issue info messages related to GNATprove usage
-- d_g
-- d_h
-- d_i Ignore activations and calls to instances for elaboration
@@ -831,6 +831,11 @@ package body Debug is
-- control, conditional entry calls, timed entry calls, and requeue
-- statements in both the static and dynamic elaboration models.
+ -- d_f Issue info messages related to GNATprove usage to help users
+ -- understand analysis results. By default these are not issued as
+ -- beginners find them confusing. Set automatically by GNATprove when
+ -- switch --info is used.
+
-- d_i The compiler ignores calls and task activations when they target a
-- subprogram or task type defined in an external instance for both
-- the static and dynamic elaboration models.
diff --git a/gcc/ada/inline.adb b/gcc/ada/inline.adb
index 8f0b75d..72991fa 100644
--- a/gcc/ada/inline.adb
+++ b/gcc/ada/inline.adb
@@ -1607,13 +1607,16 @@ package body Inline is
then
null;
- -- In GNATprove mode, issue a warning, and indicate that the
- -- subprogram is not always inlined by setting flag Is_Inlined_Always
- -- to False.
+ -- In GNATprove mode, issue a warning when -gnatd_f is set, and
+ -- indicate that the subprogram is not always inlined by setting
+ -- flag Is_Inlined_Always to False.
elsif GNATprove_Mode then
Set_Is_Inlined_Always (Subp, False);
- Error_Msg_NE (Msg & "p?", N, Subp);
+
+ if Debug_Flag_Underscore_F then
+ Error_Msg_NE (Msg & "p?", N, Subp);
+ end if;
elsif Has_Pragma_Inline_Always (Subp) then
@@ -1634,12 +1637,16 @@ package body Inline is
Error_Msg_NE (Msg (Msg'First .. Msg'Last - 1), N, Subp);
- -- In GNATprove mode, issue a warning, and indicate that the subprogram
- -- is not always inlined by setting flag Is_Inlined_Always to False.
+ -- In GNATprove mode, issue a warning when -gnatd_f is set, and
+ -- indicate that the subprogram is not always inlined by setting
+ -- flag Is_Inlined_Always to False.
elsif GNATprove_Mode then
Set_Is_Inlined_Always (Subp, False);
- Error_Msg_NE (Msg & "p?", N, Subp);
+
+ if Debug_Flag_Underscore_F then
+ Error_Msg_NE (Msg & "p?", N, Subp);
+ end if;
else