gdb: move RequireLongest to gdbsupport/traits.h
Move it out of defs.h.
Change-Id: Ie1743d41a57f81667650048563e66073c72230cf
Approved-By: John Baldwin <jhb@FreeBSD.org>
diff --git a/gdb/defs.h b/gdb/defs.h
index 5da8ce7..535ca67 100644
--- a/gdb/defs.h
+++ b/gdb/defs.h
@@ -63,10 +63,6 @@
#include "gdbsupport/enum-flags.h"
#include "gdbsupport/array-view.h"
-template<typename T>
-using RequireLongest = gdb::Requires<gdb::Or<std::is_same<T, LONGEST>,
- std::is_same<T, ULONGEST>>>;
-
/* Just in case they're not defined in stdio.h. */
#ifndef SEEK_SET
diff --git a/gdb/extract-store-integer.h b/gdb/extract-store-integer.h
index 1ba5f82..fd195dc 100644
--- a/gdb/extract-store-integer.h
+++ b/gdb/extract-store-integer.h
@@ -18,6 +18,8 @@
#ifndef GDB_EXTRACT_STORE_INTEGER_H
#define GDB_EXTRACT_STORE_INTEGER_H
+#include "gdbsupport/traits.h"
+
template<typename T, typename = RequireLongest<T>>
T extract_integer (gdb::array_view<const gdb_byte>, enum bfd_endian byte_order);
diff --git a/gdb/regcache.h b/gdb/regcache.h
index 1d049fe..2f4b7d9 100644
--- a/gdb/regcache.h
+++ b/gdb/regcache.h
@@ -23,6 +23,7 @@
#include "gdbsupport/array-view.h"
#include "gdbsupport/common-regcache.h"
#include "gdbsupport/function-view.h"
+#include "gdbsupport/traits.h"
struct regcache;
struct regset;
diff --git a/gdbsupport/traits.h b/gdbsupport/traits.h
index 92fe59f..85cbc94 100644
--- a/gdbsupport/traits.h
+++ b/gdbsupport/traits.h
@@ -143,4 +143,8 @@ template<typename Condition>
using Requires = typename std::enable_if<Condition::value, void>::type;
}
+template<typename T>
+using RequireLongest = gdb::Requires<gdb::Or<std::is_same<T, LONGEST>,
+ std::is_same<T, ULONGEST>>>;
+
#endif /* COMMON_TRAITS_H */