https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54412

--- Comment #54 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
> Isn't it?
> 
> ```
> #include <stdio.h>
> 
> int
> main(void)
>   {
>     _Alignas(32) char data1[32] = "meow";
>     printf("data1 = %p\n", data1);
> 
>     char data2[] = "a";
>     printf("data2 = %p\n", data2);
> 
>     _Alignas(32) char data3[32] = "bark";
>     printf("data3 = %p\n", data3);
> 
>     _Alignas(64) char data4[64] = "superlarge";
>     printf("data4 = %p\n", data4);
>   }

Yes, my wording was imprecise, I should have said spill slots, i.e. anything
going through assign_stack_local directly, e.g. assign_stack_temp_for_type.

User-declared stack variables are indeed properly realigned, and now
argument/return stack slots are after the patch, which is of course a net
progress.

Reply via email to