https://issues.dlang.org/show_bug.cgi?id=19580

          Issue ID: 19580
           Summary: [non-DMD] std.random seed bootstrap: don't count on
                    reading an uninitialized variable being treated as an
                    ordinary read
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P1
         Component: phobos
          Assignee: [email protected]
          Reporter: [email protected]

Calculations that transform an uninitialized variable may be omitted by LDC
when optimizations are enabled. This is allowed by the standard so even though
this does not affect DMD it should be avoided.

See:
https://github.com/ldc-developers/ldc/pull/2946#issuecomment-453828010

And:
https://dlang.org/spec/declaration.html#void_init
>If a void initialized variable's value is used before it is set, the behavior 
>is undefined.

--

Reply via email to