[PATCH v2] Refactor to avoid nonnull checks on "this" pointer.
Yaakov Selkowitz
yselkowitz@cygwin.com
Fri Apr 1 13:13:00 GMT 2016
On 2016-04-01 07:13, Corinna Vinschen wrote:
> On Mar 31 12:18, Peter Foley wrote:
>> G++ 6.0 asserts that the "this" pointer is non-null for member functions.
>> Refactor methods that check if this is non-null to be static where
>> necessary, and remove the check where it is unnecessary.
>
> No, sorry, but now. Converting all affected functions to static
> functions just because this might be null is much too intrusive for my
> taste. *If* that's really a problem going forward, I'd rather see the
> pointer test moved into the caller. But don't waste your time on a
> patch yet.
>
> Let's please take a step back and look at what happens. So, here's the
> question: What error message does G++ 6 generate in case of an `if
> (this)' test in a member function, and why on earth should it care and
> do that?
See https://gcc.gnu.org/gcc-6/porting_to.html, section named
"Optimizations remove null pointer checks for this".
--
Yaakov
More information about the Cygwin-patches
mailing list