* expression.h (enum exp_opcode): Document a register name for
[deliverable/binutils-gdb.git] / gdb / ax-gdb.c
index b00806fd0b7a90509c2327cf4b3c4ff16b17fef2..82e095367aabc64f9996f8120cec32cd8265e65c 100644 (file)
@@ -1599,8 +1599,14 @@ gen_expr (union exp_element **pc, struct agent_expr *ax,
 
     case OP_REGISTER:
       {
-       int reg = (int) (*pc)[1].longconst;
-       (*pc) += 3;
+       const char *name = &(*pc)[2].string;
+       int reg;
+       (*pc) += 4 + BYTES_TO_EXP_ELEM ((*pc)[1].longconst + 1);
+       reg = frame_map_name_to_regnum (deprecated_safe_get_selected_frame (),
+                                       name, strlen (name));
+       if (reg == -1)
+         internal_error (__FILE__, __LINE__,
+                         _("Register $%s not available"), name);
        value->kind = axs_lvalue_register;
        value->u.reg = reg;
        value->type = register_type (current_gdbarch, reg);
This page took 0.026423 seconds and 4 git commands to generate.