Is this a bug?
Jerry
jlquinn at optonline.net
Tue Nov 26 22:48:17 PST 2013
"H. S. Teoh" <hsteoh at quickfur.ath.cx> writes:
> On Tue, Nov 26, 2013 at 06:33:28PM -0500, Jerry wrote:
>> If I read correctly, the following is legal code. If you comment out
>> one of the case statements, it does the expected thing. With 4 or more,
>> it crashes. This is with dmd 2.064.2 on Debian.
>>
>> If it's a bug, I'll file a report. Thanks!
>>
>> class BB {}
>> class DD : CC {}
>> class CC : BB {
>> static CC create(string s) {
>> // Succeeds with 3 cases, fails with 4
>> switch (s) {
>> case "en":
>> case "it":
>> case "ru":
>> case "ko": return new DD;
>> default: throw new Exception("blech");
>> }
>> }
>> }
>>
>> void main() {
>> CC.create("en");
>> }
>>
>> jlquinn at wyvern:~/d$ ~/dmd2/linux/bin64/dmd switchbug.d -g
>> jlquinn at wyvern:~/d$ ./switchbug
>> Segmentation fault (core dumped)
> [...]
>
> No crash on dmd git HEAD, Debian/unstable (x86_64).
>
If I build dmd from the sources, the program works. It's only the
precompiled dmd executable that generates a broken binary.
More information about the Digitalmars-d
mailing list