Thread overview
Internal error: e2ir.c 1289
Mar 06, 2006
Ant
Mar 06, 2006
Thomas Kuehne
Mar 06, 2006
Ant
Re: Internal error: e2ir.c 1289 - demonstration
Mar 07, 2006
Ant
Mar 07, 2006
Ant
Mar 07, 2006
Thomas Kuehne
March 06, 2006
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
March 06, 2006
Ant schrieb am 2006-03-06:
> 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

Does your code look like http://dstress.kuehne.cn/run/b/bug_toobj_191_D.d ?

Thomas


March 06, 2006
Thomas Kuehne wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Ant schrieb am 2006-03-06:
>> 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
> 
> Does your code look like http://dstress.kuehne.cn/run/b/bug_toobj_191_D.d ?
> 
> Thomas
> 
> 
> -----BEGIN PGP SIGNATURE-----
> 
> iD8DBQFEDAGP3w+/yD4P9tIRAmCvAJ0QmzoHrc4sVe2xzzrtJn93e0cMwQCaAr6n
> /XNvmkNXEmzG+UBegcXiklk=
> =G8zx
> -----END PGP SIGNATURE-----
nope, I'll try to get more details today.

Ant
March 07, 2006
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
March 07, 2006
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

Ant
March 07, 2006
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