May 30, 2015 [dmd-internals] [D-Programming-Language/dmd] 10fc5c: fix Issue 14606 - Bad code with -inline and struct... | ||||
---|---|---|---|---|
| ||||
Attachments:
| Branch: refs/heads/master Home: https://github.com/D-Programming-Language/dmd Commit: 10fc5c4227911d4abf4727a283e56afa0aedd783 https://github.com/D-Programming-Language/dmd/commit/10fc5c4227911d4abf4727a283e56afa0aedd783 Author: k-hara <k.hara.pg@gmail.com> Date: 2015-05-26 (Tue, 26 May 2015) Changed paths: M src/e2ir.c M src/expression.c M test/runnable/inline.d Log Message: ----------- 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. Commit: 58047b08977cc82f09238e8ac6300dd5158a7acb https://github.com/D-Programming-Language/dmd/commit/58047b08977cc82f09238e8ac6300dd5158a7acb Author: Walter Bright <walter@walterbright.com> Date: 2015-05-30 (Sat, 30 May 2015) Changed paths: M src/e2ir.c M src/expression.c M test/runnable/inline.d Log Message: ----------- Merge pull request #4683 from 9rnsr/fix14606 [REG2.067.0] Issue 14606 - Bad code with -inline and structs Compare: https://github.com/D-Programming-Language/dmd/compare/7dd1d175f8cd...58047b08977c |
Copyright © 1999-2021 by the D Language Foundation