diff options
-rw-r--r-- | gdb/trad-frame.c | 2 | ||||
-rw-r--r-- | gdb/unittests/array-view-selftests.c | 4 | ||||
-rw-r--r-- | gdb/unittests/enum-flags-selftests.c | 4 | ||||
-rw-r--r-- | gdb/unittests/packed-selftests.c | 4 | ||||
-rw-r--r-- | gdbsupport/check-defines.el | 2 | ||||
-rw-r--r-- | gdbsupport/packed.h | 2 | ||||
-rw-r--r-- | gdbsupport/poison.h | 8 | ||||
-rw-r--r-- | gdbsupport/traits.h | 21 |
8 files changed, 0 insertions, 47 deletions
diff --git a/gdb/trad-frame.c b/gdb/trad-frame.c index 8b63927..c35e08a 100644 --- a/gdb/trad-frame.c +++ b/gdb/trad-frame.c @@ -61,9 +61,7 @@ trad_frame_reset_saved_regs (struct gdbarch *gdbarch, trad_frame_saved_reg * trad_frame_alloc_saved_regs (struct gdbarch *gdbarch) { -#ifdef HAVE_IS_TRIVIALLY_CONSTRUCTIBLE static_assert (std::is_trivially_constructible<trad_frame_saved_reg>::value); -#endif int numregs = gdbarch_num_cooked_regs (gdbarch); trad_frame_saved_reg *this_saved_regs diff --git a/gdb/unittests/array-view-selftests.c b/gdb/unittests/array-view-selftests.c index 9d2448f..299318a 100644 --- a/gdb/unittests/array-view-selftests.c +++ b/gdb/unittests/array-view-selftests.c @@ -30,15 +30,11 @@ namespace array_view_tests { #define CHECK_TRAIT(TRAIT) \ static_assert (std::TRAIT<gdb::array_view<gdb_byte>>::value, "") -#if HAVE_IS_TRIVIALLY_COPYABLE - CHECK_TRAIT (is_trivially_copyable); CHECK_TRAIT (is_trivially_move_assignable); CHECK_TRAIT (is_trivially_move_constructible); CHECK_TRAIT (is_trivially_destructible); -#endif - #undef CHECK_TRAIT /* Wrapper around std::is_convertible to make the code using it a bit diff --git a/gdb/unittests/enum-flags-selftests.c b/gdb/unittests/enum-flags-selftests.c index 607b8ac..54e1681 100644 --- a/gdb/unittests/enum-flags-selftests.c +++ b/gdb/unittests/enum-flags-selftests.c @@ -63,14 +63,10 @@ DEF_ENUM_FLAGS_TYPE (RE, EF); DEF_ENUM_FLAGS_TYPE (RE2, EF2); DEF_ENUM_FLAGS_TYPE (URE, UEF); -#if HAVE_IS_TRIVIALLY_COPYABLE - /* So that std::vectors of types that have enum_flags fields can reallocate efficiently memcpy. */ static_assert (std::is_trivially_copyable<EF>::value); -#endif - /* A couple globals used as lvalues in the CHECK_VALID expressions below. Their names (and types) match the uppercase type names exposed by CHECK_VALID just to make the expressions easier to diff --git a/gdb/unittests/packed-selftests.c b/gdb/unittests/packed-selftests.c index 3f20861..852a7d3 100644 --- a/gdb/unittests/packed-selftests.c +++ b/gdb/unittests/packed-selftests.c @@ -46,16 +46,12 @@ static_assert (alignof (packed<test_enum, 4>) == 1); #define CHECK_TRAIT(TRAIT) \ static_assert (std::TRAIT<packed<test_enum, 1>>::value, "") -#if HAVE_IS_TRIVIALLY_COPYABLE - CHECK_TRAIT (is_trivially_copyable); CHECK_TRAIT (is_trivially_copy_constructible); CHECK_TRAIT (is_trivially_move_constructible); CHECK_TRAIT (is_trivially_copy_assignable); CHECK_TRAIT (is_trivially_move_assignable); -#endif - #undef CHECK_TRAIT /* Entry point. */ diff --git a/gdbsupport/check-defines.el b/gdbsupport/check-defines.el index 7603eff..b7cf61b 100644 --- a/gdbsupport/check-defines.el +++ b/gdbsupport/check-defines.el @@ -35,8 +35,6 @@ (put (intern "HAVE_USEFUL_SBRK") :check-ok t) (put (intern "HAVE_SOCKETS") :check-ok t) (put (intern "HAVE_F_GETFD") :check-ok t) -(put (intern "HAVE_IS_TRIVIALLY_COPYABLE") :check-ok t) -(put (intern "HAVE_IS_TRIVIALLY_CONSTRUCTIBLE") :check-ok t) (put (intern "HAVE_DOS_BASED_FILE_SYSTEM") :check-ok t) (defun check-read-config.in (file) diff --git a/gdbsupport/packed.h b/gdbsupport/packed.h index 8035535..5c817d4 100644 --- a/gdbsupport/packed.h +++ b/gdbsupport/packed.h @@ -80,9 +80,7 @@ public: static_assert (alignof (packed) == 1); /* Make sure packed can be wrapped with std::atomic. */ -#if HAVE_IS_TRIVIALLY_COPYABLE static_assert (std::is_trivially_copyable<packed>::value); -#endif static_assert (std::is_copy_constructible<packed>::value); static_assert (std::is_move_constructible<packed>::value); static_assert (std::is_copy_assignable<packed>::value); diff --git a/gdbsupport/poison.h b/gdbsupport/poison.h index 0d0159e..7b4f8e8 100644 --- a/gdbsupport/poison.h +++ b/gdbsupport/poison.h @@ -56,8 +56,6 @@ template <typename T, typename = gdb::Requires<gdb::Not<IsMemsettable<T>>>> void *memset (T *s, int c, size_t n) = delete; -#if HAVE_IS_TRIVIALLY_COPYABLE - /* Similarly, poison memcpy and memmove of non trivially-copyable types, which is undefined. */ @@ -83,17 +81,11 @@ template <typename D, typename S, typename = gdb::Requires<gdb::Not<BothAreRelocatable<D, S>>>> void *memmove (D *dest, const S *src, size_t n) = delete; -#endif /* HAVE_IS_TRIVIALLY_COPYABLE */ - /* Poison XNEW and friends to catch usages of malloc-style allocations on objects that require new/delete. */ template<typename T> -#if HAVE_IS_TRIVIALLY_CONSTRUCTIBLE using IsMallocable = std::is_trivially_constructible<T>; -#else -using IsMallocable = std::true_type; -#endif template<typename T> using IsFreeable = gdb::Or<std::is_trivially_destructible<T>, std::is_void<T>>; diff --git a/gdbsupport/traits.h b/gdbsupport/traits.h index eb97b96..92fe59f 100644 --- a/gdbsupport/traits.h +++ b/gdbsupport/traits.h @@ -20,27 +20,6 @@ #include <type_traits> -/* GCC does not understand __has_feature. */ -#if !defined(__has_feature) -# define __has_feature(x) 0 -#endif - -/* HAVE_IS_TRIVIALLY_COPYABLE is defined as 1 iff - std::is_trivially_copyable is available. GCC only implemented it - in GCC 5. */ -#if (__has_feature(is_trivially_copyable) \ - || (defined __GNUC__ && __GNUC__ >= 5)) -# define HAVE_IS_TRIVIALLY_COPYABLE 1 -#endif - -/* HAVE_IS_TRIVIALLY_CONSTRUCTIBLE is defined as 1 iff - std::is_trivially_constructible is available. GCC only implemented it - in GCC 5. */ -#if (__has_feature(is_trivially_constructible) \ - || (defined __GNUC__ && __GNUC__ >= 5)) -# define HAVE_IS_TRIVIALLY_CONSTRUCTIBLE 1 -#endif - namespace gdb { /* Implementation of the detection idiom: |