On 4/27/22 13:02, Joseph Myers wrote: > On Wed, 27 Apr 2022, Jason Merrill via Gcc-patches wrote: > >> + if (typedef_variant_p (type)) >> + { >> + /* Set up the typedef all over again. */ > > This seems wrong when the typedef is just being used in another > declaration with the mode attribute, as opposed to being defined using the > mode attribute. E.g. the following test is valid and accepted before the > patch, but wrongly rejected after the patch because the typedef has had > its type changed. > > typedef int I; > int x; > I y __attribute__ ((mode(QI))); > extern I x; Ah, good point. Fixed thus: