On Wed, Jun 19, 2024 at 09:26:00AM +0200, Martin Uecker wrote:
> Ok. Then should it, instead of
>
> TYPE_CANONICAL (x)
> = build_qualified_type (TYPE_CANONICAL (t), TYPE_QUALS (x));
>
> be
>
> tree c = build_qualified_type (TYPE_CANONICAL (t), TYPE_QUALS (x));
> TYPE_CANONICAL (x) = TREE_CANONICAL (c);
>
> in the patch below?
I think you are right, that matches what build_qualified_type does:
else if (TYPE_CANONICAL (type) != type)
/* Build the underlying canonical type, since it is different
from TYPE. */
{
tree c = build_qualified_type (TYPE_CANONICAL (type), type_quals);
TYPE_CANONICAL (t) = TYPE_CANONICAL (c);
}
else
/* T is its own canonical type. */
TYPE_CANONICAL (t) = t;
Jakub