This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Canonical types (1/3)
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- To: mark at codesourcery dot com
- Cc: doug dot gregor at gmail dot com, gcc-patches at gcc dot gnu dot org
- Date: Mon, 04 Dec 2006 21:27:17 EST
- Subject: Re: [PATCH] Canonical types (1/3)
- References: <24b520d20611280755x5117377fh7e4e1344575fb17d@mail.gmail.com> <4574C3CA.6080509@codesourcery.com>
> + if (TYPE_CANONICAL (to_type) != to_type)
> + TYPE_CANONICAL (t) =
> + build_pointer_type_for_mode (TYPE_CANONICAL (to_type),
> + mode, can_alias_all);
Minor issue: the "=" is on the wrong line.
> > + type = build_variant_type_copy (orig_type);
> > TYPE_ALIGN (type) = boundary;
> > + TYPE_CANONICAL (type) = TYPE_CANONICAL (orig_type);
>
> Eek. So, despite having different alignments, we consider these types
> "the same"? If that's what we already do, then it's OK to preserve that
> behavior, but it sure seems worrisome.
I'm concerned about that as well. I think we need a more precise definition
someplace of what is allowed to differ between two "variants" of a type.