Bug 21983 - [3.4/4.0 Regression] multiple diagnostics
Summary: [3.4/4.0 Regression] multiple diagnostics
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: c++ (show other bugs)
Version: 3.4.0
: P2 normal
Target Milestone: 4.0.3
Assignee: Jakub Jelinek
URL: http://gcc.gnu.org/ml/gcc-patches/200...
Keywords: diagnostic
Depends on:
Blocks:
 
Reported: 2005-06-09 14:38 UTC by Ivan Godard
Modified: 2005-09-29 16:18 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Known to work: 3.2.3 3.0.4 2.95.3 4.1.0
Known to fail: 3.4.0 4.0.0
Last reconfirmed: 2005-09-05 15:17:18


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ivan Godard 2005-06-09 14:38:48 UTC
struct base { virtual void foo() = 0; };
struct d1 : public virtual base { virtual void foo() {} };
struct d2 : public virtual base { virtual void foo() {} };
struct der : public d1, public d2 { };

gets you:

~/ootbc/members/src$ g++ foo.cc
foo.cc:4: error: no unique final overrider for `virtual void base::foo()' in `der'
foo.cc:4: error: no unique final overrider for `virtual void base::foo()' in `der'
foo.cc:4: error: no unique final overrider for `virtual void base::foo()' in `der'
foo.cc:4: error: no unique final overrider for `virtual void base::foo()' in `der'
Comment 1 Andrew Pinski 2005-06-09 14:43:34 UTC
Confirmed, a regression from 3.2.3.
Comment 2 Andrew Pinski 2005-07-22 21:12:46 UTC
Moving to 4.0.2 pre Mark.
Comment 3 CVS Commits 2005-09-22 16:35:26 UTC
Subject: Bug 21983

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	jakub@gcc.gnu.org	2005-09-22 16:34:59

Modified files:
	gcc/cp         : ChangeLog class.c 
	gcc/testsuite  : ChangeLog 
Added files:
	gcc/testsuite/g++.dg/warn: pr21983.C 

Log message:
	PR c++/21983
	* class.c (find_final_overrider): Move diagnostic about no unique final
	overrider to...
	(update_vtable_entry_for_fn): ... here.
	
	* g++.dg/warn/pr21983.C: New test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.4900&r2=1.4901
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/class.c.diff?cvsroot=gcc&r1=1.732&r2=1.733
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.6095&r2=1.6096
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/warn/pr21983.C.diff?cvsroot=gcc&r1=NONE&r2=1.1

Comment 4 Andrew Pinski 2005-09-22 18:36:43 UTC
Fixed for 4.1.0.
Comment 5 CVS Commits 2005-09-29 16:10:13 UTC
Subject: Bug 21983

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcc-4_0-branch
Changes by:	jakub@gcc.gnu.org	2005-09-29 16:09:43

Modified files:
	gcc/cp         : ChangeLog 
	gcc/testsuite  : ChangeLog 
	gcc/cp         : class.c 
Added files:
	gcc/testsuite/g++.dg/warn: pr21983.C 

Log message:
	PR c++/21983
	* class.c (find_final_overrider): Move diagnostic about no unique final
	overrider to...
	(update_vtable_entry_for_fn): ... here.
	
	* g++.dg/warn/pr21983.C: New test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.4648.2.110&r2=1.4648.2.111
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.5084.2.414&r2=1.5084.2.415
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/class.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.707.2.4&r2=1.707.2.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/warn/pr21983.C.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.8.1

Comment 6 Andrew Pinski 2005-09-29 16:18:26 UTC
Fixed.
Comment 7 Jakub Jelinek 2005-11-23 13:53:21 UTC
Subject: Bug 21983

Author: jakub
Date: Wed Nov 23 13:53:15 2005
New Revision: 107420

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=107420
Log:
	PR c++/21983
	* class.c (find_final_overrider): Move diagnostic about no unique final
	overrider to...
	(update_vtable_entry_for_fn): ... here.

	* g++.dg/warn/pr21983.C: New test.

Added:
    branches/gcc-3_4-branch/gcc/testsuite/g++.dg/warn/pr21983.C
Modified:
    branches/gcc-3_4-branch/gcc/cp/ChangeLog
    branches/gcc-3_4-branch/gcc/cp/class.c
    branches/gcc-3_4-branch/gcc/testsuite/ChangeLog