On Wed, Mar 10, 2021 at 08:02:16PM +0100, David Lamparter wrote: > Also, in seeing your response re. the volatile, it occured to me that > stripping qualifiers on a typedef and still calling it the typedef is > unhelpful. Ideally, my goal is: > > typedef int i; > typedef const int ci; > typeof((i)x) = i > typeof((ci)x) = int (<-- w/ my patch = ci; this is confusing)
Clarification: with the current patch, the type of (ci)x is *called* "ci", but doesn't actually have the const qualifier. That's the confusing part. The const (or volatile) is stripped off the typedef in the added build_qualified_type() call, but that now-different type is still referred to as "ci"... > typeof((const i)x) = i