mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-25 13:27:26 +08:00
gdb/fortran: add support for legacy .xor. operator
gfortran supports .xor. as an alias for .neqv., see: https://gcc.gnu.org/onlinedocs/gfortran/_002eXOR_002e-operator.html this commit adds support for this operator to GDB. gdb/ChangeLog: * f-exp.y (fortran_operators): Add ".xor.". gdb/testsuite/ChangeLog: * gdb.fortran/dot-ops.exp (dot_operations): Test ".xor.".
This commit is contained in:
@ -1,3 +1,7 @@
|
|||||||
|
2021-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
|
||||||
|
|
||||||
|
* f-exp.y (fortran_operators): Add ".xor.".
|
||||||
|
|
||||||
2021-02-24 Tom de Vries <tdevries@suse.de>
|
2021-02-24 Tom de Vries <tdevries@suse.de>
|
||||||
|
|
||||||
PR symtab/27336
|
PR symtab/27336
|
||||||
|
@ -982,6 +982,7 @@ static const struct token fortran_operators[] =
|
|||||||
{ ".eq.", EQUAL, BINOP_END, false },
|
{ ".eq.", EQUAL, BINOP_END, false },
|
||||||
{ ".eqv.", EQUAL, BINOP_END, false },
|
{ ".eqv.", EQUAL, BINOP_END, false },
|
||||||
{ ".neqv.", NOTEQUAL, BINOP_END, false },
|
{ ".neqv.", NOTEQUAL, BINOP_END, false },
|
||||||
|
{ ".xor.", NOTEQUAL, BINOP_END, false },
|
||||||
{ "==", EQUAL, BINOP_END, false },
|
{ "==", EQUAL, BINOP_END, false },
|
||||||
{ ".ne.", NOTEQUAL, BINOP_END, false },
|
{ ".ne.", NOTEQUAL, BINOP_END, false },
|
||||||
{ "/=", NOTEQUAL, BINOP_END, false },
|
{ "/=", NOTEQUAL, BINOP_END, false },
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
2021-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
|
||||||
|
|
||||||
|
* gdb.fortran/dot-ops.exp (dot_operations): Test ".xor.".
|
||||||
|
|
||||||
2021-02-24 Andrew Burgess <andrew.burgess@embecosm.com>
|
2021-02-24 Andrew Burgess <andrew.burgess@embecosm.com>
|
||||||
|
|
||||||
* gdb.base/sect-cmd.exp: Update expected results.
|
* gdb.base/sect-cmd.exp: Update expected results.
|
||||||
|
@ -31,6 +31,7 @@ proc test_dot_operations {} {
|
|||||||
set not ".NOT."
|
set not ".NOT."
|
||||||
set eqv ".EQV."
|
set eqv ".EQV."
|
||||||
set neqv ".NEQV."
|
set neqv ".NEQV."
|
||||||
|
set xor ".XOR."
|
||||||
set eq ".EQ."
|
set eq ".EQ."
|
||||||
set ne ".NE."
|
set ne ".NE."
|
||||||
set le ".LE."
|
set le ".LE."
|
||||||
@ -45,6 +46,7 @@ proc test_dot_operations {} {
|
|||||||
set not ".not."
|
set not ".not."
|
||||||
set eqv ".eqv."
|
set eqv ".eqv."
|
||||||
set neqv ".neqv."
|
set neqv ".neqv."
|
||||||
|
set xor ".xor."
|
||||||
set eq ".eq."
|
set eq ".eq."
|
||||||
set ne ".ne."
|
set ne ".ne."
|
||||||
set le ".le."
|
set le ".le."
|
||||||
@ -81,6 +83,12 @@ proc test_dot_operations {} {
|
|||||||
gdb_test "p $false $neqv $true" " = .TRUE."
|
gdb_test "p $false $neqv $true" " = .TRUE."
|
||||||
gdb_test "p $false $neqv $false" " = .FALSE."
|
gdb_test "p $false $neqv $false" " = .FALSE."
|
||||||
|
|
||||||
|
# And the legacy alias for NEQV, XOR
|
||||||
|
gdb_test "p $true $xor $true" " = .FALSE."
|
||||||
|
gdb_test "p $true $xor $false" " = .TRUE."
|
||||||
|
gdb_test "p $false $xor $true" " = .TRUE."
|
||||||
|
gdb_test "p $false $xor $false" " = .FALSE."
|
||||||
|
|
||||||
# Arithmetic EQ
|
# Arithmetic EQ
|
||||||
gdb_test "p 5 $eq 4" " = .FALSE."
|
gdb_test "p 5 $eq 4" " = .FALSE."
|
||||||
gdb_test "p 4 $eq 4" " = .TRUE."
|
gdb_test "p 4 $eq 4" " = .TRUE."
|
||||||
|
Reference in New Issue
Block a user