aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/ada-lang.c14
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;