Work in progress: analogous to a single level B+Tree
text/x-dsrc
9577
Comments
Comment #0 by jason.james.house — 2008-09-07T19:17:48Z
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);
}
Comment #1 by smjg — 2008-09-09T16:29:27Z
Please remember to assign keywords to bug reports. To everybody reading this: Please look through issues you've reported and check for missing keywords.
Comment #2 by clugdbug — 2009-04-18T03:53:44Z
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
{
Comment #3 by charleshixsn — 2009-05-10T14:56:04Z
Created attachment 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.)
Comment #4 by clugdbug — 2009-05-11T00:01:36Z
(In reply to comment #3)
> Created an attachment (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.