On Fri, Nov 9, 2018 at 7:37 PM Iain Sandoe <i...@sandoe.co.uk> wrote:
> Bootstrap succeeds and the new test passes for Darwin. > > This does not alter that Darwin has breakage in this area > (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78444) > see : https://gcc.gnu.org/ml/gcc-patches/2018-08/msg00884.html and HJ’s reply. You can't use crtl->is_leaf in ix86_update_stack_boundary, since that function gets called from cfgexpand, while crtl->is_leaf is set only in IRA pass. I *think* the fix should be along the lines of TARGET_64BIT_MS_ABI fixup in ix86_compute_frame_layout (BTW: the existing fixup is strange by itself, since TARGET_64BIT_MS_ABI declares STACK_BOUNDARY to 128, and I can't see how leaf functions with crtl->preferred_stack_boundary < 128 survive "gcc_assert (preferred_alignment >= STACK_BOUNDARY / BITS_PER_UNIT);" a couple of lines below). So, I think that fixup you proposed in the patch is in the right direction. What happens if you add TARGET_MACHO to the existing fixup? Uros.