Thread overview
[Issue 22484] dmd generates wrong code for certain parameter/return sizes
Nov 05, 2021
Ali Cehreli
Nov 05, 2021
Stanislav Blinov
Nov 06, 2021
Stanislav Blinov
Nov 28, 2021
Stanislav Blinov
Dec 11, 2021
Stanislav Blinov
Dec 17, 2022
Iain Buclaw
November 05, 2021
https://issues.dlang.org/show_bug.cgi?id=22484

Ali Cehreli <acehreli@yahoo.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |acehreli@yahoo.com

--- Comment #1 from Ali Cehreli <acehreli@yahoo.com> ---
For completeness, here is the error message:

src/rt/dwarfeh.d:330: uncaught exception reached top of stack
This might happen if you're missing a top level catch in your fiber or signal
handler

However, only the first of the three workarounds makes the bug disappear for me. Modifying or removing Result.a or removing 'dummy' did not remove the bug.

Only removing align(16) removed the bug.

There is no issue with -m32.

--
November 05, 2021
https://issues.dlang.org/show_bug.cgi?id=22484

--- Comment #2 from Stanislav Blinov <stanislav.blinov@gmail.com> ---
Yeah, sorry about that. I guess I should've stated more clearly that the actual manifestation of the issue is that wrong argument is being passed.

I have no doubt that concrete behavior could vary. In my own codebase making
the function extern(C) also works around the bug (can't test it trivially in
this reduced case).

--
November 06, 2021
https://issues.dlang.org/show_bug.cgi?id=22484

--- Comment #3 from Stanislav Blinov <stanislav.blinov@gmail.com> ---
run.dlang.io shows the asserts fail on "all compilers" (which it starts from
2.060), though one would need to change main to this (otherwise it just shows
empty 'Server error:'):

void main(string[] args)
{
    actual = &args[0];
    actual.bug(Param.init, 0, {}, {});
}

--
November 28, 2021
https://issues.dlang.org/show_bug.cgi?id=22484

Stanislav Blinov <stanislav.blinov@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |wrong-code

--
December 11, 2021
https://issues.dlang.org/show_bug.cgi?id=22484

Stanislav Blinov <stanislav.blinov@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           See Also|                            |https://issues.dlang.org/sh
                   |                            |ow_bug.cgi?id=22583

--
December 17, 2022
https://issues.dlang.org/show_bug.cgi?id=22484

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P1                          |P2

--