https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102838
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|unassigned at gcc dot gnu.org |jakub at gcc dot gnu.org Last reconfirmed| |2021-10-19 Ever confirmed|0 |1 Status|UNCONFIRMED |ASSIGNED --- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Created attachment 51633 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51633&action=edit gcc12-pr102838.patch Very lightly tested patch. This does two things, for orphaned construct when GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined uses gomp_aligned_alloc rather than gomp_malloc even for the single workshare allocation, because when we have the aligned attribute in there, the compiler is right to assume that alignment. And if the macro isn't defined (i.e. OS doesn't have working posix_memalign, memalign, aligned_alloc etc.) instead of having aligned attribute in the structure it just makes sure that the second half starts on a 64-byte boundary.