Re: [RFC TREE-WIDE] gcc: stop using 'int' to represent sets of qualifiers
Joseph Myers <[email protected]> Fri, 26 Jun 2026 19:42:54 +0000 (UTC)
| Newsgroups | gmane.comp.gcc.patches,gmane.comp.gcc.devel |
|---|---|
| Message-ID | <[email protected]> |
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]