[Issue 15296] [REG2.069] cannot inline simple function that calls use non-inlinable statements

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Mon Feb 29 11:57:04 PST 2016


https://issues.dlang.org/show_bug.cgi?id=15296

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

https://github.com/D-Programming-Language/dmd/commit/25453b66de52148e92531c4936de471e5b2cf54b
Properly fix Issue 15296 - expand CallExp in ExpStatement as statements

If a `CallExp`, `CondExp`, or `CommaExp` appears in `ExpStatement`, it can be
inlined as statements.
It provides more inlining opportunity. Even if the called function contains
some statements which cannot be expanded as expressions (e.g. `ForStatement`),
the function call can be inlined.

In `expandInline`, if `vthis` is a temporary variable, its dtor call should be
deferred till the end of expanded function body statements.

https://github.com/D-Programming-Language/dmd/commit/06133fd5bfa17beba18bbe122ba1ef1e5a344f42
Merge pull request #5292 from 9rnsr/fix15296x

Properly fix Issue 15296 - expand CallExp in ExpStatement as statements

--


More information about the Digitalmars-d-bugs mailing list