www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 716] New: -inline: conditinal compilation of an empty foreach body causes the compiler to segfault

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=716

           Summary: -inline: conditinal compilation of an empty foreach body
                    causes the compiler to segfault
           Product: D
           Version: 0.177
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla digitalmars.com
        ReportedBy: thomas-dloop kuehne.cn


(Originally posted by Stewart Gordon <smjg_1998 yahoo.com>
on 2005-04-18 as news:d4026v$nc0$5 digitaldaemon.com)










compiling with "dmd -inline sample.d" causes the compiler to segfault

test cases:
http://dstress.kuehne.cn/run/foreach_28.d
http://dstress.kuehne.cn/run/foreach_29.d
http://dstress.kuehne.cn/run/f/foreach_28_B.d


-- 
Dec 22 2006
next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=716


thomas-dloop kuehne.cn changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jascha mainia.de





*** Bug 990 has been marked as a duplicate of this bug. ***


-- 
Mar 02 2007
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=716


bugzilla digitalmars.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |WORKSFORME





Works with dmd 1.022 and 2.006


-- 
Oct 30 2007
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=716


davidl 126.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|WORKSFORME                  |





a patch is required.
inline.c 857
Statement *ForeachStatement::inlineScan(InlineScanState *iss)
{
    aggr = aggr->inlineScan(iss);
    if(body)
       body = body->inlineScan(iss);
    return this;
}


-- 
Nov 08 2007
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=716


clugdbug yahoo.com.au changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |RESOLVED
           Keywords|                            |patch
         Resolution|                            |FIXED





Works for me. The code in DMD 2.027 is exactly as described by David. I guess
it was fixed at some point.


-- 
Apr 01 2009