[Issue 22735] New: __builtins.di does not implement __builtin_bswap64 correctly
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Fri Feb 4 01:23:48 UTC 2022
https://issues.dlang.org/show_bug.cgi?id=22735
Issue ID: 22735
Summary: __builtins.di does not implement __builtin_bswap64
correctly
Product: D
Version: D2
Hardware: All
OS: All
Status: NEW
Severity: normal
Priority: P1
Component: druntime
Assignee: nobody at puremagic.com
Reporter: bugzilla at digitalmars.com
Reported by https://github.com/ssvb on
https://github.com/dlang/druntime/pull/3720#issuecomment-1029329002
foobarmod.c
long long foobar()
{
return __builtin_bswap64(123);
}
testc.c
#include <stdio.h>
long long foobar();
int main()
{
printf("%llx\n", foobar());
return 0;
}
testd.d
import std.stdio, foobarmod;
void main()
{
writefln("%x", foobar());
}
Compile and run (on a 64-bit linux system):
$ ./dmd testd.d foobarmod.c && ./testd
7b000000
$ gcc testc.c foobarmod.c && ./a.out
7b00000000000000
The results differ and this isn't good.
--
More information about the Digitalmars-d-bugs
mailing list