https://gcc.gnu.org/g:b8c91492d6360cadd222d56afa0d0aa3875b57b5
commit r15-2618-gb8c91492d6360cadd222d56afa0d0aa3875b57b5 Author: Steve Baird <ba...@adacore.com> Date: Wed Jun 26 13:50:48 2024 -0700 ada: Change "missing overriding indicator" message from error to warning There is no RM rule requiring an overriding indicator in the case where this message is generated; such a rule was discussed many years ago in an AI, but that AI was never approved. So generate a warning message instead of an error message. And don't even do that if we are in an instance (warning a user they should change the source of an instance seems unlikely to be helpful, at least in this case). gcc/ada/ * sem_disp.adb (Check_Dispatching_Operation): When calling Error_Msg_NE to generate a "missing overriding indicator" message, generate a warning message instead of an error message (and update comment to describe this new behavior). Diff: --- gcc/ada/sem_disp.adb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gcc/ada/sem_disp.adb b/gcc/ada/sem_disp.adb index fe822290e453..3c1c49f7064a 100644 --- a/gcc/ada/sem_disp.adb +++ b/gcc/ada/sem_disp.adb @@ -1666,13 +1666,14 @@ package body Sem_Disp is then Ovr_Subp := Find_Hidden_Overridden_Primitive (Subp); - -- Verify that the proper overriding indicator has been supplied. + -- Warn if the proper overriding indicator has not been supplied. if Present (Ovr_Subp) and then not Must_Override (Specification (Unit_Declaration_Node (Subp))) + and then not In_Instance then - Error_Msg_NE ("missing overriding indicator for&", Subp, Subp); + Error_Msg_NE ("missing overriding indicator for&??", Subp, Subp); end if; end if;