These warnings have nothing to do with virtual functions, so "override"
is inappropriate. The warnings are just talking about defining special
members, so let's say that.

        PR translation/94698
        * class.c (check_field_decls): Change "override" to "define" in
        -Weffc++ diagnostics.

Tested powerpc64le-linux, OK for master?

commit fefa27c3514655e84c699245e282edfa552f9f64
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Wed Apr 22 06:54:18 2020 +0100

    c++: Fix misuse of "override" in -Weffc++ warnings (PR 94698)
    
    These warnings have nothing to do with virtual functions, so "override"
    is inappropriate. The warnings are just talking about defining special
    members, so let's say that.
    
            PR translation/94698
            * class.c (check_field_decls): Change "override" to "define" in
            -Weffc++ diagnostics.

diff --git a/gcc/cp/class.c b/gcc/cp/class.c
index 41f52e5a5a0..6e14cd37aa4 100644
--- a/gcc/cp/class.c
+++ b/gcc/cp/class.c
@@ -3838,13 +3838,13 @@ check_field_decls (tree t, tree *access_decls,
          if (! TYPE_HAS_COPY_CTOR (t))
            {
              warning (OPT_Weffc__,
-                      "  but does not override %<%T(const %T&)%>", t, t);
+                      "  but does not define %<%T(const %T&)%>", t, t);
              if (!TYPE_HAS_COPY_ASSIGN (t))
                warning (OPT_Weffc__, "  or %<operator=(const %T&)%>", t);
            }
          else if (! TYPE_HAS_COPY_ASSIGN (t))
            warning (OPT_Weffc__,
-                    "  but does not override %<operator=(const %T&)%>", t);
+                    "  but does not define %<operator=(const %T&)%>", t);
          inform (DECL_SOURCE_LOCATION (pointer_member),
                  "pointer member %q+D declared here", pointer_member);
        }

Reply via email to