Thread overview
[Issue 19607] [ICE] dmd/e2ir.d(117): Invalid type mTYconst|TYstruct
Jan 23, 2019
Iain Buclaw
Jan 27, 2019
Iain Buclaw
Jan 28, 2019
Iain Buclaw
Jan 28, 2019
Iain Buclaw
Mar 10, 2019
Dlang Bot
Mar 12, 2019
Dlang Bot
January 23, 2019
https://issues.dlang.org/show_bug.cgi?id=19607

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ibuclaw@gdcproject.org
            Summary|ICE dmd/e2ir.d(117):        |[ICE] dmd/e2ir.d(117):
                   |mTYconst|TYstruct Invalid   |Invalid type
                   |type mTYconst|TYstruct      |mTYconst|TYstruct

--
January 27, 2019
https://issues.dlang.org/show_bug.cgi?id=19607

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-on-valid-code

--- Comment #1 from Iain Buclaw <ibuclaw@gdcproject.org> ---
TypeVector::dotExp is the culprit, the front-end is type punning a VectorExp as a normal array.

Correct codegen would just make a copy of the underlying array literal.

--
January 28, 2019
https://issues.dlang.org/show_bug.cgi?id=19607

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |DUPLICATE

--- Comment #2 from Iain Buclaw <ibuclaw@gdcproject.org> ---
It is at this point I realise this is a duplicate.

*** This issue has been marked as a duplicate of issue 19223 ***

--
January 28, 2019
https://issues.dlang.org/show_bug.cgi?id=19607

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|DUPLICATE                   |---

--- Comment #3 from Iain Buclaw <ibuclaw@gdcproject.org> ---
Actually, I'll make this variant, which also ICE's.

int f (const int[4] x)
{
    int sum = 0;
    foreach (i; x) sum += i;
    return sum;
}

void main ()
{
    import core.simd : int4;
    f(int4(2).array);
}

--
March 10, 2019
https://issues.dlang.org/show_bug.cgi?id=19607

Dlang Bot <dlang-bot@dlang.rocks> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |pull

--- Comment #4 from Dlang Bot <dlang-bot@dlang.rocks> ---
@ibuclaw created dlang/dmd pull request #9438 "[dmd-cxx] Backport vector array fixes from master" fixing this issue:

- fix Issue 19607 - [ICE] dmd/e2ir.d(117): Invalid type mTYconst|TYstruct

https://github.com/dlang/dmd/pull/9438

--
March 12, 2019
https://issues.dlang.org/show_bug.cgi?id=19607

Dlang Bot <dlang-bot@dlang.rocks> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #5 from Dlang Bot <dlang-bot@dlang.rocks> ---
dlang/dmd pull request #9438 "[dmd-cxx] Backport vector array fixes from master" was merged into dmd-cxx:

- 4b95edb5fa40b3dadee1b9a58a0a6ff97f2e3463 by Iain Buclaw:
  fix Issue 19607 - [ICE] dmd/e2ir.d(117): Invalid type mTYconst|TYstruct

https://github.com/dlang/dmd/pull/9438

--