Bug 15253 – [REG2.069.0-rc1] inliner prevent compilation

Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2015-10-28T05:59:00Z
Last change time
2015-10-31T19:52:20Z
Keywords
ice, pull
Assigned to
nobody
Creator
b2.temp

Comments

Comment #0 by b2.temp — 2015-10-28T05:59:34Z
revealed by compiling https://github.com/msoucy/dproto with > -w -lib -inline -O -release -boundscheck=off dmd returns > 7239 Segmentation Error
Comment #1 by r.sagitario — 2015-10-28T08:08:51Z
On windows dmd doesn't stop compiling (or I didn't wait long enough). Here's a reduced test case: struct MessageType { MessageType[] messageTypes; const void toString1(scope void delegate(const(char)[]) sink) { messageTypes[0].toString1(sink); } } struct ProtoPackage { MessageType[] messageTypes; const void toString1(scope void delegate(const(char)[]) sink) { messageTypes[0].toString1(sink); } } dmd -inline -c test.d
Comment #2 by schuetzm — 2015-10-28T10:51:44Z
(In reply to Rainer Schuetze from comment #1) > On windows dmd doesn't stop compiling (or I didn't wait long enough). I can confirm this on Linux with your test case. Digger traced it back to this commit: commit 74b2b22b3fc4dd5d19ab5d7b77e13393330c866a Author: Daniel Murphy <[email protected]> Date: Fri Sep 18 00:04:55 2015 +1000 dmd: Merge pull request #5092 from yebblies/dwarnings https://github.com/D-Programming-Language/dmd/pull/5092 Remove dead code and deprecated syntax
Comment #3 by code — 2015-10-29T10:35:29Z
Seems to infinitely loop in InlineScanVisitor::inlineScan.
Comment #4 by k.hara.pg — 2015-10-30T02:36:21Z
(In reply to Martin Nowak from comment #3) > Seems to infinitely loop in InlineScanVisitor::inlineScan. The regression is introduced in: https://github.com/D-Programming-Language/dmd/pull/5117
Comment #5 by k.hara.pg — 2015-10-30T04:32:12Z
Comment #6 by bugzilla — 2015-10-30T07:56:25Z
Comment #7 by github-bugzilla — 2015-10-30T15:04:25Z
Commits pushed to stable at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/d33663d0885f3fb43144295fee64eee03ff90c4f fix Issue 15253 - [REG2.069.0-rc1] inliner prevent compilation https://github.com/D-Programming-Language/dmd/commit/e79cf30fb1500691abd8a4926be674f96f20cefb Merge pull request #5245 from MartinNowak/fix15253 fix Issue 15253 - [REG2.069.0-rc1] inliner prevent compilation
Comment #8 by github-bugzilla — 2015-10-31T19:52:20Z