[pushed/Ada] remove unnecessary second call to static_unwrap_type in ada_evaluate_subexp

Message ID 1398713968-602-1-git-send-email-brobecker@adacore.com
State Committed
Headers

Commit Message

Joel Brobecker April 28, 2014, 7:39 p.m. UTC
  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.

Tested on x86_64-linux, and pushed.

Thanks,
  

Patch

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index e1093cf..cd43f6e 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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
diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
index da304ab..0acc1b5 100644
--- a/gdb/ada-lang.c
+++ b/gdb/ada-lang.c
@@ -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
         {