[PATCH][gdb/build] Fix build with gcc 4.8.5
Tom de Vries
tdevries@suse.de
Tue Jul 12 11:31:26 GMT 2022
Hi,
When building gdb with gcc 4.8.5, we run into problems due to unconditionally
using:
...
gdb_static_assert (std::is_trivially_copyable<packed>::value);
...
in gdbsupport/packed.h.
Fix this by guarding the usage with HAVE_IS_TRIVIALLY_COPYABLE.
Tested by doing a full gdb build with gcc 4.8.5.
Any comments?
Thanks,
- Tom
[gdb/build] Fix build with gcc 4.8.5
---
gdbsupport/packed.h | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/gdbsupport/packed.h b/gdbsupport/packed.h
index ebc66c0cb1a..cd331b5477d 100644
--- a/gdbsupport/packed.h
+++ b/gdbsupport/packed.h
@@ -18,6 +18,8 @@
#ifndef PACKED_H
#define PACKED_H
+#include "traits.h"
+
/* Each instantiation and full specialization of the packed template
defines a type that behaves like a given scalar type, but that has
byte alignment, and, may optionally have a smaller size than the
@@ -38,7 +40,9 @@ struct packed
gdb_static_assert (alignof (packed) == 1);
/* Make sure packed can be wrapped with std::atomic. */
+#if HAVE_IS_TRIVIALLY_COPYABLE
gdb_static_assert (std::is_trivially_copyable<packed>::value);
+#endif
gdb_static_assert (std::is_copy_constructible<packed>::value);
gdb_static_assert (std::is_move_constructible<packed>::value);
gdb_static_assert (std::is_copy_assignable<packed>::value);
More information about the Gdb-patches
mailing list