https://gcc.gnu.org/g:996fd76402004d5f2fedbbf86cd8534e8c0c1f71
commit r15-465-g996fd76402004d5f2fedbbf86cd8534e8c0c1f71 Author: Ronan Desplanques <desplanq...@adacore.com> Date: Tue Feb 13 12:46:36 2024 +0100 ada: Fix crash with -gnatdJ and JSON output This patch tweaks the calls made to Errout subprograms to report violations of dependence restrictions, in order fix a crash that occurred with -gnatdJ and -fdiagnostics-format=json. gcc/ada/ * restrict.adb (Violation_Of_No_Dependence): Tweak error reporting calls. Diff: --- gcc/ada/restrict.adb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gcc/ada/restrict.adb b/gcc/ada/restrict.adb index 1cc75bec3263..bda35d8f441a 100644 --- a/gcc/ada/restrict.adb +++ b/gcc/ada/restrict.adb @@ -1704,16 +1704,16 @@ package body Restrict is -------------------------------- procedure Violation_Of_No_Dependence (Unit : Int; N : Node_Id) is + Unit_Node : constant Node_Id := No_Dependences.Table (Unit).Unit; begin - Error_Msg_Node_1 := No_Dependences.Table (Unit).Unit; - Error_Msg_Sloc := Sloc (Error_Msg_Node_1); + Error_Msg_Sloc := Sloc (Unit_Node); if No_Dependences.Table (Unit).Warn then - Error_Msg - ("?*?violation of restriction `No_Dependence '='> &`#", Sloc (N)); + Error_Msg_NE ("?*?violation of restriction `No_Dependence '='> &`#", + N, Unit_Node); else - Error_Msg - ("|violation of restriction `No_Dependence '='> &`#", Sloc (N)); + Error_Msg_NE ("|violation of restriction `No_Dependence '='> &`#", N, + Unit_Node); end if; end Violation_Of_No_Dependence;