www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - DMD 0.128 internal error e2ir.c 1786

reply Niko Korhonen <niktheblak hotmail.com> writes:
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
Aug 04 2005
parent reply Deewiant <deewiant.doesnotlike.spam gmail.com> writes:
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.
Aug 04 2005
next sibling parent Niko Korhonen <niktheblak hotmail.com> writes:
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
Aug 04 2005
prev sibling parent =?ISO-8859-1?Q?Thomas_K=FChne?= <thomas-dloop kuehne.THISISSPAM.cn> writes:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

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 -----BEGIN PGP SIGNATURE----- iD8DBQFC9LdS3w+/yD4P9tIRAv3AAJwKRMR5tFnKUaKW8aWG9gCiyVZ7QwCdF7c7 h8qHucQx1QUN13LpkdQcGrc= =EfoF -----END PGP SIGNATURE-----
Aug 06 2005