Thread overview
Compiler crash - Assertion failure: '0' on line 622 in file 'glue.c'
Re: Compiler crash - Assertion failure: '0' on line 622 in file 'glue.c' - one more thing
Mar 26, 2005
Thomas Kühne
Apr 05, 2005
Walter
March 25, 2005
Very odd bug.

I managed to narrow it down to this:

class A
{

}

class I
{
    int fork(fn);
}

alias int function(A a) fn;

The compiler crashes and gives the error in the topic title.

Here are some other "features":

It will still give the error if A is a struct.

It will still give the error if I is an interface.

It will not give the error if fn's parameter is anything other than a class or struct, i.e. if you use "int a," it compiles.

It will not give the error if you change "alias" to "typedef."

And this takes the cake: it will not give the error if you move the function alias to before the class I definition.


March 25, 2005
"Jarrett Billingsley" <kb3ctd2@yahoo.com> wrote in message news:d21vhg$pld$1@digitaldaemon.com...
> Very odd bug.

Forgot to mention - this error only happens when the -g compiler switch is used.  I came across this when I tried to add debug info to one of my projects, and I got this very strange error.


March 26, 2005
Jarrett Billingsley wrote:
| "Jarrett Billingsley" <kb3ctd2@yahoo.com> wrote in message
| news:d21vhg$pld$1@digitaldaemon.com...
|
|>Very odd bug.
|
|
| Forgot to mention - this error only happens when the -g compiler
| switch is used.  I came across this when I tried to add debug info
| to one of my projects, and I got this very strange error.

Added to DStress as
http://dstress.kuehne.cn/run/debug_info_03.d
http://dstress.kuehne.cn/run/debug_info_04.d
http://dstress.kuehne.cn/run/debug_info_05.d
http://dstress.kuehne.cn/run/debug_info_06.d

Thomas


April 05, 2005
"Jarrett Billingsley" <kb3ctd2@yahoo.com> wrote in message news:d21vhg$pld$1@digitaldaemon.com...
> class A
> {
>
> }
>
> class I
> {
>     int fork(fn);
> }
>
> alias int function(A a) fn;
>
> The compiler crashes and gives the error in the topic title.

The problem is the forward reference to fn. I've fixed the compiler now to detect it.