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 */