Commit a30a69c1 by Yannick Moy Committed by Pierre-Marie de Rodat

[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
parent 2d9c4206
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> 2018-09-26 Javier Miranda <miranda@adacore.com>
* exp_disp.adb (Expand_Interface_Conversion): No displacement of * exp_disp.adb (Expand_Interface_Conversion): No displacement of
......
...@@ -150,7 +150,7 @@ package body Debug is ...@@ -150,7 +150,7 @@ package body Debug is
-- d_c -- d_c
-- d_d -- d_d
-- d_e Ignore entry calls and requeue statements for elaboration -- d_e Ignore entry calls and requeue statements for elaboration
-- d_f -- d_f Issue info messages related to GNATprove usage
-- d_g -- d_g
-- d_h -- d_h
-- d_i Ignore activations and calls to instances for elaboration -- d_i Ignore activations and calls to instances for elaboration
...@@ -831,6 +831,11 @@ package body Debug is ...@@ -831,6 +831,11 @@ package body Debug is
-- control, conditional entry calls, timed entry calls, and requeue -- control, conditional entry calls, timed entry calls, and requeue
-- statements in both the static and dynamic elaboration models. -- 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 -- d_i The compiler ignores calls and task activations when they target a
-- subprogram or task type defined in an external instance for both -- subprogram or task type defined in an external instance for both
-- the static and dynamic elaboration models. -- the static and dynamic elaboration models.
......
...@@ -1607,13 +1607,16 @@ package body Inline is ...@@ -1607,13 +1607,16 @@ package body Inline is
then then
null; null;
-- In GNATprove mode, issue a warning, and indicate that the -- In GNATprove mode, issue a warning when -gnatd_f is set, and
-- subprogram is not always inlined by setting flag Is_Inlined_Always -- indicate that the subprogram is not always inlined by setting
-- to False. -- flag Is_Inlined_Always to False.
elsif GNATprove_Mode then elsif GNATprove_Mode then
Set_Is_Inlined_Always (Subp, False); 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 elsif Has_Pragma_Inline_Always (Subp) then
...@@ -1634,12 +1637,16 @@ package body Inline is ...@@ -1634,12 +1637,16 @@ package body Inline is
Error_Msg_NE (Msg (Msg'First .. Msg'Last - 1), N, Subp); Error_Msg_NE (Msg (Msg'First .. Msg'Last - 1), N, Subp);
-- In GNATprove mode, issue a warning, and indicate that the subprogram -- In GNATprove mode, issue a warning when -gnatd_f is set, and
-- is not always inlined by setting flag Is_Inlined_Always to False. -- indicate that the subprogram is not always inlined by setting
-- flag Is_Inlined_Always to False.
elsif GNATprove_Mode then elsif GNATprove_Mode then
Set_Is_Inlined_Always (Subp, False); 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 else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment