Jump to page: 1 2
Thread overview
[Issue 19662] x86_64: Different code output when compiling with inline/boundscheck on/off
Aug 29, 2020
Walter Bright
Sep 07, 2020
Walter Bright
Sep 07, 2020
Seb
Nov 10, 2020
Dlang Bot
Jul 18, 2022
Dlang Bot
Sep 05, 2022
Iain Buclaw
Sep 05, 2022
Dlang Bot
Dec 17, 2022
Iain Buclaw
February 08, 2019
https://issues.dlang.org/show_bug.cgi?id=19662

hsteoh@quickfur.ath.cx changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |wrong-code
                 CC|                            |hsteoh@quickfur.ath.cx

--
February 08, 2019
https://issues.dlang.org/show_bug.cgi?id=19662

--- Comment #1 from skocznymr@gmail.com ---
Further reduced version:

import std.stdio;
import std.math;

class ObjHolder
{
    Quaternion rotation;
    Object[int] objs;
}

struct Quaternion
{
    float x, y, z, w;

    static Quaternion fromEulerAngles()
    {
        Quaternion q;

        float sr = sin(1.0f);
        q.w = sr;
        q.x = sr;
        q.y = sr;
        return q;
    }
}

void main()
{
    ObjHolder oh = new ObjHolder;

        Object o = new Object;
    oh.objs[0] = o;
    writeln(oh.objs[0]);

        oh.rotation = Quaternion.fromEulerAngles();
}

good output should be "Object.Object"
bad output is "null"

--
August 29, 2020
https://issues.dlang.org/show_bug.cgi?id=19662

Walter Bright <bugzilla@digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |backend
                 CC|                            |bugzilla@digitalmars.com

--
September 07, 2020
https://issues.dlang.org/show_bug.cgi?id=19662

Walter Bright <bugzilla@digitalmars.com> changed:

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

--- Comment #2 from Walter Bright <bugzilla@digitalmars.com> ---
Tested HEAD on Linux64 and Windows64. Works for me.

--
September 07, 2020
https://issues.dlang.org/show_bug.cgi?id=19662

Seb <greeenify@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |greeenify@gmail.com

--- Comment #3 from Seb <greeenify@gmail.com> ---
Let's still add it to the testsuite: https://github.com/dlang/dmd/pull/11702

--
September 08, 2020
https://issues.dlang.org/show_bug.cgi?id=19662

moonlightsentinel@disroot.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
                 CC|                            |moonlightsentinel@disroot.o
                   |                            |rg
         Resolution|WORKSFORME                  |---

--- Comment #4 from moonlightsentinel@disroot.org ---
The test still fails on current master
(e6a018e22e3040ef0051ab8fe42dc15e1df92019).

Slightly modified test without Phobos and manual output verification:

=========================================================

import core.math : sin;

class ObjHolder
{
    Quaternion rotation;
    Object[int] objs;
}

struct Quaternion
{
    float x, y, z, w;

    static Quaternion fromEulerAngles()
    {
        Quaternion q;

        float sr = sin(1.0f);
        q.w = sr;
        q.x = sr;
        q.y = sr;
        return q;
    }
}

ObjHolder create()
{
    ObjHolder oh = new ObjHolder;

    Object o = new Object;
    oh.objs[0] = o;
    oh.rotation = Quaternion.fromEulerAngles();

    return oh;
}

void main()
{
    ObjHolder oh = create();
    if (!oh.objs[0]) assert(false);
}

===========================================================
> .\generated\windows\debug\64\dmd.exe -m64 -O -release -inline app.d
> .\app.exe
> echo $LASTEXITCODE
-1073741795

--
November 10, 2020
https://issues.dlang.org/show_bug.cgi?id=19662

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

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

--- Comment #5 from Dlang Bot <dlang-bot@dlang.rocks> ---
@WalterBright created dlang/dmd pull request #11944 "fix Issue 19662 - x86_64: Different code output when compiling with i…" fixing this issue:

- fix Issue 19662 - x86_64: Different code output when compiling with inline/boundscheck on/off

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

--
July 18, 2022
https://issues.dlang.org/show_bug.cgi?id=19662

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

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

--- Comment #6 from Dlang Bot <dlang-bot@dlang.rocks> ---
dlang/dmd pull request #11944 "fix Issue 19662 - x86_64: Different code output when compiling with i…" was merged into master:

- 45a3c0122a870f432d6818afb39aec2004204f7d by Walter Bright:
  fix Issue 19662 - x86_64: Different code output when compiling with
inline/boundscheck on/off

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

--
September 05, 2022
https://issues.dlang.org/show_bug.cgi?id=19662

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
                 CC|                            |ibuclaw@gdcproject.org
         Resolution|FIXED                       |---

--- Comment #7 from Iain Buclaw <ibuclaw@gdcproject.org> ---
Not fixed. Test wasn't being ran in the closing PR.

--
September 05, 2022
https://issues.dlang.org/show_bug.cgi?id=19662

--- Comment #8 from Dlang Bot <dlang-bot@dlang.rocks> ---
@ibuclaw created dlang/dmd pull request #14419 "Revert "fix Issue 19662 - x86_64: Different code output when compiling with i…"" mentioning this issue:

- Revert "fix Issue 19662 - x86_64: Different code output when compiling with inline/boundscheck on/off (#11944)"

  This reverts commit ff4007610173a2cea724b73bc6c1feb44069b435.

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

--
« First   ‹ Prev
1 2