digitalmars.D.bugs - [Issue 20726] New: safe function can modify __gshared data if
- d-bugmail puremagic.com (31/31) Apr 08 2020 https://issues.dlang.org/show_bug.cgi?id=20726
https://issues.dlang.org/show_bug.cgi?id=20726 Issue ID: 20726 Summary: safe function can modify __gshared data if passed as ref parameter default value Product: D Version: D2 Hardware: x86_64 OS: Linux Status: NEW Severity: enhancement Priority: P1 Component: dmd Assignee: nobody puremagic.com Reporter: zorael gmail.com Manjaro/Arch x86_64, dmd v2.091.0 but also all dmd compilers v2.060 up to current on run.dlang.io. This passes and __gshared `gshared` is modified by `foo`. ``` __gshared int gshared = 42; void foo(ref int i = gshared) safe { ++i; } void main() { assert(gshared == 42); foo(); assert(gshared == 43); } ``` --
Apr 08 2020