Normal compilation works, -O works, only -inline fails with
"Internal error: ..\ztc\cod1.c 1662"
The following code is a minimal but complete testcase:
module bignum;
struct bignum
{
bool smaller(bignum a, bignum b)
{
if (true) return true;
else return false; // comment this out => no ICE for "dmd bignumtest.d -inline"
assert(0); // comment this out => no ICE for "dmd bignumtest.d -inline"
}
bool equal(bignum a, bignum b)
{
if (!smaller(a,b)) // comment this out => no ICE for "dmd bignumtest.d -inline"
return true;
return false;
}
}
void main()
{}
Comment #1 by matti.niemenmaa+dbugzilla — 2007-06-17T03:12:34Z
Here's a slightly more minimal testcase:
struct bignum
{
bool smaller()
{
if (true) return false;
else return false;
assert(0);
}
void equal()
{
if (!smaller)
return;
}
}
Comment #2 by onlystupidspamhere — 2007-06-26T14:29:09Z