[PATCH] -Woverloaded-virtual
Aaron Ballman
aaron at aaronballman.com
Wed Jul 30 13:30:20 PDT 2014
I believe the following patch addresses a slight deficiency in our
-Woverloaded-virtual warning check. Specifically, it causes the
following code to warn (which matches GCC's behavior):
struct base {
virtual void foo(int I) {}
virtual void foo(char C) {}
};
struct derived : public base {
void foo(int I2) override {}
};
It does this by continuing to check other methods instead of early
returning out of processing them when an exact signature match is
encountered. I believe this is an improvement because it catches
problems like:
derived d;
d.foo('1');
Where derived::foo(int) is called when the user may expect
base::foo(char) to be called.
~Aaron
-------------- next part --------------
A non-text attachment was scrubbed...
Name: virtual.patch
Type: application/octet-stream
Size: 2117 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140730/473c5faa/attachment.obj>
More information about the cfe-commits
mailing list