Bug 19804 – fails to compile with fixes size array T[1]... argument

Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2019-04-12T10:57:08Z
Last change time
2020-03-21T03:56:38Z
Keywords
ice, ice-on-valid-code, pull, rejects-valid
Assigned to
No Owner
Creator
Илья Ярошенко

Comments

Comment #0 by ilyayaroshenko — 2019-04-12T10:57:08Z
struct A { float el; } void foo(A[1]...) {}
Comment #1 by ilyayaroshenko — 2019-04-12T10:57:45Z
26961 Illegal instruction (core dumped) "$@" Compiler returned: 132
Comment #2 by b2.temp — 2019-04-12T13:10:26Z
Seems to work fine on 2.085.1 or current git HEAD.
Comment #3 by ilyayaroshenko — 2019-04-12T14:15:14Z
Fails at least on site: https://run.dlang.io/is/BsJEoM
Comment #4 by dlang-bot — 2019-04-16T00:04:50Z
@kubo39 created dlang/dmd pull request #9623 "Fix Issue 19804 - fails to compile with fixes size array T[1]..." fixing this issue: - Fix Issue 19804 - fails to compile with fixes size array T[1]... argument https://github.com/dlang/dmd/pull/9623
Comment #5 by slavo5150 — 2019-04-16T00:19:38Z
I tested this in Arch Linux 64-bit and Windows 10 64-bit and there is no error. This needs a little more investigation. This bug appears to be an issue with a specific distribution or perhaps a bug in one of the OS libraries DMD is liked to. Please describe in more detail on which platform is this symptom appearing.
Comment #6 by kubo39 — 2019-04-16T01:09:45Z
(In reply to Mike Franklin from comment #5) > I tested this in Arch Linux 64-bit and Windows 10 64-bit and there is no > error. This needs a little more investigation. > > This bug appears to be an issue with a specific distribution or perhaps a > bug in one of the OS libraries DMD is liked to. Please describe in more > detail on which platform is this symptom appearing. Have you tried with -g option? I can reproduce with it.
Comment #7 by slavo5150 — 2019-04-16T01:17:54Z
> Have you tried with -g option? I can reproduce with it. Ok, with `-g` it fails on Arch Linux 64-bit, but not on Windows 10 64-bit.
Comment #8 by kubo39 — 2019-04-16T01:37:53Z
Ah, yes, this regression only occurs non-windows platform.
Comment #9 by slavo5150 — 2019-04-16T03:33:54Z
I ran a digger bisection to try to identify the PR that caused this regression. It reported https://github.com/dlang/dmd/pull/9364 That isn't very precise, but by educated guess, it appears to be https://github.com/dlang/dmd/pull/9357
Comment #10 by dlang-bot — 2019-04-16T08:24:48Z
dlang/dmd pull request #9623 "Fix Issue 19804 - fails to compile with fixes size array T[1]..." was merged into stable: - 4e305093e0601d72f5078bd3728dd6f457ee5481 by Hiroki Noda: Fix Issue 19804 - fails to compile with fixes size array T[1]... argument https://github.com/dlang/dmd/pull/9623
Comment #11 by dlang-bugzilla — 2019-04-19T13:50:30Z
(In reply to Mike Franklin from comment #9) > I ran a digger bisection to try to identify the PR that caused this > regression. It reported https://github.com/dlang/dmd/pull/9364 If you get a merge as a result of doing a bisection of the master branch, performing the bisection against the stable branch will usually find the actual PR (or vice-versa).