Re: [PATCH v2] Refactor to avoid nonnull checks on "this" pointer.

2016-04-01 Thread Peter Foley
On Fri, Apr 1, 2016 at 11:10 AM, Corinna Vinschen
 wrote:
> 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.

2016-04-01 Thread Corinna Vinschen
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.

2016-04-01 Thread Corinna Vinschen
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.

2016-04-01 Thread Peter Foley
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.
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.

2016-04-01 Thread Yaakov Selkowitz

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.

2016-04-01 Thread Corinna Vinschen
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