www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 13357] New: [ICE] Segfault on comparison of rvalue __vector

https://issues.dlang.org/show_bug.cgi?id=13357

          Issue ID: 13357
           Summary: [ICE] Segfault on comparison of rvalue __vector and
                    array
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P1
         Component: DMD
          Assignee: nobody puremagic.com
          Reporter: alexey.prokhin yandex.ru

alias __vector(float[4]) float4;

void main() {    
    float4 a = 1, b = 2;

    // 2.065: segfault
    // 2.066: Error: cannot compare float[4] and int[]
    assert((a + b).array == [3, 3, 3, 3]); 

    // segfault on both 2.065 and 2.066
    assert((a + b).array == [3.0f, 3.0f, 3.0f, 3.0f]);
}

The code works with ldc, however I had to revert changes to
TypeVector::dotExp() from
https://github.com/D-Programming-Language/dmd/pull/3467

--
Aug 22 2014