[PATCH] ia64: Fix C++14 vs. C++17 ABI issue on ia64 [PR94706]

Jakub Jelinek jakub@redhat.com
Wed Apr 22 13:36:54 GMT 2020


Hi!

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.

Untested by me, but Andreas confirmed it fixed all struct-layout-1.exp
regressions.  Ok for trunk?

2020-04-22  Jakub Jelinek  <jakub@redhat.com>

	PR target/94706
	* config/ia64/ia64.c (hfa_element_mode): Ignore
	cxx17_empty_base_field_p fields.

--- gcc/config/ia64/ia64.c.jj	2020-01-12 11:54:36.338414540 +0100
+++ gcc/config/ia64/ia64.c	2020-04-22 12:49:59.627563114 +0200
@@ -4665,7 +4665,7 @@ hfa_element_mode (const_tree type, bool
     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);

	Jakub



More information about the Gcc-patches mailing list