Treat OP_F77_UNDETERMINED_ARGLIST as OP_FUNCALL
When I debug some fortran expression parsing, I got (gdb) set debug expression 1 (gdb) p intvla(5,5,5) Dump of expression @ 0x205fa80, before conversion to prefix form: Language fortran, 19 elements, 16 bytes each. Index Opcode Hex Value String Value 0 OP_VAR_VALUE 40 (............... 1 <unknown 31863232> 31863232 .1.............. .... 14 BINOP_REM 5 ................ 15 OP_LONG 38 &............... 16 OP_F77_UNDETERMINED_ARGLIST 48 0............... 17 BINOP_MUL 3 ................ 18 OP_F77_UNDETERMINED_ARGLIST 48 0............... Dump of expression @ 0x205fa80, after conversion to prefix form: Expression: `Invalid expression ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This patch fixes this problem by handling OP_F77_UNDETERMINED_ARGLIST in the same way as handling OP_FUNCALL. With this patch applied, the output looks better, (gdb) p intvla (5,5,5) Dump of expression @ 0x2d75590, before conversion to prefix form: Language fortran, 19 elements, 16 bytes each. Index Opcode Hex Value String Value 0 OP_VAR_VALUE 40 (............... .... 16 OP_F77_UNDETERMINED_ARGLIST 48 0............... 17 BINOP_MUL 3 ................ 18 OP_F77_UNDETERMINED_ARGLIST 48 0............... Dump of expression @ 0x2d75590, after conversion to prefix form: Expression: `vla_primitives::intvla (5, 5, 5)' Language fortran, 19 elements, 16 bytes each. 0 OP_F77_UNDETERMINED_ARGLIST Number of args: 3 3 OP_VAR_VALUE Block @0x297e1c0, symbol @0x297cd50 (intvla) 7 OP_LONG Type @0x2976900 (int), value 5 (0x5) 11 OP_LONG Type @0x2976900 (int), value 5 (0x5) 15 OP_LONG Type @0x2976900 (int), value 5 (0x5) gdb: 2018-02-06 Yao Qi <yao.qi@linaro.org> * expprint.c (print_subexp_standard): Handle OP_F77_UNDETERMINED_ARGLIST. (dump_subexp_body_standard): Likewise.
This commit is contained in:
parent
583e3f9061
commit
bca65a2394
@ -1,3 +1,9 @@
|
||||
2018-02-06 Yao Qi <yao.qi@linaro.org>
|
||||
|
||||
* expprint.c (print_subexp_standard): Handle
|
||||
OP_F77_UNDETERMINED_ARGLIST.
|
||||
(dump_subexp_body_standard): Likewise.
|
||||
|
||||
2018-02-05 Alan Hayward <alan.hayward@arm.com>
|
||||
|
||||
* target-descriptions.c (tdesc_element_visitor) Add empty
|
||||
|
@ -186,6 +186,7 @@ print_subexp_standard (struct expression *exp, int *pos,
|
||||
return;
|
||||
|
||||
case OP_FUNCALL:
|
||||
case OP_F77_UNDETERMINED_ARGLIST:
|
||||
(*pos) += 2;
|
||||
nargs = longest_to_int (exp->elts[pc + 1].longconst);
|
||||
print_subexp (exp, pos, stream, PREC_SUFFIX);
|
||||
@ -923,6 +924,7 @@ dump_subexp_body_standard (struct expression *exp,
|
||||
elt += 2;
|
||||
break;
|
||||
case OP_FUNCALL:
|
||||
case OP_F77_UNDETERMINED_ARGLIST:
|
||||
{
|
||||
int i, nargs;
|
||||
|
||||
@ -1123,7 +1125,6 @@ dump_subexp_body_standard (struct expression *exp,
|
||||
default:
|
||||
case OP_NULL:
|
||||
case MULTI_SUBSCRIPT:
|
||||
case OP_F77_UNDETERMINED_ARGLIST:
|
||||
case OP_COMPLEX:
|
||||
case OP_BOOL:
|
||||
case OP_M2_STRING:
|
||||
|
Loading…
Reference in New Issue
Block a user