Hello Rick, (Im reflecting more.) On 9/25/19 9:42 PM, Michael Kerrisk (man-pages) wrote: > Hello Rick, > > On 9/25/19 5:23 PM, Rick Stanley wrote: >> Hello again! >> >> In an effort to bring the current manpage for the C operator table up >> to the current official Standard, I went back and compared the current >> manpage operator table against the C99, C11, and C17(18) Draft >> Standards documents. I do not have access to the Official ISO C >> Standards documents. >> >> I have attached a PDF to document my interpretation of the Standards >> against the current `man operator` manpage >> >> In addition to the pre & postfix ++ & -- operators, I have found one >> additional change & three additions to the table. Because of these >> appearing in 6.5.x, and A.2.1, I assume they should be included in the >> operator table. >> >> The current table consists of 15 levels of precedence, C99 adds one new >> level and C11 adds one more. >> >> (type) cast operator change >> >> In the current table, the cast operator is listed on level 2 of 15 >> levels, along with other operators. In C99 this operator has been >> demoted to a new level inserted between level 2 & 3 of the current >> level, expanding the table to 16 levels of precedence. I assume the >> associativity is also "right to left", as is level 2. How do you deduce that this changed between C89/90 and c99? I'm not so convinced now that '(type) cast' changed in precedence. >> _Generic operator/keyword addition >> >> This new operator/keyword was added in C11. A new top level was >> created and the remainder of the table has been demoted by one level. But, is it really an operator? How do you deduce that? >> default operator/keyword addition >> >> This too has been added to the new top level in C11 > > But, 'default' is not an operator as far as I can tell? > (It is part of the '_Generic' construct, not an operator > in its own right.) > >> _Alignof operator/keyword addition This seems clearly correct to me, and I find other sources that agree on this. My general problem is that I find no other sources that confirm your interpretation of the standard that _Generic is a new operator at a new level and that '(type) cast' has changed in precedence. Thanks, Michael -- Michael Kerrisk Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/ Linux/UNIX System Programming Training: http://man7.org/training/