[gcc r12-10492] middle-end/112732 - stray TYPE_ALIAS_SET in type variant

Richard Biener rguenth@gcc.gnu.org
Tue Jun 4 08:08:02 GMT 2024


https://gcc.gnu.org/g:b46486ef0316240eb3c173bda062b52333507e03

commit r12-10492-gb46486ef0316240eb3c173bda062b52333507e03
Author: Richard Biener <rguenther@suse.de>
Date:   Tue Nov 28 12:36:21 2023 +0100

    middle-end/112732 - stray TYPE_ALIAS_SET in type variant
    
    The following fixes a stray TYPE_ALIAS_SET in a type variant built
    by build_opaque_vector_type which is diagnosed by type checking
    enabled with -flto.
    
            PR middle-end/112732
            * tree.cc (build_opaque_vector_type): Reset TYPE_ALIAS_SET
            of the newly built type.
    
    (cherry picked from commit f26d68d5d128c86faaceeb81b1e8f22254ad53df)

Diff:
---
 gcc/tree.cc | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gcc/tree.cc b/gcc/tree.cc
index ead4c1421cd..6b28eb9f10d 100644
--- a/gcc/tree.cc
+++ b/gcc/tree.cc
@@ -10124,6 +10124,8 @@ build_opaque_vector_type (tree innertype, poly_int64 nunits)
   TYPE_NEXT_VARIANT (cand) = TYPE_NEXT_VARIANT (t);
   TYPE_NEXT_VARIANT (t) = cand;
   TYPE_MAIN_VARIANT (cand) = TYPE_MAIN_VARIANT (t);
+  /* Type variants have no alias set defined.  */
+  TYPE_ALIAS_SET (cand) = -1;
   return cand;
 }


More information about the Gcc-cvs mailing list