[C++ PATCH] Fix 23118, 22604
Nathan Sidwell
nathan@codesourcery.com
Tue Oct 18 12:39:00 GMT 2005
This patch fixes two ICEs.
22604 was easy, we already mark invalid covariant overriders. All that was
needed was to tell the vtable machinery not to try processing them.
23118 was a little harder. An invalid overload still got added to the *list* of
member function, but wasn't added to the *vector*. We process methods in
declaration order using the list, but search for overrides using the vector.
When a virtual function is only on the list, look_for_overrides_here will fail
to find it. The fix is for add_method to return a flag indicating whether the
function made it to the method vector, and if it doesn't we don't add it to the
method list either.
built & tested on i686-pc-linux-gnu. Mainline & 4.0. Not for 3.4 as these are
both ice-on-illformed-after-error.
nathan
--
Nathan Sidwell :: http://www.codesourcery.com :: CodeSourcery LLC
nathan@codesourcery.com :: http://www.planetfall.pwp.blueyonder.co.uk
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 22604.patch
Type: text/x-patch
Size: 6274 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20051018/3a163d70/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 22604.C
Type: text/x-c++src
Size: 369 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20051018/3a163d70/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 23118.C
Type: text/x-c++src
Size: 308 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20051018/3a163d70/attachment-0002.bin>
More information about the Gcc-patches
mailing list