On Fri, 26 Jun 2026, Arsen Arsenović wrote: > First, we make a distinction between cv_qualifier and qualifier_set. > > The former models the CVRA qualifiers, which are either present or > absent.
Note that there is an active discussion in WG14 of possibly introducing the term "access qualifier" for const / volatile / restrict, with a view to integrating named address spaces into the C standard. _Atomic is only syntactically a qualifier in the C standard, not semantically, although of course in implementation terms it's like const / volatile / restrict to the extent that it's either present or absent on a type. It's possible that if the "access qualifier" concept is introduced, it would make sense to redefine _Atomic in the C standard as being a qualifier that's not an access qualifier; it has the property of qualifiers that it has no meaning for rvalues, but not the access qualifier properties that the layout is the same as for the unqualified type (_Atomic can increase size and alignment) or, thus, that it's safe to convert a pointer to one to a more-qualified type. (Hence various places that use e.g. TYPE_QUALS_NO_ADDR_SPACE_NO_ATOMIC because they want to deal with access qualifiers only.) -- Joseph S. Myers [email protected]
