Bug ID | 115 |
---|---|
Summary | Union literals as rvalues yields different values every run |
Classification | Unclassified |
Product | GDC |
Version | 4.8.x |
Hardware | x86_64 |
OS | Linux |
Status | NEW |
Severity | normal |
Priority | Normal |
Component | gdc |
Assignee | ibuclaw@gdcproject.org |
Reporter | klas.bjorkqvist@gmail.com |
When running the following program: a.d ------ import std.stdio; union _f { float f; uint i; } void func(const uint x) { writeln(x); } void main() { float a = 123.0; const l = _f(a); func(l.i); func(_f(a).i); } ---- multiple times, the value printed for "_f(a).i" is different each time, and appears mostly random when compared to the value of "l.i". > gdc a.d && ./a.out 1123418112 430703264 > ./a.out 1123418112 3680514720 > ./a.out 1123418112 2543067808