You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The following code produces weird results:
----
import std.stdio;
void main() {
auto a = new long[4];
foreach (i; 0 .. 4) {
a[i] = 1 << i;
}
writeln(a);
auto b = new long[4];
foreach (i; 0 .. 4) {
b[i] = (((1 >> i) & 1) ? -1 : +1) * a[i];
}
writeln(b);
}
----
(https://ideone.com/2NzVaA)
Its outputs are:
[1, 2, 4, 8][4294967295, 2, 4, 8]
while b[0] is supposed to be -1.
This happens only with -m64 and -O options.
The text was updated successfully, but these errors were encountered:
Yui Hosaka reported this on 2019-08-13T18:44:58Z
Transferred from https://issues.dlang.org/show_bug.cgi?id=20128
Description
The text was updated successfully, but these errors were encountered: