[Issue 6665] Regression(2.055) ICE(cg87.c): static double inside closure

d-bugmail at puremagic.com d-bugmail at puremagic.com
Wed Oct 19 07:38:09 PDT 2011


http://d.puremagic.com/issues/show_bug.cgi?id=6665


Maksim Zholudev <maximzms at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |maximzms at gmail.com


--- Comment #7 from Maksim Zholudev <maximzms at gmail.com> 2011-10-19 07:37:08 PDT ---
More investigation.

----- test.d -----
struct Foo
{
    double[2][2] dat;

    double foo(size_t i, size_t j)
    {
        return dat[i][j] = 0;
    }
}

void main()
{
    Foo a;
}
------------------

Tested on Linux 64bit with dmd 2.055:
dmd -m32 test.d          -> OK
dmd -m64 test.d          -> Internal error: ../ztc/cg87.c 202
dmd -m32 -release test.d -> OK
dmd -m64 -release test.d -> OK

There is no error in any of the following cases:
  * "dat" is one-dimensional
  * one of the indexes in Foo.foo is constant (e.g. dat[i][0] = 0)
  * "int" or "real" used instead of "double" ("float" still produces the error)

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


More information about the Digitalmars-d-bugs mailing list