Thread overview
[Issue 21578] core.atomic.atomicFetchSub for pointers incorrectly calls wrong function from core.internal.atomic
Jan 24, 2021
ZombineDev
Jan 25, 2021
Dlang Bot
Jan 27, 2021
Dlang Bot
Feb 13, 2021
Dlang Bot
January 24, 2021
https://issues.dlang.org/show_bug.cgi?id=21578

--- Comment #1 from ZombineDev <petar.p.kirov@gmail.com> ---
Test case:

import core.atomic;
shared(ulong)[] array = [2, 4, 6, 8, 10, 12, 14, 16, 19, 20];
{
    shared ulong* ptr = &array[0];
    shared(ulong)* prevPtr = atomicFetchAdd(ptr, 3);
    assert(prevPtr == &array[0]); // OK
    assert(*prevPtr == 2); // OK
    assert(*ptr == 8); // OK
}
{
    shared ulong* ptr = &array[5];
    shared(ulong)* prevPtr = atomicFetchSub(ptr, 4);
    assert(prevPtr == &array[5]); // OK
    assert(*prevPtr == 12); // OK
    assert(*ptr == 4); //fails
}

--
January 25, 2021
https://issues.dlang.org/show_bug.cgi?id=21578

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

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

--- Comment #2 from Dlang Bot <dlang-bot@dlang.rocks> ---
@rymrg created dlang/druntime pull request #3343 "Fix issue 21578 - core.atomic.atomicFetchSub for pointers incorrectly…" fixing this issue:

- Fix issue 21578 - core.atomic.atomicFetchSub for pointers incorrectly calls wrong function from core.internal.atomic

https://github.com/dlang/druntime/pull/3343

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

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

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

--- Comment #3 from Dlang Bot <dlang-bot@dlang.rocks> ---
dlang/druntime pull request #3343 "Fix issue 21578 - core.atomic.atomicFetchSub for pointers incorrectly…" was merged into stable:

- fbf5f525756e51879578c2663643449a5c9c4040 by rymrg:
  Fix issue 21578 - core.atomic.atomicFetchSub for pointers incorrectly calls
wrong function from core.internal.atomic

https://github.com/dlang/druntime/pull/3343

--
February 13, 2021
https://issues.dlang.org/show_bug.cgi?id=21578

--- Comment #4 from Dlang Bot <dlang-bot@dlang.rocks> ---
dlang/druntime pull request #3374 "merge stable" was merged into master:

- 2d1f8efbe72c2a9712e055e617285a0f5661f9f3 by rymrg:
  Fix issue 21578 - core.atomic.atomicFetchSub for pointers incorrectly calls
wrong function from core.internal.atomic

https://github.com/dlang/druntime/pull/3374

--