mirror of https://github.com/mkerrisk/man-pages
operator.7: Fix precedence of the 'cast operator'
Unary operators are mentioned in C11::6.5.3, and casts are in C11::6.5.4 (they are mentioned in order of precedence). And from note 85 (in section 6.5) in that same C11 standard, major subsections 6.5.X are sorted by precedence. As an example (from Jakub), `sizeof(int)+1` is interpreted as `(sizeof(int))+1`, and not `sizeof((int)+1)`. I used C11 and not C18 (the latest) because at least in the draft copy of C18 that I have, there are a few important typos in that section, while the draft copy of C11 that I have is free of those typos. And C11 and C18 are almost identical, with no major changes to the language. Reported-by: David Sletten <david.paul.sletten@gmail.com> Cc: Jakub Wilk <jwilk@jwilk.net> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
parent
15af0ac10a
commit
9c9a5acaa2
|
@ -48,7 +48,8 @@ lb lb lb
|
||||||
l l l.
|
l l l.
|
||||||
Operator Associativity Notes
|
Operator Associativity Notes
|
||||||
() [] \-> . ++ \-\- left to right [1]
|
() [] \-> . ++ \-\- left to right [1]
|
||||||
! \(ti ++ \-\- + \- (type) * & sizeof right to left [2]
|
! \(ti ++ \-\- + \- * & sizeof right to left [2]
|
||||||
|
(type) right to left
|
||||||
* / % left to right
|
* / % left to right
|
||||||
+ \- left to right
|
+ \- left to right
|
||||||
<< >> left to right
|
<< >> left to right
|
||||||
|
|
Loading…
Reference in New Issue