This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix endless recursion in make_vector_type (PR tree-opt/29637; 4.[0123] regression cause by PR c/29092 fix)
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- To: mark at codesourcery dot com
- Cc: gcc-patches at gcc dot gnu dot org, jakub at redhat dot com, paolo dot bonzini at lu dot unisi dot ch, roger at eyesopen dot com
- Date: Mon, 30 Oct 2006 05:55:08 EST
- Subject: Re: [PATCH] Fix endless recursion in make_vector_type (PR tree-opt/29637; 4.[0123] regression cause by PR c/29092 fix)
- References: <Pine.LNX.4.44.0610291448080.16396-100000@www.eyesopen.com> <45457699.1070403@codesourcery.com>
> I don't believe that invariant should hold, i.e., I think it reasonable
> for the TYPE_MAIN_VARIANT to have attributes.
>
> The question, I suppose, is what TYPE_MAIN_VARIANT means.
Indeed, I think that's the question. If you have two variants of the same
type, each with different attributes, how do you pick which one is "main"?
To me, that argues that TYPE_MAIN_VARIANT should be a type that has
*none* of the "qualifications" of the type. One could perhaps argue
that type attributes shouldn't merely be variants, but I think as long
as they are, then we should have a TYPE_MAIN_VARIANT that's easily
distinguishable, meaning it has no qualifiers.