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;

Reply via email to