[Issue 15542] New: pure function with no argument returning different values (with void-initialized static array)
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Sun Jan 10 00:39:13 PST 2016
https://issues.dlang.org/show_bug.cgi?id=15542
Issue ID: 15542
Summary: pure function with no argument returning different
values (with void-initialized static array)
Product: D
Version: D2
Hardware: x86
OS: Mac OS X
Status: NEW
Severity: critical
Priority: P1
Component: dmd
Assignee: nobody at puremagic.com
Reporter: timothee.cour2 at gmail.com
void main(){
auto a1=test4;
int[6]temp;
auto a2=test4;
assert(a1==a2);// passes but...
writeln(test4);
writeln(test4);
}
pure
int test4(){
int[4]a=void;
return a[0]+a[1]+a[2]+a[3];
}
// prints different valuse:
-1907472476
-1907439709
DMD64 D Compiler v2.069-devel-6b2b521
which brings the question:
should "pure" disallow void-initialized stack allocated data?
--
More information about the Digitalmars-d-bugs
mailing list