* ada-lang.c (evaluate_subexp): Delete. Use the version from eval.c.
authorJoel Brobecker <brobecker@gnat.com>
Tue, 23 Jun 2009 16:37:19 +0000 (16:37 +0000)
committerJoel Brobecker <brobecker@gnat.com>
Tue, 23 Jun 2009 16:37:19 +0000 (16:37 +0000)
        (evaluate_subexp_type): Reimplement using evaluate_subexp.
        * value.h (evaluate_subexp): Add declaration.
        * eval.c (evaluate_subexp): Make non-static.
        * objc-lang.c (print_object_command): Use evaluate_subexp.

gdb/ChangeLog
gdb/ada-lang.c
gdb/eval.c
gdb/objc-lang.c
gdb/value.h

index 9b1919496679b35e0104ca95f61f9b0a32a774b2..400e767a9492e1e37042245a03c0047062a3d084 100644 (file)
@@ -1,3 +1,11 @@
+2009-06-23  Joel Brobecker  <brobecker@adacore.com>
+
+       * ada-lang.c (evaluate_subexp): Delete.  Use the version from eval.c.
+       (evaluate_subexp_type): Reimplement using evaluate_subexp.
+       * value.h (evaluate_subexp): Add declaration.
+       * eval.c (evaluate_subexp): Make non-static.
+       * objc-lang.c (print_object_command): Use evaluate_subexp.
+
 2009-06-23  Paul Pluzhnikov  <ppluzhnikov@google.com>
 
        Revert 2009-05-14 breakpoint commit (no longer needed).
index 02c7821593fd9fd3a4c48bf9a8f228a86440ca7e..a1fa364527e573a7899caa78b6037a20b0bcff98 100644 (file)
@@ -157,9 +157,6 @@ static struct symbol *find_old_style_renaming_symbol (const char *,
 static struct type *ada_lookup_struct_elt_type (struct type *, char *,
                                                 int, int, int *);
 
-static struct value *evaluate_subexp (struct type *, struct expression *,
-                                      int *, enum noside);
-
 static struct value *evaluate_subexp_type (struct expression *, int *);
 
 static int is_dynamic_field (struct type *, int);
@@ -7730,14 +7727,6 @@ ada_enum_name (const char *name)
     }
 }
 
-static struct value *
-evaluate_subexp (struct type *expect_type, struct expression *exp, int *pos,
-                 enum noside noside)
-{
-  return (*exp->language_defn->la_exp_desc->evaluate_exp)
-    (expect_type, exp, pos, noside);
-}
-
 /* Evaluate the subexpression of EXP starting at *POS as for
    evaluate_type, updating *POS to point just past the evaluated
    expression.  */
@@ -7745,8 +7734,7 @@ evaluate_subexp (struct type *expect_type, struct expression *exp, int *pos,
 static struct value *
 evaluate_subexp_type (struct expression *exp, int *pos)
 {
-  return (*exp->language_defn->la_exp_desc->evaluate_exp)
-    (NULL_TYPE, exp, pos, EVAL_AVOID_SIDE_EFFECTS);
+  return evaluate_subexp (NULL_TYPE, exp, pos, EVAL_AVOID_SIDE_EFFECTS);
 }
 
 /* If VAL is wrapped in an aligner or subtype wrapper, return the
index df730057d80edc8b63f7b15366375dc35c83d5ae..c7698729861451dd308d77e050a3fe3ef19a62a6 100644 (file)
@@ -56,9 +56,6 @@ static struct value *evaluate_subexp_for_sizeof (struct expression *, int *);
 static struct value *evaluate_subexp_for_address (struct expression *,
                                                  int *, enum noside);
 
-static struct value *evaluate_subexp (struct type *, struct expression *,
-                                     int *, enum noside);
-
 static char *get_label (struct expression *, int *);
 
 static struct value *evaluate_struct_tuple (struct value *,
@@ -69,7 +66,7 @@ static LONGEST init_array_element (struct value *, struct value *,
                                   struct expression *, int *, enum noside,
                                   LONGEST, LONGEST);
 
-static struct value *
+struct value *
 evaluate_subexp (struct type *expect_type, struct expression *exp,
                 int *pos, enum noside noside)
 {
index cff54bbaffd0e179842b16a062abf53e867a004e..a67ba37047ba633c9cd7a1f5435227a5372ccbe5 100644 (file)
@@ -1421,8 +1421,8 @@ print_object_command (char *args, int from_tty)
       make_cleanup (free_current_contents, &expr);
     int pc = 0;
 
-    object = expr->language_defn->la_exp_desc->evaluate_exp 
-      (builtin_type (expr->gdbarch)->builtin_data_ptr, expr, &pc, EVAL_NORMAL);
+    object = evaluate_subexp (builtin_type (expr->gdbarch)->builtin_data_ptr,
+                             expr, &pc, EVAL_NORMAL);
     do_cleanups (old_chain);
   }
 
index db4dcc1dd43c42e9577b864d33da813837e648b0..c31cce5a7e6bda50a5a8c5563cbc2efe515df26a 100644 (file)
@@ -490,6 +490,10 @@ extern struct value *evaluate_expression (struct expression *exp);
 
 extern struct value *evaluate_type (struct expression *exp);
 
+extern struct value *evaluate_subexp (struct type *expect_type,
+                                     struct expression *exp,
+                                     int *pos, enum noside noside);
+
 extern struct value *evaluate_subexpression_type (struct expression *exp,
                                                  int subexp);