[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