* configure.ac: Use AC_CHECK_DECLS instead of gcc_AC_CHECK_DECLS
[deliverable/binutils-gdb.git] / gdb / valops.c
index 6fa1577851975ca8e3d51dc386150b6b3f624cc2..c708fac590ae61cb17d1b8a5821b64d24cc97593 100644 (file)
@@ -596,28 +596,19 @@ value_assign (struct value *toval, struct value *fromval)
       }
       break;
 
-    case lval_reg_frame_relative:
     case lval_register:
       {
        struct frame_info *frame;
        int value_reg;
 
        /* Figure out which frame this is in currently.  */
-       if (VALUE_LVAL (toval) == lval_register)
-         {
-           frame = get_current_frame ();
-           value_reg = VALUE_REGNUM (toval);
-         }
-       else
-         {
-           frame = frame_find_by_id (VALUE_FRAME_ID (toval));
-           value_reg = VALUE_REGNUM (toval);
-         }
+       frame = frame_find_by_id (VALUE_FRAME_ID (toval));
+       value_reg = VALUE_REGNUM (toval);
 
        if (!frame)
          error ("Value being assigned to is no longer active.");
        
-       if (VALUE_LVAL (toval) == lval_reg_frame_relative
+       if (VALUE_LVAL (toval) == lval_register
            && CONVERT_REGISTER_P (VALUE_REGNUM (toval), type))
          {
            /* If TOVAL is a special machine register requiring
@@ -699,7 +690,6 @@ value_assign (struct value *toval, struct value *fromval)
     {
     case lval_memory:
     case lval_register:
-    case lval_reg_frame_relative:
 
       reinit_frame_cache ();
 
@@ -1317,6 +1307,7 @@ search_struct_field (char *name, struct value *arg1, int offset,
            {
              VALUE_LVAL (v2) = VALUE_LVAL (arg1);
              VALUE_ADDRESS (v2) = VALUE_ADDRESS (arg1);
+             VALUE_FRAME_ID (v2) = VALUE_FRAME_ID (arg1);
              v2->offset = value_offset (arg1) + boffset;
              if (VALUE_LAZY (arg1))
                VALUE_LAZY (v2) = 1;
@@ -2778,6 +2769,7 @@ value_slice (struct value *array, int lowbound, int length)
       else
        VALUE_LVAL (slice) = VALUE_LVAL (array);
       VALUE_ADDRESS (slice) = VALUE_ADDRESS (array);
+      VALUE_FRAME_ID (slice) = VALUE_FRAME_ID (array);
       slice->offset = value_offset (array) + offset;
     }
   return slice;
This page took 0.025284 seconds and 4 git commands to generate.