On Sat, Feb 11, 2012 at 5:09 PM, Walter Bright <[email protected]>wrote:

> **
>
>
> On 2/10/2012 11:12 AM, Masahiro Nakagawa wrote:
>
> On Sat, Feb 11, 2012 at 3:49 AM, Walter Bright <[email protected]>wrote:
>
>>
>>
>> On 2/10/2012 8:59 AM, Masahiro Nakagawa wrote:
>>
>>> Following code works on dmd 2.057, but causing segmentation fault on dmd
>>> 2.058 beta.
>>>
>>> -----
>>> struct S
>>> {
>>>    void foo(V)(in V v)
>>>    {
>>>    }
>>>
>>>    void foo(Args...)(auto ref const Args args)
>>>    {
>>>        foreach (i, T; Args)
>>>            foo(args[i]);
>>>    }
>>> }
>>>
>>> void main()
>>> {
>>>    S s;
>>>    s.foo(10);
>>> }
>>> ----
>>>
>>> Does anyone report this issue?
>>> This bug is critical for my msgpack-d and related libraries.
>>>
>>>
>> This compiles for me without error. When it runs, I get a stack overflow.
>> The reason looks clear - foo(Args) is recursively calling itself. I don't
>> think it's a bug in dmd.
>>
>
>  I retried above code using new beta on two environments.
>
>  Mac OS X 10.6.8 causes segmentation fault, but
> Scientific Linux release 6.0 64bit works fine.
>
>  Does D allow above code?
>
>
> Do you mean the compiler seg faults or the compiled program seg faults?
>

In Mac, compiled program seg faults.
_______________________________________________
dmd-beta mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/dmd-beta

Reply via email to