www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 16699] New: [REG 2.070] stack corruption with scope(exit)

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

          Issue ID: 16699
           Summary: [REG 2.070] stack corruption with scope(exit)
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Linux
            Status: NEW
          Keywords: wrong-code
          Severity: regression
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: ag0aep6g gmail.com

This is a further reduction of issue 16698. Filing separately because 16698 is
a phobos issue that can possibly be fixed by working around this compiler bug.

May be related to issue 16102.

Fails since 2.070.0.

----
ulong[1] parseDateRange()
{
    scope(exit) {}

    ulong[1] result;
    result[0] = 0;
    return result;
}

void main()
{
    ulong[1] range = parseDateRange();
    assert(range[0] == 0); /* fails; should pass */
}
----

--
Nov 17 2016