This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch] Add frame parameter to value_of_register()


(Don't want to know how many more of these there are :-)
Committed as obvious.

Andrew
2002-03-15  Andrew Cagney  <ac131313@redhat.com>

	* eval.c (evaluate_subexp_standard): Pass ``selected_frame'' to
	value_of_register.
	* findvar.c (value_of_register): Add ``frame'' parameter.  Pass to
	get_saved_register.
	* value.h (value_of_register): Update.

Index: eval.c
===================================================================
RCS file: /cvs/src/src/gdb/eval.c,v
retrieving revision 1.19
diff -u -r1.19 eval.c
--- eval.c	2002/01/04 17:51:38	1.19
+++ eval.c	2002/03/16 02:53:43
@@ -447,8 +447,7 @@
     case OP_REGISTER:
       {
 	int regno = longest_to_int (exp->elts[pc + 1].longconst);
-	struct value *val = value_of_register (regno);
-
+	struct value *val = value_of_register (regno, selected_frame);
 	(*pos) += 2;
 	if (val == NULL)
 	  error ("Value of register %s not available.", REGISTER_NAME (regno));
Index: findvar.c
===================================================================
RCS file: /cvs/src/src/gdb/findvar.c,v
retrieving revision 1.28
diff -u -r1.28 findvar.c
--- findvar.c	2002/02/10 02:47:11	1.28
+++ findvar.c	2002/03/16 02:53:47
@@ -283,15 +283,15 @@
 
 
 
-/* Return a `value' with the contents of register REGNUM
-   in its virtual format, with the type specified by
-   REGISTER_VIRTUAL_TYPE.  
+/* Return a `value' with the contents of (virtual or cooked) register
+   REGNUM as found in the specified FRAME.  The register's type is
+   determined by REGISTER_VIRTUAL_TYPE.
 
-   NOTE: returns NULL if register value is not available.
-   Caller will check return value or die!  */
+   NOTE: returns NULL if register value is not available.  Caller will
+   check return value or die!  */
 
 struct value *
-value_of_register (int regnum)
+value_of_register (int regnum, struct frame_info *frame)
 {
   CORE_ADDR addr;
   int optim;
@@ -300,7 +300,7 @@
   enum lval_type lval;
 
   get_saved_register (raw_buffer, &optim, &addr,
-		      selected_frame, regnum, &lval);
+		      frame, regnum, &lval);
 
   if (register_cached (regnum) < 0)
     return NULL;		/* register value not available */
Index: value.h
===================================================================
RCS file: /cvs/src/src/gdb/value.h,v
retrieving revision 1.26
diff -u -r1.26 value.h
--- value.h	2002/01/04 23:21:38	1.26
+++ value.h	2002/03/16 02:53:48
@@ -317,7 +317,8 @@
 
 extern struct value *value_of_variable (struct symbol *var, struct block *b);
 
-extern struct value *value_of_register (int regnum);
+extern struct value *value_of_register (int regnum,
+					struct frame_info *frame);
 
 extern int symbol_read_needs_frame (struct symbol *);
 

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]