diff options
author | Michael Matz <matz@suse.de> | 2023-07-12 15:10:10 +0200 |
---|---|---|
committer | Michael Matz <matz@suse.de> | 2023-07-13 17:21:06 +0200 |
commit | f6f78318fca803c4907fb8d7f6ded8295f1947b1 (patch) | |
tree | 9cf054e87f1dbdcc39778a7696501e076c422f40 | |
parent | 22e90ac5af46c01ee4972cf04e835266862bbb35 (diff) | |
download | gdb-f6f78318fca803c4907fb8d7f6ded8295f1947b1.zip gdb-f6f78318fca803c4907fb8d7f6ded8295f1947b1.tar.gz gdb-f6f78318fca803c4907fb8d7f6ded8295f1947b1.tar.bz2 |
Let '^' through the lexer
so that the (existing) code in parser and expression evaluator
actually get to see it and handle it as XOR. Also adjust docu
to match what's there.
-rw-r--r-- | ld/ld.texi | 36 | ||||
-rw-r--r-- | ld/ldlex.l | 1 |
2 files changed, 21 insertions, 16 deletions
@@ -6818,19 +6818,21 @@ the standard bindings and precedence levels: @ifnottex @c END TEXI2ROFF-KILL @smallexample -precedence associativity Operators Notes +precedence associativity Operators Notes (highest) -1 left ! - ~ (1) +1 left ! - ~ (1) 2 left * / % 3 left + - 4 left >> << -5 left == != > < <= >= -6 left & -7 left | -8 left && -9 left || -10 right ? : -11 right &= += -= *= /= (2) +5 left > < <= >= +6 left == != +7 left & +8 left ^ +9 left | +10 left && +11 left || +12 right ? : +13 right += -= *= /= <<= >>= &= |= (2) (lowest) @end smallexample Notes: @@ -6856,13 +6858,15 @@ height2pt&\omit&&\omit&&\omit&\cr &2&&left&&* / \%&\cr &3&&left&&+ -&\cr &4&&left&&>> <<&\cr -&5&&left&&== != > < <= >=&\cr -&6&&left&&\&&\cr -&7&&left&&|&\cr -&8&&left&&{\&\&}&\cr -&9&&left&&||&\cr -&10&&right&&? :&\cr -&11&&right&&\qquad\&= += -= *= /=\qquad\ddag&\cr +&5&&left&& > < <= >=&\cr +&6&&left&&== !=&\cr +&7&&left&&\&&\cr +&8&&left&&^&\cr +&9&&left&&|&\cr +&10&&left&&{\&\&}&\cr +&11&&left&&||&\cr +&12&&right&&? :&\cr +&13&&right&&\qquad += -= *= /= <<= >>= \&= |=\qquad\ddag&\cr &lowest&&&&&\cr height2pt&\omit&&\omit&&\omit&\cr} \hrule} @@ -247,6 +247,7 @@ V_IDENTIFIER [*?.$_a-zA-Z\[\]\-\!\^\\]([*?.$_a-zA-Z0-9\[\]\-\!\^\\]|::)* <EXPRESSION,MRI>"/" { RTOKEN('/'); } <EXPRESSION,MRI>"%" { RTOKEN('%'); } <EXPRESSION,MRI>"<" { RTOKEN('<'); } +<EXPRESSION,MRI>"^" { RTOKEN('^'); } <SCRIPT,EXPRESSION,MRI,WILD>"=" { RTOKEN('='); } <SCRIPT,EXPRESSION,MRI,WILD>"}" { RTOKEN('}'); } <SCRIPT,EXPRESSION,MRI,WILD>"{" { RTOKEN('{'); } |