Re: [PATCH] C++0x, fixes for override/final

2011-05-10 Thread Jason Merrill
Applied. Jason

Re: [PATCH] C++0x, fixes for override/final

2011-05-10 Thread Ville Voutilainen
At Tue, 10 May 2011 08:46:02 +0200, Jakub Jelinek wrote: > Hi! > Just small style nits: > s/int/bool/;s/0/false/;s/1/true/ > And the above condition is short enough that it could be on one line. Ok. Tests still pass. diff --git a/gcc/cp/class.c b/gcc/cp/class.c index 12db2bc..94a339d 100644 --- a

Re: [PATCH] C++0x, fixes for override/final

2011-05-09 Thread Jakub Jelinek
Hi! Just small style nits: On Tue, May 10, 2011 at 09:35:42AM +0300, Ville Voutilainen wrote: > --- a/gcc/cp/class.c > +++ b/gcc/cp/class.c > @@ -2453,6 +2453,7 @@ get_basefndecls (tree name, tree t) > void > check_for_override (tree decl, tree ctype) > { > + int overrides_found = 0; s/int/b

Re: [PATCH] C++0x, fixes for override/final

2011-05-09 Thread Ville Voutilainen
At Tue, 10 May 2011 00:46:54 -0400, Jason Merrill wrote: > This is breaking an optimization: before this change we don't bother > looking for overrides if we've never seen a virtual function with the > same name. Just set overrides_found as well as DECL_VINDEX. Ok. Tests still pass. diff --git

Re: [PATCH] C++0x, fixes for override/final

2011-05-09 Thread Jason Merrill
On 05/09/2011 05:55 PM, Ville Voutilainen wrote: + overrides_found = look_for_overrides (ctype, decl); if ((DECL_DESTRUCTOR_P (decl) || IDENTIFIER_VIRTUAL_P (DECL_NAME (decl)) || DECL_CONV_FN_P (decl)) -&& look_for_overrides (ctype, decl) +&& overrides_found && !

[PATCH] C++0x, fixes for override/final

2011-05-09 Thread Ville Voutilainen
Diagnose final on non-virtuals properly, diagnose override on virtuals that don't actually override properly. Amend these cases to the tests. Tested on Linux/X86-32. 2011-05-10 Ville Voutilainen Fixes for override/final. * class.c (check_for_override): Diagnose final on a