diff options
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/ada-lang.c | 14 |
2 files changed, 13 insertions, 7 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 8cb2f18..23bc214 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,11 @@ 2014-08-18 Joel Brobecker <brobecker@adacore.com> + * ada-lang.c (ada_evaluate_subexp) <OP_VAR_VALUE>: Slight code + rewrite to avoid "else if" and "else" constructs. Should be + a no-op in practice. + +2014-08-18 Joel Brobecker <brobecker@adacore.com> + * ada-lang.c (ada_evaluate_subexp) <OP_VAR_VALUE>: Fix identation of lexical block. diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index 334df1f..a9b5e6f 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -10121,13 +10121,15 @@ ada_evaluate_subexp (struct type *expect_type, struct expression *exp, *pos += 4; goto nosideret; } - else if (SYMBOL_DOMAIN (exp->elts[pc + 2].symbol) == UNDEF_DOMAIN) + + if (SYMBOL_DOMAIN (exp->elts[pc + 2].symbol) == UNDEF_DOMAIN) /* Only encountered when an unresolved symbol occurs in a context other than a function call, in which case, it is invalid. */ error (_("Unexpected unresolved symbol, %s, during evaluation"), SYMBOL_PRINT_NAME (exp->elts[pc + 2].symbol)); - else if (noside == EVAL_AVOID_SIDE_EFFECTS) + + if (noside == EVAL_AVOID_SIDE_EFFECTS) { type = static_unwrap_type (SYMBOL_TYPE (exp->elts[pc + 2].symbol)); /* Check to see if this is a tagged type. We also need to handle @@ -10186,11 +10188,9 @@ ada_evaluate_subexp (struct type *expect_type, struct expression *exp, *pos += 4; return value_zero (to_static_fixed_type (type), not_lval); } - else - { - arg1 = evaluate_subexp_standard (expect_type, exp, pos, noside); - return ada_to_fixed_value (arg1); - } + + arg1 = evaluate_subexp_standard (expect_type, exp, pos, noside); + return ada_to_fixed_value (arg1); case OP_FUNCALL: (*pos) += 2; |