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

--- Comment #25 from Andrew Macleod <amacleod at redhat dot com> ---
(In reply to Peter Bergner from comment #24)
> (In reply to Richard Biener from comment #22)
> >        tree oi_uns_type = make_unsigned_type (256);
> > -      vector_pair_type_node = build_distinct_type_copy (oi_uns_type);
> >        SET_TYPE_MODE (vector_pair_type_node, POImode);
> 
> So this doesn't work.  Without that line vector_pair_type_node is
> NULL and the SET_TYPE_MODE() usage on the next line ends up dereferencing it
> and we SEGV.

Wonder if it was suppose to be something like:


   /* Vector pair and vector quad support.  */
   if (TARGET_EXTRA_BUILTINS)
     {
-      tree oi_uns_type = make_unsigned_type (256);
-      vector_pair_type_node = build_distinct_type_copy (oi_uns_type);
+      vector_pair_type_node = make_unsigned_type (256);
       SET_TYPE_MODE (vector_pair_type_node, POImode);
       layout_type (vector_pair_type_node);
       lang_hooks.types.register_builtin_type (vector_pair_type_node,
                                              "__vector_pair");

-      tree xi_uns_type = make_unsigned_type (512);
-      vector_quad_type_node = build_distinct_type_copy (xi_uns_type);
+      vector_quad_type_node = make_unsigned_type (512);
       SET_TYPE_MODE (vector_quad_type_node, PXImode);
       layout_type (vector_quad_type_node);
       lang_hooks.types.register_builtin_type (vector_quad_type_node,

Reply via email to