[Ada] Diagnostics for Elaboration order v4.0

Programming / Compilers / GCC - pmderodat [138bc75d-0d04-0410-961f-82ee72b054a4] - 8 July 2019 08:14 EDT

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

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.

e6b4414edbc [Ada] Diagnostics for Elaboration order v4.0
gcc/ada/ChangeLog | 13 +++++
gcc/ada/bindo-diagnostics.adb | 117 ++++++++++++++++++++++++------------------
gcc/ada/bindo-graphs.adb | 39 ++++++++++++++
gcc/ada/bindo-graphs.ads | 7 +++
4 files changed, 126 insertions(+), 50 deletions(-)

Upstream: gcc.gnu.org


  • Share