From f5ae4daa5f80d5230a93b600a0f40fe8c32b77d5 Mon Sep 17 00:00:00 2001 From: Michael Matz Date: Mon, 17 Oct 2016 20:27:23 +0200 Subject: struct-layout: Allow lowering of member alignment when an alignment is explicitely given on the member itself, or on its types attributes then respect it always. Was only allowed to increase before, but GCC is allowing it. --- tccgen.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'tccgen.c') diff --git a/tccgen.c b/tccgen.c index 75959ad..a411e8f 100644 --- a/tccgen.c +++ b/tccgen.c @@ -3610,8 +3610,7 @@ static void struct_decl(CType *type, AttributeDef *ad, int u) alignoverride = 0; if (ad1.a.aligned) { int speca = 1 << (ad1.a.aligned - 1); - if (align < speca) - alignoverride = speca; + alignoverride = speca; } else if (ad1.a.packed || ad->a.packed) { alignoverride = 1; } else if (*tcc_state->pack_stack_ptr) { -- cgit v1.3.1