Thread overview | ||||||
---|---|---|---|---|---|---|
|
August 04, 2005 DMD 0.128 internal error e2ir.c 1786 | ||||
---|---|---|---|---|
| ||||
Attachments: | Trying to compile the attached D source code crashes the compiler with error message:
Internal error: e2ir.c 1786
The example file is a bit large, but I can't possibly reduce it any further still triggering the error.
--
Niko Korhonen
SW Developer
|
August 04, 2005 Re: DMD 0.128 internal error e2ir.c 1786 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Niko Korhonen | Niko Korhonen wrote:
> Trying to compile the attached D source code crashes the compiler with error message:
>
> Internal error: e2ir.c 1786
>
> The example file is a bit large, but I can't possibly reduce it any further still triggering the error.
Here's a much reduced version:
--
interface SomeInterface
{
}
void main()
{
SomeInterface[] arr = new SomeInterface[1];
if (arr[0] < arr[0])
{
}
}
--
Additional notes, in case they're of any help to anybody:
Changing SomeInterface to a class makes it compile, changing to a
struct says that opCmp() is required.
If there is no comparison of two array elements (which can be the same)
it works - just accessing them doesn't cause the error.
|
August 04, 2005 Re: DMD 0.128 internal error e2ir.c 1786 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Deewiant | Deewiant wrote: > Here's a much reduced version: Ok, thanks! I couldn't bother :) > Additional notes, in case they're of any help to anybody: > Changing SomeInterface to a class makes it compile, changing to a > struct says that opCmp() is required. > If there is no comparison of two array elements (which can be the same) > it works - just accessing them doesn't cause the error. So it's interfaces again. Somehow I get the feeling that interfaces are very unwelcome citizens in D. -- Niko Korhonen SW Developer |
August 06, 2005 Re: DMD 0.128 internal error e2ir.c 1786 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Deewiant Attachments: | Deewiant schrieb: > Niko Korhonen wrote: > >>Trying to compile the attached D source code crashes the compiler with error message: >> >>Internal error: e2ir.c 1786 >> >>The example file is a bit large, but I can't possibly reduce it any further still triggering the error. > > > Here's a much reduced version: > > -- > interface SomeInterface > { > } > > void main() > { > SomeInterface[] arr = new SomeInterface[1]; > > if (arr[0] < arr[0]) > { > } > } > -- > > Additional notes, in case they're of any help to anybody: > Changing SomeInterface to a class makes it compile, changing to a > struct says that opCmp() is required. > If there is no comparison of two array elements (which can be the same) > it works - just accessing them doesn't cause the error. Added to DStress as http://dstress.kuehne.cn/run/b/bug_e2ir_1786_A.d http://dstress.kuehne.cn/run/b/bug_e2ir_1786_B.d http://dstress.kuehne.cn/run/b/bug_e2ir_1786_C.d http://dstress.kuehne.cn/run/b/bug_e2ir_1786_D.d Thomas |
Copyright © 1999-2021 by the D Language Foundation