Thread overview
[Issue 14606] [REG2.067.0] Bad code with -inline and structs
May 26, 2015
Kenji Hara
May 26, 2015
Vladimir Panteleev
May 26, 2015
Kenji Hara
May 26, 2015
https://issues.dlang.org/show_bug.cgi?id=14606

--- Comment #1 from Kenji Hara <k.hara.pg@gmail.com> ---
> Introduced in https://github.com/D-Programming-Language/dmd/pull/3979

The broken executable has been generated since 2.065, which and it was introduced in: https://github.com/D-Programming-Language/dmd/pull/2592

--
May 26, 2015
https://issues.dlang.org/show_bug.cgi?id=14606

--- Comment #2 from Vladimir Panteleev <thecybershadow@gmail.com> ---
Err, confirmed, thanks. I got the original reduction result on Linux but now I can't reproduce it.

--
May 26, 2015
https://issues.dlang.org/show_bug.cgi?id=14606

Kenji Hara <k.hara.pg@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |pull, wrong-code

--- Comment #3 from Kenji Hara <k.hara.pg@gmail.com> ---
https://github.com/D-Programming-Language/dmd/pull/4683

--
May 31, 2015
https://issues.dlang.org/show_bug.cgi?id=14606

--- Comment #4 from github-bugzilla@puremagic.com ---
Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/10fc5c4227911d4abf4727a283e56afa0aedd783 fix Issue 14606 - Bad code with -inline and structs

The wrong-code had caused by the combination of special memset expression
`(struct = 0)` and inlining field variable initialization with NRVO. The
extended inlining had introduced ConstructExp(ref_var, 0), but it was wrongly
handled as reference initialization in AssignExp::toElem().

To fix that, use `BlitExp` for the memset expression always, and avoid confusion with the ref initialization.

https://github.com/D-Programming-Language/dmd/commit/58047b08977cc82f09238e8ac6300dd5158a7acb Merge pull request #4683 from 9rnsr/fix14606

 [REG2.067.0] Issue 14606 - Bad code with -inline and structs

--
June 17, 2015
https://issues.dlang.org/show_bug.cgi?id=14606

--- Comment #5 from github-bugzilla@puremagic.com ---
Commits pushed to stable at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/10fc5c4227911d4abf4727a283e56afa0aedd783 fix Issue 14606 - Bad code with -inline and structs

https://github.com/D-Programming-Language/dmd/commit/58047b08977cc82f09238e8ac6300dd5158a7acb Merge pull request #4683 from 9rnsr/fix14606

--