The reproduction is below. Not sure if this is intended or a bug, sorry to clutter up the mailing list if it's intended!
union __attribute__((may_alias)) works {};
// <source>:3:18: note: attribute for 'union broken2' must follow the
'union' keyword
union broken1 {} [[may_alias]];
// Okay, so let's move it so it follows union...
// <source>:7:21: warning: 'may_alias' attribute directive ignored
[-Wattributes]
// 7 | union [[may_alias]] broken2 {};
// | ^~~~~~~
union [[may_alias]] broken2 {};
