[Issue 15751] New: atomicLoad doesn't return stable result if compiled with -profile
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Thu Mar 3 13:59:32 PST 2016
https://issues.dlang.org/show_bug.cgi?id=15751
Issue ID: 15751
Summary: atomicLoad doesn't return stable result if compiled
with -profile
Product: D
Version: D2
Hardware: x86
OS: Windows
Status: NEW
Severity: major
Priority: P1
Component: dmd
Assignee: nobody at puremagic.com
Reporter: andrey.zherikov at gmail.com
atomicLoad() doesn't constantly return 0 in the following code if it's compiled
with -profile option:
=================================
import core.atomic;
int main()
{
shared int s = 0;
return atomicLoad(s);
}
=================================
Compiler: DMD32 D Compiler v2.070.2
Compile command: dmd test.d -oftest_p -profile
Test command:
pass=0; fail=0;
for i in $(seq 1 100);
do
./test_p.exe && pass=$((pass+1)) || fail=$((fail+1));
done;
echo pass=$pass fail=$fail
Test command output (example):
pass=89 fail=11
Even adding "atomicStore(s, 0);" right before atomicLoad doesn't guarantee the
result:
pass=95 fail=5
--
More information about the Digitalmars-d-bugs
mailing list