]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
[Ada] Spurious style message on missing overriding indicator
authorEd Schonberg <schonberg@adacore.com>
Sat, 29 May 2021 14:14:46 +0000 (10:14 -0400)
committerPierre-Marie de Rodat <derodat@adacore.com>
Thu, 8 Jul 2021 13:34:22 +0000 (13:34 +0000)
gcc/ada/

* style.adb (Missing_Overriding): Do not emit message when
parent of subprogram is a full type declaration.

gcc/ada/style.adb

index 1409cc61d197ad2e9ea5b9b95d7cd558b5f740c3..c2bff83c9c62a4c49bb1d7888f3e23dfb6a42456 100644 (file)
@@ -265,11 +265,15 @@ package body Style is
       --  indicators were introduced in Ada 2005. We apply Comes_From_Source
       --  to Original_Node to catch the case of a procedure body declared with
       --  "is null" that has been rewritten as a normal empty body.
+      --  We do not emit a warning on an inherited operation that comes from
+      --  a type derivation.
 
       if Style_Check_Missing_Overriding
         and then (Comes_From_Source (Original_Node (N))
                    or else Is_Generic_Instance (E))
         and then Ada_Version_Explicit >= Ada_2005
+        and then Present (Parent (E))
+        and then Nkind (Parent (E)) /= N_Full_Type_Declaration
       then
          --  If the subprogram is an instantiation,  its declaration appears
          --  within a wrapper package that precedes the instance node. Place