Re: [PATCH v2] Refactor to avoid nonnull checks on "this" pointer.
On Fri, Apr 1, 2016 at 11:10 AM, Corinna Vinschenwrote: > As I mentioned in my first reply, I'd prefer if the callers check the > pointer explicitly. Changing the methods to static methods seems ... > wrong. Ugly, if you don't mind me saying so. Fair enough, I'll respin this at some point.
Re: [PATCH v2] Refactor to avoid nonnull checks on "this" pointer.
On Apr 1 09:34, Peter Foley wrote: > On Fri, Apr 1, 2016 at 9:12 AM, Yaakov Selkowitz> wrote: > > See https://gcc.gnu.org/gcc-6/porting_to.html, section named "Optimizations > > remove null pointer checks for this". > > If there's an better way to do this, I'm all ears. As I mentioned in my first reply, I'd prefer if the callers check the pointer explicitly. Changing the methods to static methods seems ... wrong. Ugly, if you don't mind me saying so. Thanks, Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat signature.asc Description: PGP signature
Re: [PATCH v2] Refactor to avoid nonnull checks on "this" pointer.
On Apr 1 08:12, Yaakov Selkowitz wrote: > 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". Oh well. I kind of start to miss the K times... Just kidding. I think. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat signature.asc Description: PGP signature
Re: [PATCH v2] Refactor to avoid nonnull checks on "this" pointer.
On Fri, Apr 1, 2016 at 9:12 AM, Yaakov Selkowitzwrote: > See https://gcc.gnu.org/gcc-6/porting_to.html, section named "Optimizations > remove null pointer checks for this". If there's an better way to do this, I'm all ears. However, it seems to come down to either making these methods static or passing -fno-delete-null-pointer-checks unconditionally once gcc 6.0 becomes stable. Thanks, Peter
Re: [PATCH v2] Refactor to avoid nonnull checks on "this" pointer.
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
Re: [PATCH v2] Refactor to avoid nonnull checks on "this" pointer.
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? Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat signature.asc Description: PGP signature