Internal error: e2ir.c 1289 - demonstration

Thomas Kuehne thomas-dloop at kuehne.cn
Tue Mar 7 02:28:17 PST 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Ant schrieb am 2006-03-06:
> Ant wrote:
>> Ant wrote:
>>> gobject/typedefs.d(504): struct gobject.typedefs.GValue unknown size
>>> gobject/typedefs.d(504): struct gobject.typedefs.GValue no size yet 
>>> for forward reference
>>> gobject/typedefs.d(504): struct gobject.typedefs.GValue unknown size
>>> gobject/typedefs.d(504): struct gobject.typedefs.GValue no size yet 
>>> for forward reference
>>> Internal error: e2ir.c 1289
>>>
>>> I'll try to find out more details latter
>> 
>> 
>> struct S;
>> 
>> void main()
>> {
>>     S* s = new S();
>> }
>> 
>> 
>> $ dmd s.d -I~/dmd/src/phobos
>> s.d(1): struct s.S unknown size
>> s.d(1): struct s.S no size yet for forward reference
>> s.d(1): struct s.S unknown size
>> s.d(1): struct s.S no size yet for forward reference
>> Internal error: e2ir.c 1289
>
> forgot: Linux DMD 0.148

It might sound surprising, but it should compile and run.

http://www.digitalmars.com/d/struct.html
# AggregateDeclaration: Tag Identifier ;
# AggregateDeclaration: Tag Identifier StructBody
#
# Tag: struct
# Tag: union
#
# StructBody: { }
# StructBody: { StructBodyDeclarations }

Thus "struct S;" is a proper AggregateDeclaration.

Added to DStress as
http://dstress.kuehne.cn/run/s/struct_24_A.d
http://dstress.kuehne.cn/run/s/struct_24_B.d
http://dstress.kuehne.cn/run/s/struct_24_C.d
http://dstress.kuehne.cn/run/s/struct_24_D.d

Thomas


-----BEGIN PGP SIGNATURE-----

iD8DBQFEDW0z3w+/yD4P9tIRAmxoAJwLfLQ32BI5ua53lNE7CWyC1VR1jwCZAbvU
He8RYKimyF/ClzmQASZX5BU=
=Q9dG
-----END PGP SIGNATURE-----



More information about the Digitalmars-d-bugs mailing list