https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103044
Bug ID: 103044 Summary: d: Use __builtin_clear_padding for zeroing objects before set. Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: d Assignee: ibuclaw at gdcproject dot org Reporter: ibuclaw at gdcproject dot org Target Milestone: --- D language spec says that all alignment holes must be zero all of the time, and currently a mixed use of __builtin_memset/__builtin_memcpy is used to achieve this, with mixed results depending on back-end and optimization level. Since gcc 11, a new __builtin_clear_padding intrinsic has been added. We should be using that instead.