Commit 8b727104 by Yannick Moy Committed by Pierre-Marie de Rodat

[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  <moy@adacore.com>

gcc/ada/

	* sem_res.adb (Resolve_Call): Do not perform dimensionality
	checking on inlined bodies.

From-SVN: r273405
parent d99ef225
2019-07-11 Yannick Moy <moy@adacore.com> 2019-07-11 Yannick Moy <moy@adacore.com>
* sem_res.adb (Resolve_Call): Do not perform dimensionality
checking on inlined bodies.
2019-07-11 Yannick Moy <moy@adacore.com>
* debug.adb: Flip meaning of debug switch -gnatdF. * debug.adb: Flip meaning of debug switch -gnatdF.
2019-07-11 Yannick Moy <moy@adacore.com> 2019-07-11 Yannick Moy <moy@adacore.com>
......
...@@ -6949,7 +6949,9 @@ package body Sem_Res is ...@@ -6949,7 +6949,9 @@ package body Sem_Res is
-- Check the dimensions of the actuals in the call. For function calls, -- Check the dimensions of the actuals in the call. For function calls,
-- propagate the dimensions from the returned type to N. -- 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 -- All done, evaluate call and deal with elaboration issues
......
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