[nem-bug] [Nemerle 0001053]: ICE with yield and variants

feedback at nemerle.org feedback at nemerle.org
Tue Oct 23 12:54:24 CEST 2007


The following issue has been REOPENED.
======================================================================
<http://nemerle.org/bugs/view.php?id=1053> 
======================================================================
Reported By:                rgrig
Assigned To:                divan
======================================================================
Project:                    Nemerle
Issue ID:                   1053
Category:                   Compiler (type engine)
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     feedback
======================================================================
Date Submitted:             10-17-2007 13:03 CEST
Last Modified:              10-23-2007 12:54 CEST
======================================================================
Summary:                    ICE with yield and variants
Description: 
ICE on the attached file.

Seems related to 991.

I tried with a slightly older SVN version (because the current one does
not compile for me).
======================================================================

----------------------------------------------------------------------
 divan - 10-17-07 18:16 
----------------------------------------------------------------------
Seems that it works with latest SVN version.
What code doesn't it compile for you? ;)
Btw, can you specify which revision gets ICE on this code?

----------------------------------------------------------------------
 rgrig - 10-17-07 19:36 
----------------------------------------------------------------------
ICE happens with -r {2007-8-1}.

If by "What code doesn't it compile for you?" you mean were does the error
point, then it's the 'e' parameter on the line with 'yield'. If you mean
what's my problem with the current SVN, then it's

generation/ILEmitter.n:2228:42:2228:67: error: comparing values of types
System.Reflection.Emit.OpCode and System.Reflection.Emit.OpCode with
reference equality

----------------------------------------------------------------------
 divan - 10-17-07 20:04 
----------------------------------------------------------------------
Yes, i meant current SVN. It's a bug somewhere, strange thing is that it's
only under mono.
Following compiles only under win for some reason

def x = System.Reflection.Emit.OpCodes.Throw;
x == x;

I'll have a look at it.

----------------------------------------------------------------------
 divan - 10-17-07 20:30 
----------------------------------------------------------------------
There is no op_Equality for OpCode in mono 1.2.3.1, but there is one in
mono 1.2.4. So just upgrade ;)
If it's not suitable then you can locally patch current SVN: just replace
a==b with a.Equals(b) in ILEmitter.n:2228 and other places if there are
any others with same error.

----------------------------------------------------------------------
 rgrig - 10-23-07 12:54 
----------------------------------------------------------------------
I did upgrade mono to 1.2.4, recompiled nemerle from current SVN and here
is what I get when compiling A.n:

A.n:16:21:16:22: debug: Internal compiler error, please report a bug to
bugs.nemerle.org. You can try modifying program near this location.
error: internal compiler error: assertion ``False'' failed in file
generation/Typer3.n, line 463:
no closure for _N_yielding_function from _N_l1726

BTW, you could update ./configure to require mono 1.2.4.

Issue History
Date Modified  Username       Field                    Change              
======================================================================
10-17-07 13:03 rgrig          New Issue                                    
10-17-07 13:03 rgrig          File Added: A.n                              
10-17-07 13:05 rgrig          Issue Monitored: rgrig                       
10-17-07 18:16 divan          Note Added: 0001965                          
10-17-07 19:27 divan          Reproducibility          always => unable to
duplicate
10-17-07 19:27 divan          Description Updated                          
10-17-07 19:36 rgrig          Note Added: 0001966                          
10-17-07 20:04 divan          Note Added: 0001967                          
10-17-07 20:04 divan          Assigned To               => divan           
10-17-07 20:04 divan          Severity                 minor => major      
10-17-07 20:04 divan          Reproducibility          unable to duplicate =>
always
10-17-07 20:04 divan          Status                   new => assigned     
10-17-07 20:04 divan          Description Updated                          
10-17-07 20:30 divan          Note Added: 0001968                          
10-17-07 20:33 divan          Status                   assigned => closed  
10-17-07 20:33 divan          Resolution               open => not an issue
10-17-07 20:33 divan          Description Updated                          
10-23-07 12:54 rgrig          Status                   closed => feedback  
10-23-07 12:54 rgrig          Resolution               not an issue => reopened
10-23-07 12:54 rgrig          Note Added: 0001975                          
======================================================================




More information about the bugs mailing list