]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
ia64: Fix C++14 vs. C++17 ABI issue on ia64 [PR94706]
authorJakub Jelinek <jakub@redhat.com>
Wed, 22 Apr 2020 14:47:58 +0000 (16:47 +0200)
committerJakub Jelinek <jakub@redhat.com>
Wed, 22 Apr 2020 14:47:58 +0000 (16:47 +0200)
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  <jakub@redhat.com>

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

gcc/ChangeLog
gcc/config/ia64/ia64.c

index 043ee407e8c1b82479f16cf20ba161e0ffdd228e..532a56513f32c261fbf5d5f6edb882052d5a739c 100644 (file)
@@ -1,5 +1,9 @@
 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.
+
        PR target/94383
        * calls.h (cxx17_empty_base_field_p): Declare.
        * calls.c (cxx17_empty_base_field_p): Define.
index 1500985a1f6c6c29e677bb328c6317b8289a4f8f..4b7bf6981763770a7d9f8c7fc5432a0dbefbccc5 100644 (file)
@@ -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);