remove unnecessary second call to static_unwrap_type in ada_evaluate_subexp
authorJoel Brobecker <brobecker@adacore.com>
Tue, 18 Mar 2014 17:52:08 +0000 (10:52 -0700)
committerJoel Brobecker <brobecker@adacore.com>
Mon, 28 Apr 2014 19:38:19 +0000 (15:38 -0400)
In ada-lang.c::ada_evaluate_subexp, case OP_VAR_VALUE, when noside
is EVAL_AVOID_SIDE_EFFECTS, the first thing we do is set type as
follow:

    type = static_unwrap_type (SYMBOL_TYPE (exp->elts[pc + 2].symbol));

Later on in the same block, we make the same call:

    return value_zero
      (to_static_fixed_type
       (static_unwrap_type (SYMBOL_TYPE (exp->elts[pc + 2].symbol))),
       not_lval);

This patch removes the second call, since it should result in the same
type being returned, so no point in making that call again.

gdb/ChangeLog:

        * ada-lang.c (ada_evaluate_subexp) <OP_VAR_VALUE>: Remove
        unnecessary second call to static_unwrap_type.

gdb/ChangeLog
gdb/ada-lang.c

index e1093cf36b55bd3734e3bf363dc5a745e0da6f80..cd43f6ee559ee1696ac3030b3864cb2c68595c40 100644 (file)
@@ -1,3 +1,8 @@
+2014-04-28  Joel Brobecker  <brobecker@adacore.com>
+
+       * ada-lang.c (ada_evaluate_subexp) <OP_VAR_VALUE>: Remove
+       unnecessary second call to static_unwrap_type.
+
 2014-04-27  Hui Zhu  <hui@codesourcery.com>
 
        * stack.c (print_frame_info): Call do_gdb_disassembly with
index da304abfd2dd740c3289630cc7ea202ea9ab5fba..0acc1b527f5de9683ae3231cd9001852aa1feed7 100644 (file)
@@ -10205,10 +10205,7 @@ ada_evaluate_subexp (struct type *expect_type, struct expression *exp,
           }
 
           *pos += 4;
-          return value_zero
-            (to_static_fixed_type
-             (static_unwrap_type (SYMBOL_TYPE (exp->elts[pc + 2].symbol))),
-             not_lval);
+          return value_zero (to_static_fixed_type (type), not_lval);
         }
       else
         {