[Bug c++/97256] auto function return different result

2020-10-02 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97256

Jonathan Wakely  changed:

   What|Removed |Added

 Resolution|--- |INVALID
 Status|NEW |RESOLVED

--- Comment #7 from Jonathan Wakely  ---
And closing again.

[Bug c++/97256] auto function return different result

2020-10-01 Thread richard-gccbugzilla at metafoo dot co.uk via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97256

--- Comment #6 from Richard Smith  ---
My apologies, I misread the testcase. Yes, this is UB.

[Bug c++/97256] auto function return different result

2020-10-01 Thread mpolacek at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97256

Marek Polacek  changed:

   What|Removed |Added

 CC||mpolacek at gcc dot gnu.org
 Ever confirmed|0   |1
 Resolution|INVALID |---
 Status|RESOLVED|NEW
   Last reconfirmed||2020-10-02

--- Comment #5 from Marek Polacek  ---
Re-opening then, thanks.

[Bug c++/97256] auto function return different result

2020-10-01 Thread richard-gccbugzilla at metafoo dot co.uk via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97256

Richard Smith  changed:

   What|Removed |Added

 CC||richard-gccbugzilla@metafoo
   ||.co.uk

--- Comment #4 from Richard Smith  ---
The reference to 'b' from within the lambda is not an odr-use, so is not
transformed into a use of the lambda's capture. This program has defined
behavior and is being miscompiled.

[Bug c++/97256] auto function return different result

2020-10-01 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97256

--- Comment #3 from Jonathan Wakely  ---
(In reply to Jonathan Wakely from comment #2)
> Yes, the lambda captures a local variable by value,

Duh, sorry, I meant captures a local variables BY REFERENCE.

> and then when you invoke
> the lambda it refers to a dead variable.

[Bug c++/97256] auto function return different result

2020-10-01 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97256

Jonathan Wakely  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |INVALID

--- Comment #2 from Jonathan Wakely  ---
Yes, the lambda captures a local variable by value, and then when you invoke
the lambda it refers to a dead variable.

[Bug c++/97256] auto function return different result

2020-09-30 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97256

--- Comment #1 from Richard Biener  ---
possibly this returns a reference to a local variable which is undefined?