aboutsummaryrefslogtreecommitdiff
path: root/gdb/c-lang.h
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@ericsson.com>2015-11-17 13:31:29 +0000
committerPedro Alves <palves@redhat.com>2015-11-17 13:31:29 +0000
commit0c801b966379f7826fdd793b26ae879c2edf78d1 (patch)
tree7fbfb4292f6c342d0e0902a9d744c338355fa100 /gdb/c-lang.h
parent8d297bbf604c8318ffc72d5a7b3db654409c5ed9 (diff)
downloadgdb-0c801b966379f7826fdd793b26ae879c2edf78d1.zip
gdb-0c801b966379f7826fdd793b26ae879c2edf78d1.tar.gz
gdb-0c801b966379f7826fdd793b26ae879c2edf78d1.tar.bz2
Convert c_string_type to an enum flags type
c_string_type contains values meant to be OR'ed together (even though some bits are mutually exclusive), so it makes sense to make it an enum flags type. gdb/ChangeLog: 2015-11-17 Simon Marchi <simon.marchi@ericsson.com> * c-exp.y (exp): Adjust, change enum c_string_type to c_string_type. (parse_string_or_char): Likewise. * c-lang.c (charset_for_string_type): Likewise. (classify_type): Likewise. (c_printchar): Likewise. (c_printstr): Likewise. (evaluate_subexp_c): Likewise. And change cast to enum c_string_type_values. * c-lang.h: Include "common/enum_flags.h". (enum c_string_type): Rename to... (enum c_string_type_values): ...this. (c_string_type): Define new enum flags type.
Diffstat (limited to 'gdb/c-lang.h')
-rw-r--r--gdb/c-lang.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/gdb/c-lang.h b/gdb/c-lang.h
index 5e30481..b921cf4 100644
--- a/gdb/c-lang.h
+++ b/gdb/c-lang.h
@@ -29,12 +29,13 @@ struct parser_state;
#include "value.h"
#include "macroexp.h"
#include "parser-defs.h"
+#include "common/enum-flags.h"
/* The various kinds of C string and character. Note that these
values are chosen so that they may be or'd together in certain
ways. */
-enum c_string_type
+enum c_string_type_values
{
/* An ordinary string: "value". */
C_STRING = 0,
@@ -56,6 +57,8 @@ enum c_string_type
C_CHAR_32 = 7
};
+DEF_ENUM_FLAGS_TYPE (enum c_string_type_values, c_string_type);
+
/* Defined in c-exp.y. */
extern int c_parse (struct parser_state *);