November 03, 2019 [Issue 9969] dmd ABI mistake (cfloat static array initialisation) | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=9969 Nicholas Wilson <iamthewilsonator@hotmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |iamthewilsonator@hotmail.co | |m Resolution|--- |WORKSFORME --- Comment #7 from Nicholas Wilson <iamthewilsonator@hotmail.com> --- extern(C) int printf(const char*, ... ); extern(C) long *_memset64(long *p, long value, size_t count); void main() { cfloat[2] arr = void; _memset64(cast(long*)arr.ptr, 1, 2); printf("%d %d\n", *(cast(long*)&arr[0]), *(cast(long*)&arr[1])); } works on current as does extern(C) int printf(const char*, ... ); extern(C) long *_memset64(cfloat *p, long value, size_t count); void main() { cfloat[2] arr = void; _memset64(arr.ptr, 1, 2); printf("%d %d\n", *(cast(long*)&arr[0]), *(cast(long*)&arr[1])); } as does void main() { cfloat[2] a; } -- |
Copyright © 1999-2021 by the D Language Foundation