[Ada] Diagnostics for Elaboration order v4.0
authorHristian Kirtchev <kirtchev@adacore.com>
Mon, 8 Jul 2019 08:14:22 +0000 (08:14 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Mon, 8 Jul 2019 08:14:22 +0000 (08:14 +0000)
commit47bcd81fe7f8f9251f0777ae5ee77520b615af26
tree247b9c03c130defad6c9e4472bcfa286f1d655af
parent56730418631c887e3c20f6529ed9399b80b50915
[Ada] Diagnostics for Elaboration order v4.0

This patch adds a missing case to the output of cycle diagnostics here a
transition from an Elaborate_Body pair may reach a destination which is
in the context of an active Elaborate_All.

2019-07-08  Hristian Kirtchev  <kirtchev@adacore.com>

gcc/ada/

* bindo-diagnostics.adb (Diagnose_Cycle): Capture the presence
of an Elaborate_All edge before iterating over the edges of the
cycle.
(Output_Elaborate_Body_Transition): Update the parameter profile
and the comment on usage. Add a missing case where the edge is
within the context of an Elaborate_All.
(Output_Transition): Update the call to
Output_Elaborate_Body_Transition.
* bindo-graphs.ads, bindo-graphs.adb
(Contains_Elaborate_All_Edge): New routine.

From-SVN: r273217
gcc/ada/ChangeLog
gcc/ada/bindo-diagnostics.adb
gcc/ada/bindo-graphs.adb
gcc/ada/bindo-graphs.ads