From e512cdbdffafefa63baeb835ba6636fcef56e17d Mon Sep 17 00:00:00 2001
From: Simon Marchi <simon.marchi@ericsson.com>
Date: Tue, 28 Jul 2015 11:01:50 -0400
Subject: [PATCH] Introduce get_value_arch

Similar to get_type_arch, used to get the gdbarch associated to a
struct value.

gdb/ChangeLog:

	* value.c (get_value_arch): New function.
	* value.h (get_value_arch): New declaration.
---
 gdb/ChangeLog | 5 +++++
 gdb/value.c   | 8 ++++++++
 gdb/value.h   | 4 ++++
 3 files changed, 17 insertions(+)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 1e83384c130..93e054bcb40 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2015-07-28  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* value.c (get_value_arch): New function.
+	* value.h (get_value_arch): New declaration.
+
 2015-07-28  Simon Marchi  <simon.marchi@ericsson.com>
 
 	* value.c (struct value): Update comments.
diff --git a/gdb/value.c b/gdb/value.c
index 7fb7e2b5307..0d540d5762d 100644
--- a/gdb/value.c
+++ b/gdb/value.c
@@ -340,6 +340,14 @@ struct value
   VEC(range_s) *optimized_out;
 };
 
+/* See value.h.  */
+
+struct gdbarch *
+get_value_arch (const struct value *value)
+{
+  return get_type_arch (value_type (value));
+}
+
 int
 value_bits_available (const struct value *value, int offset, int length)
 {
diff --git a/gdb/value.h b/gdb/value.h
index 7ff6aa8fd98..e25f52bffca 100644
--- a/gdb/value.h
+++ b/gdb/value.h
@@ -99,6 +99,10 @@ struct value *value_next (struct value *);
 
 extern struct type *value_type (const struct value *);
 
+/* Return the gdbarch associated with the value. */
+
+extern struct gdbarch *get_value_arch (const struct value *value);
+
 /* This is being used to change the type of an existing value, that
    code should instead be creating a new value with the changed type
    (but possibly shared content).  */