From: Steve Baird Date: Wed, 26 Jun 2024 20:50:48 +0000 (-0700) Subject: ada: Change "missing overriding indicator" message from error to warning X-Git-Tag: basepoints/gcc-16~6935 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b8c91492d6360cadd222d56afa0d0aa3875b57b5;p=thirdparty%2Fgcc.git 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 --git a/gcc/ada/sem_disp.adb b/gcc/ada/sem_disp.adb index fe822290e45..3c1c49f7064 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;