aboutsummaryrefslogtreecommitdiff
path: root/gdb/objfile-flags.h
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2018-07-26 19:52:47 -0600
committerTom Tromey <tom@tromey.com>2018-10-03 15:19:06 -0600
commitad69edbb4b230582ecd1863e68d0c2044f5ad901 (patch)
treebafe26e96f1575c3f21d221e569545b07c2e7ed2 /gdb/objfile-flags.h
parent780942fc2422d80a49b748e484890f11db31f49e (diff)
downloadgdb-ad69edbb4b230582ecd1863e68d0c2044f5ad901.zip
gdb-ad69edbb4b230582ecd1863e68d0c2044f5ad901.tar.gz
gdb-ad69edbb4b230582ecd1863e68d0c2044f5ad901.tar.bz2
Use unsigned as base type for some enums
-fsanitize=undefined complains about using operator~ on various enum types that are used with DEF_ENUM_FLAGS_TYPE. This patch fixes these problems by explicitly setting the base type for these enums to unsigned. It also adds a static assert to enum_flags to ensure that future enums used this way have an unsigned underlying type. gdb/ChangeLog 2018-10-03 Tom Tromey <tom@tromey.com> * common/enum-flags.h (enum_flags::operator~): Add static assert. * symfile-add-flags.h (enum symfile_add_flag): Use unsigned as base type. * objfile-flags.h (enum objfile_flag): Use unsigned as base type. * gdbtypes.h (enum type_instance_flag_value): Use unsigned as base type. * c-lang.h (enum c_string_type_values): Use unsigned as base type. * btrace.h (enum btrace_thread_flag): Use unsigned as base type.
Diffstat (limited to 'gdb/objfile-flags.h')
-rw-r--r--gdb/objfile-flags.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/gdb/objfile-flags.h b/gdb/objfile-flags.h
index aeaa8fb..6f5760d 100644
--- a/gdb/objfile-flags.h
+++ b/gdb/objfile-flags.h
@@ -25,7 +25,7 @@
/* Defines for the objfile flags field. Defined in a separate file to
break circular header dependencies. */
-enum objfile_flag
+enum objfile_flag : unsigned
{
/* When an object file has its functions reordered (currently
Irix-5.2 shared libraries exhibit this behaviour), we will need