[Issue 2158] New: Static associative array initialisation causes segmentation fault

d-bugmail at puremagic.com d-bugmail at puremagic.com
Fri Jun 20 23:22:11 PDT 2008


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

           Summary: Static associative array initialisation causes
                    segmentation fault
           Product: D
           Version: 2.012
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Keywords: rejects-valid
          Severity: critical
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla at digitalmars.com
        ReportedBy: david at ferenczi.net


The following code comiples, but results a segmentation fault. The problem is
caused by the initialisation of the associative arrays with array literals.
(Initialising the arrays with "null" eliminates the segmentation fault.)

-----------------------------8<-----------------------------------------
import std.stdint: uint_fast64_t;

typedef uint_fast64_t FOO;

class A
{
    static invariant FOO fooValue1;
    static invariant FOO fooValue2;

    static invariant FOO[string] fooArray;
    static invariant string[FOO] strArray;

    static this()
    {
        fooValue1 = cast(FOO) 0x8000000000000000LU;
        fooValue2 = cast(FOO) 0x4000000000000000LU;
        fooArray = ["s1":fooValue1, "s2":fooValue2];
        strArray = [fooValue1:"s1", fooValue2:"s2"];
    }
};

int main(string[] args)
{
    auto a = new A;

    return 0;
}
-----------------------------8<-----------------------------------------


-- 



More information about the Digitalmars-d-bugs mailing list