www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 7930] New: Static initialization of static-sized array in union fails

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

           Summary: Static initialization of static-sized array in union
                    fails
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nobody puremagic.com
        ReportedBy: marcianx gmail.com



I tried this on DMD64 v2.059 on linux (openSUSE).

Static initialization of a static-sized array within a union seems to 
assign only the first entry of the array. If the array is taken out of 
the union and the union is removed, then the initialization works fine.

struct Klass
{
    union {
        double[3] vals = void;
        struct { double x, y, z; }
    }
}

void main()
{
    Klass v = {[1,2,3]};

    import std.stdio;
    writeln(v.vals); // outputs [1, nan, nan]; expected [1, 2, 3]
}

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