[C++ PATCH] Fix alignment handling in build_cplus_array_type/cp_build_qualified_type_real (PR c++/65690)

Jan Hubicka hubicka@ucw.cz
Wed Apr 8 16:22:00 GMT 2015


> On 04/08/2015 06:02 AM, Jakub Jelinek wrote:
> >	(cp_build_qualified_type_real): Use check_base_type.  Build a
> >	variant and copy over even TYPE_CONTEXT and
> >	TYPE_ALIGN/TYPE_USER_ALIGN if any of those are different.
> 
> This seems wrong.  If there is an array with the same name,
> attributes and element type, it should have the same alignment; if

One of problems is that cp_build_qualified_type rebuilds the array from
scratch and never copies the attribute list around (as oposed to
build_qualified_type that just memcpy the type node)

Honza

> it doesn't, that probably means that one of the types hasn't been
> laid out yet.  We don't want to have two variants of the same array
> that are distinguished only by whether they've been laid out,
> especially since later probably both will be laid out and the two
> types will be the same.
> 
> Jason



More information about the Gcc-patches mailing list