digitalmars.D.bugs - [Issue 23499] New: inliner crashes/asserts when building for 32-bit
- d-bugmail puremagic.com (47/47) Nov 20 2022 https://issues.dlang.org/show_bug.cgi?id=23499
https://issues.dlang.org/show_bug.cgi?id=23499 Issue ID: 23499 Summary: inliner crashes/asserts when building for 32-bit Product: D Version: D2 Hardware: x86 OS: Windows Status: NEW Severity: regression Priority: P1 Component: dmd Assignee: nobody puremagic.com Reporter: r.sagitario gmx.de Building visuald with dmd 2.101 causes the compiler to crash. Using a dmd build with assertions enabled shows core.exception.AssertError ..\dmd\backend\inliner.d(404): Assertion failure Reducing both visuald and phobos results in this test case: ///---- file.d struct TempCStringBuffer(To ) { ~this() { } To* _ptr; } auto tempCString(To, From)(From) { return TempCStringBuffer!To(); } bool exists(R)(R name) { return name.tempCString!wchar._ptr != null; } ///---- automation.d import file; ///--- build.d import file; bool do_build() { string outdir ; return (exists(outdir)); } /// executing "dmd -m32mscoff -O -inline -c automation.d build.d" yields the assertion. The same for -m32omf. It doesn't crash if you omit automation.d or add file.d to the command line. --
Nov 20 2022