2000-07-13 Michael Snyder <msnyder@cleaver.cygnus.com>
[deliverable/binutils-gdb.git] / gdb / parse.c
index 271e2029936fd5f687a03a0b7a52cf2e7cb04921..b8757b74752eba313e482804d003f2aac6d62a0b 100644 (file)
@@ -43,6 +43,9 @@
 #include "parser-defs.h"
 #include "gdbcmd.h"
 #include "symfile.h"           /* for overlay functions */
+#include "inferior.h"          /* for NUM_PSEUDO_REGS.  NOTE: replace 
+                                  with "gdbarch.h" when appropriate.  */
+
 \f
 /* Symbols which architectures can redefine.  */
 
@@ -77,16 +80,14 @@ static int expressiondebug = 0;
 
 extern int hp_som_som_object_present;
 
-static void
-free_funcalls PARAMS ((void));
+static void free_funcalls (void *ignore);
 
-static void
-prefixify_expression PARAMS ((struct expression *));
+static void prefixify_expression (struct expression *);
 
 static void
-prefixify_subexp PARAMS ((struct expression *, struct expression *, int, int));
+prefixify_subexp (struct expression *, struct expression *, int, int);
 
-void _initialize_parse PARAMS ((void));
+void _initialize_parse (void);
 
 /* Data structure for saving values of arglist_len for function calls whose
    arguments contain other function calls.  */
@@ -133,7 +134,15 @@ target_map_name_to_register (str, len)
        return i;
       }
 
-  /* Try standard aliases */
+  /* Try pseudo-registers, if any. */
+  for (i = NUM_REGS; i < NUM_REGS + NUM_PSEUDO_REGS; i++)
+    if (REGISTER_NAME (i) && len == strlen (REGISTER_NAME (i))
+       && STREQN (str, REGISTER_NAME (i), len))
+      {
+       return i;
+      }
+
+  /* Try standard aliases. */
   for (i = 0; i < num_std_regs; i++)
     if (std_regs[i].name && len == strlen (std_regs[i].name)
        && STREQN (str, std_regs[i].name, len))
@@ -177,7 +186,7 @@ end_arglist ()
    Used when there is an error inside parsing.  */
 
 static void
-free_funcalls ()
+free_funcalls (void *ignore)
 {
   register struct funcall *call, *next;
 
@@ -1165,7 +1174,7 @@ parse_exp_1 (stringptr, block, comma)
   if (lexptr == 0 || *lexptr == 0)
     error_no_arg ("expression to compute");
 
-  old_chain = make_cleanup ((make_cleanup_func) free_funcalls, 0);
+  old_chain = make_cleanup (free_funcalls, 0 /*ignore*/);
   funcall_chain = 0;
 
   expression_context_block = block ? block : get_selected_block ();
@@ -1176,7 +1185,7 @@ parse_exp_1 (stringptr, block, comma)
   expout = (struct expression *)
     xmalloc (sizeof (struct expression) + EXP_ELEM_TO_BYTES (expout_size));
   expout->language_defn = current_language;
-  make_cleanup ((make_cleanup_func) free_current_contents, &expout);
+  make_cleanup (free_current_contents, &expout);
 
   if (current_language->la_parser ())
     current_language->la_error (NULL);
@@ -1315,7 +1324,7 @@ follow_types (follow_type)
   return follow_type;
 }
 \f
-static void build_parse PARAMS ((void));
+static void build_parse (void);
 static void
 build_parse ()
 {
@@ -1400,10 +1409,10 @@ _initialize_parse ()
   register_gdbarch_swap (NULL, 0, build_parse);
 
   add_show_from_set (
-           add_set_cmd ("expressiondebug", class_maintenance, var_zinteger,
+           add_set_cmd ("expression", class_maintenance, var_zinteger,
                         (char *) &expressiondebug,
                         "Set expression debugging.\n\
 When non-zero, the internal representation of expressions will be printed.",
-                        &setlist),
-                     &showlist);
+                        &setdebuglist),
+                     &showdebuglist);
 }
This page took 0.023956 seconds and 4 git commands to generate.