Thread overview
[Issue 2346] New: ICE when comparing typedef'd class
Sep 08, 2008
d-bugmail
Sep 09, 2008
d-bugmail
Apr 18, 2009
d-bugmail
May 10, 2009
Charles Hixson
May 11, 2009
Don
May 14, 2009
Don
September 08, 2008
http://d.puremagic.com/issues/show_bug.cgi?id=2346

           Summary: ICE when comparing typedef'd class
           Product: D
           Version: unspecified
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: major
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla@digitalmars.com
        ReportedBy: jason.james.house@gmail.com


The code below will cause a segmentation fault when compiled.

class foo{this(){}}
typedef foo bar;

void main(){
        foo a;
        bar b;
        auto x = (a==b);
}


-- 

September 09, 2008
http://d.puremagic.com/issues/show_bug.cgi?id=2346


smjg@iname.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |smjg@iname.com
           Keywords|                            |ice-on-valid-code




------- Comment #1 from smjg@iname.com  2008-09-09 16:29 -------
Please remember to assign keywords to bug reports.  To everybody reading this: Please look through issues you've reported and check for missing keywords.


-- 

April 18, 2009
http://d.puremagic.com/issues/show_bug.cgi?id=2346





------- Comment #2 from clugdbug@yahoo.com.au  2009-04-18 03:53 -------
The code should be accepted, but at least it's easy enough to convert the segfault into an error with line number:

e2ir.c line 3612.

        cdfrom = e1->type->isClassHandle();
+       if (!cdfrom){ error("ICE: Bugzilla 2346");      return e;}
        cdto   = t->isClassHandle();
        if (cdfrom->isInterfaceDeclaration()) //<------ it is segfaulting here
        {


-- 

May 10, 2009
http://d.puremagic.com/issues/show_bug.cgi?id=2346





--- Comment #3 from Charles Hixson <charleshixsn@earthlink.net>  2009-05-10 14:56:04 PDT ---
Created an attachment (id=355)
 --> (http://d.puremagic.com/issues/attachment.cgi?id=355)
Work in progress: analogous to a single level B+Tree

Internal error: e2ir.c 4339

This is code that was compiling using
Digital Mars D Compiler v2.029
dmd -c -Dddocs chunkf.d
until I did a little bit of refactoring.

It's not clear to me how to reduce this and still retain the error, but if I
comment out lines 115-116,
        //foreach    (Wrd w;    freqWrd)
        //{    temp2 [w.name]    =    w.id;    }
then the error message goes away.  (Of course, it's useless for *my* purposes,
but I hope it narrows down what the error could be.)

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
May 11, 2009
http://d.puremagic.com/issues/show_bug.cgi?id=2346


Don <clugdbug@yahoo.com.au> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |clugdbug@yahoo.com.au




--- Comment #4 from Don <clugdbug@yahoo.com.au>  2009-05-11 00:01:36 PDT ---
(In reply to comment #3)
> Created an attachment (id=355)
 --> (http://d.puremagic.com/issues/attachment.cgi?id=355) [details]
> Work in progress: analogous to a single level B+Tree
> 
> Internal error: e2ir.c 4339
> 
> This is code that was compiling using
> Digital Mars D Compiler v2.029
> dmd -c -Dddocs chunkf.d
> until I did a little bit of refactoring.
> 
> It's not clear to me how to reduce this and still retain the error, but if I
> comment out lines 115-116,
>         //foreach    (Wrd w;    freqWrd)
>         //{    temp2 [w.name]    =    w.id;    }
> then the error message goes away.  (Of course, it's useless for *my* purposes,
> but I hope it narrows down what the error could be.)

Don't put any more work into it, Walter has fixed this bug in the next release.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
May 14, 2009
http://d.puremagic.com/issues/show_bug.cgi?id=2346


Don <clugdbug@yahoo.com.au> changed:

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




--- Comment #5 from Don <clugdbug@yahoo.com.au>  2009-05-14 07:29:48 PDT ---
Fixed DMD2.030 and 1.045

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------