check_qualified_type
Richard Biener
rguenther@suse.de
Mon Jun 17 12:42:05 GMT 2024
On Mon, 17 Jun 2024, Martin Uecker wrote:
> Am Montag, dem 17.06.2024 um 08:01 +0200 schrieb Richard Biener via Gcc:
> > On Sun, 16 Jun 2024, Martin Uecker wrote:
> >
> > >
> > >
> > > I am trying to understand what check_qualified_type
> > > does exactly. The direct comparison of TYPE_NAMES seems incorrect
> > > for C and its use is c_update_type_canonical then causes
> > > PR114930 and PR115502. In the later function I think
> > > it is not really needed and I guess one could simply remove
> > > it, but I wonder if it works incorrectly in other cases
> > > too?
> >
> > TYPE_NAMES is compared because IIRC typedefs are recorded as variants
> > and 'const T' isn't the same as 'const int' with typedef int T.
>
> so if it is intentional that it differentiates between
>
> struct foo
>
> and
>
> typedef struct foo bar
>
> then I will change c_update_type_canonical to not use it,
> because both types should have the same TYPE_CANONICAL
The check is supposed to differentiate between variants and all variants
have the same TYPE_CANONICAL so I'm not sure why you considered using
this function for canonical type compute?
Richard.
More information about the Gcc
mailing list