From: Jakub Jelinek Date: Wed, 22 Apr 2020 14:47:58 +0000 (+0200) Subject: ia64: Fix C++14 vs. C++17 ABI issue on ia64 [PR94706] X-Git-Tag: upstream/12.2.0~17150 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1be62528078aef241fef6d2fe1cbc8e8e5379115;p=platform%2Fupstream%2Fgcc.git ia64: Fix C++14 vs. C++17 ABI issue on ia64 [PR94706] ia64 seems to be affected too, but the backend doesn't have any -Wpsabi warnings and I'm not sure if we really need them for an (almost?) dead target. 2020-04-22 Jakub Jelinek PR target/94706 * config/ia64/ia64.c (hfa_element_mode): Ignore cxx17_empty_base_field_p fields. --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 043ee40..532a565 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2020-04-22 Jakub Jelinek + PR target/94706 + * config/ia64/ia64.c (hfa_element_mode): Ignore + cxx17_empty_base_field_p fields. + PR target/94383 * calls.h (cxx17_empty_base_field_p): Declare. * calls.c (cxx17_empty_base_field_p): Define. diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c index 1500985..4b7bf69 100644 --- a/gcc/config/ia64/ia64.c +++ b/gcc/config/ia64/ia64.c @@ -4665,7 +4665,7 @@ hfa_element_mode (const_tree type, bool nested) case QUAL_UNION_TYPE: for (t = TYPE_FIELDS (type); t; t = DECL_CHAIN (t)) { - if (TREE_CODE (t) != FIELD_DECL) + if (TREE_CODE (t) != FIELD_DECL || cxx17_empty_base_field_p (t)) continue; mode = hfa_element_mode (TREE_TYPE (t), 1);