[Bug target/94383] [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on aarch64

matmal01 at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Apr 16 14:08:42 GMT 2020


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

--- Comment #9 from Matthew Malcomson <matmal01 at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #8)
> I'd like to ping this, it would be nice to at least decide if this should be
> handled for GCC10 or postponed to GCC11 only.

Hi Jakub -- I'm taking a look at this at the moment, so I'm hoping I can get it
done for GCC10.

So far I've only double checked what the AAPCS64 says and confirmed that we're
producing the correct code for gnu++14 and not gnu++17 (the base class is empty
and a language type that occupies zero bytes has no mapping on the ABI level,
hence that `pair` structure is an HFA and should be passed in the vector
registers).

I'm just about to start looking at changes & testing.


More information about the Gcc-bugs mailing list