February 06, 2019 [Issue 19655] New: DMD generates wrong code for some circular dependencies | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=19655 Issue ID: 19655 Summary: DMD generates wrong code for some circular dependencies Product: D Version: D2 Hardware: x86_64 OS: Linux Status: NEW Severity: blocker Priority: P1 Component: dmd Assignee: nobody@puremagic.com Reporter: puneet@coverify.org Created attachment 1729 --> https://issues.dlang.org/attachment.cgi?id=1729&action=edit Tar gzipped test case Code attached. To reproduce the bug, untar and "make run" on a linux box. Note that wrong code is generated only when files/modules are compiled separately and then linked into an executable. That is how the included makefile compiles. More on this thread on Dlang Forum --> https://forum.dlang.org/thread/oqdzzgcyuvberlzurvrq@forum.dlang.org When the exeuctable is run, I get: core.exception.AssertError@grault.d(6): func1 was never called ---------------- ??:? [0x4148b0] ??:? [0x4190ca] ??:? [0x4063ed] ??:? [0x402aa9] ??:? [0x4023c3] ??:? [0x402367] ??:? [0x40229f] ??:? [0x40608f] ??:? [0x405f87] ??:? [0x402324] ??:? __libc_start_main [0x7f96e3d2d82f] ??:? [0x402188] makefile:12: recipe for target 'run' failed make: *** [run] Error 1 -- |
Copyright © 1999-2021 by the D Language Foundation