aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/class.c
diff options
context:
space:
mode:
authorMarek Polacek <polacek@redhat.com>2019-05-10 14:53:30 +0000
committerMarek Polacek <mpolacek@gcc.gnu.org>2019-05-10 14:53:30 +0000
commitd49b251f6d08fda3db606ac0e50cd28daac9eb33 (patch)
tree0cd0fe282326fa27f3fbb599d007f4d3cbdb7bd3 /gcc/cp/class.c
parent93d2b7038de17c5a675c07490ab55b77af815604 (diff)
downloadgcc-d49b251f6d08fda3db606ac0e50cd28daac9eb33.zip
gcc-d49b251f6d08fda3db606ac0e50cd28daac9eb33.tar.gz
gcc-d49b251f6d08fda3db606ac0e50cd28daac9eb33.tar.bz2
PR c++/78010 - bogus -Wsuggest-override warning on final function.
* class.c (check_for_override): Don't warn for final functions. * g++.dg/warn/Wsuggest-override-2.C: New test. From-SVN: r271065
Diffstat (limited to 'gcc/cp/class.c')
-rw-r--r--gcc/cp/class.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/cp/class.c b/gcc/cp/class.c
index 712169c..a47777c 100644
--- a/gcc/cp/class.c
+++ b/gcc/cp/class.c
@@ -2780,7 +2780,9 @@ check_for_override (tree decl, tree ctype)
{
DECL_VINDEX (decl) = decl;
overrides_found = true;
- if (warn_override && !DECL_OVERRIDE_P (decl)
+ if (warn_override
+ && !DECL_OVERRIDE_P (decl)
+ && !DECL_FINAL_P (decl)
&& !DECL_DESTRUCTOR_P (decl))
warning_at (DECL_SOURCE_LOCATION (decl), OPT_Wsuggest_override,
"%qD can be marked override", decl);