Thread overview
[Issue 304] New: Internal error: e2ir.c 145
Aug 22, 2006
d-bugmail
Aug 22, 2006
Walter Bright
[OT]Re: [Issue 304] New: Internal error: e2ir.c 145
Aug 22, 2006
BCS
Aug 23, 2006
Walter Bright
Aug 22, 2006
d-bugmail
Aug 25, 2006
Thomas Kuehne
Sep 03, 2006
d-bugmail
August 22, 2006
http://d.puremagic.com/issues/show_bug.cgi?id=304

           Summary: Internal error: e2ir.c 145
           Product: D
           Version: 0.165
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla@digitalmars.com
        ReportedBy: benoit@tionex.de


Code that compile fine with 0.164 get this internal error with 0.165
I hope this can help to fix it, because it is really hard to cut that code
down.

Perhaps someone has another example code??


-- 

August 22, 2006
d-bugmail@puremagic.com wrote:
> Code that compile fine with 0.164 get this internal error with 0.165
> I hope this can help to fix it, because it is really hard to cut that code
> down.

All I can do is say it's in the code that accesses outer variables from nested functions, and it's a test case I don't have (but would like to!) in the D test suite.
August 22, 2006
> I hope this can help to fix it, because it is really hard to cut that code
> down.


Walter: how hard would it be to make a version of DMD that makes a "crash file" on errors that could be sent to you?
August 22, 2006
http://d.puremagic.com/issues/show_bug.cgi?id=304





------- Comment #1 from benoit@tionex.de  2006-08-22 05:50 -------
(In reply to comment #0)

Ok I have cut it down:

=== main.d ===
module main;

import inc;

void main(){
    func1( { func2(); });
}

=== inc.d ===
module inc;

alias void delegate() dg;

void func1( dg aDg = null ){
}

void func2( dg aDg = null ){
}

=== Compile with 'dmd main.d' === Internal error: e2ir.c 145


-- 

August 23, 2006
BCS wrote:
> 
>> I hope this can help to fix it, because it is really hard to cut that code
>> down.
> 
> 
> Walter: how hard would it be to make a version of DMD that makes a "crash file" on errors that could be sent to you?

What I need is a minimal source set that will reproduce it. There isn't any mechanical way I know of to do it.
August 25, 2006
d-bugmail@puremagic.com schrieb am 2006-08-22:
> http://d.puremagic.com/issues/show_bug.cgi?id=304

> ------- Comment #1 from benoit@tionex.de  2006-08-22 05:50 -------
> (In reply to comment #0)
>
> Ok I have cut it down:
>
>=== main.d ===
> module main;
>
> import inc;
>
> void main(){
>     func1( { func2(); });
> }
>
>=== inc.d ===
> module inc;
>
> alias void delegate() dg;
>
> void func1( dg aDg = null ){
> }
>
> void func2( dg aDg = null ){
> }
>
>=== Compile with 'dmd main.d' ===
> Internal error: e2ir.c 145

Added to DStress as http://dstress.kuehne.cn/compile/b/bug_e2ir_145_A.d http://dstress.kuehne.cn/run/b/bug_e2ir_145_B.d http://dstress.kuehne.cn/run/b/bug_e2ir_145_C.d

Thomas


September 03, 2006
http://d.puremagic.com/issues/show_bug.cgi?id=304


bugzilla@digitalmars.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED




------- Comment #3 from bugzilla@digitalmars.com  2006-09-02 19:46 -------
Fixed 0.166


--