From: Pedro Alves <palves@redhat.com>
To: gdb-patches@sourceware.org
Subject: [PATCH 14/36] Do not do arithmetic on enum types
Date: Mon, 09 Feb 2015 23:51:00 -0000 [thread overview]
Message-ID: <1423524046-20605-15-git-send-email-palves@redhat.com> (raw)
In-Reply-To: <1423524046-20605-1-git-send-email-palves@redhat.com>
From: Tom Tromey <tromey@redhat.com>
In C++, we can't do arithmetic on enums. This patch fixes build errors like:
src/gdb/i386-tdep.c: In function âint i386_stap_parse_special_token(gdbarch*, stap_parse_info*)â:
src/gdb/i386-tdep.c:4309:7: error: no match for âoperator++â (operand type is âi386_stap_parse_special_token(gdbarch*, stap_parse_info*)::<anonymous enum>â)
++current_state;
^
...
src/gdb/rs6000-tdep.c:4265:18: error: no match for âoperator++â (operand type is âpowerpc_vector_abiâ)
src/gdb/arm-tdep.c:9428:71: error: no match for âoperator++â (operand type is âarm_float_modelâ)
src/gdb/arm-tdep.c:9465:64: error: no match for âoperator++â (operand type is âarm_abi_kindâ)
...
gdb/ChangeLog:
2015-02-09 Tom Tromey <tromey@redhat.com>
Pedro Alves <palves@redhat.com>
* arm-tdep.c (set_fp_model_sfunc, arm_set_abi): Use 'int' for
local used to iterate over enums.
* completer.c (signal_completer): Likewise.
* i386-tdep.c (i386_stap_parse_special_token): Likewise.
* rs6000-tdep.c (powerpc_set_vector_abi): Likewise.
* tui/tui-data.c (tui_next_win, tui_prev_win): Likewise.
* tui/tui-layout.c (next_layout, prev_layout): Likewise.
* tui/tui-win.c (tui_refresh_all_win, tui_rehighlight_all)
(tui_resize_all, tui_set_focus_command, tui_all_windows_info): Likewise.
* tui-wingeneral.c (tui_refresh_all): Likewise.
---
gdb/arm-tdep.c | 4 ++--
gdb/completer.c | 4 ++--
gdb/i386-tdep.c | 3 ++-
gdb/rs6000-tdep.c | 2 +-
gdb/tui/tui-data.c | 4 ++--
gdb/tui/tui-layout.c | 8 ++++----
gdb/tui/tui-win.c | 8 ++++----
gdb/tui/tui-wingeneral.c | 2 +-
8 files changed, 18 insertions(+), 17 deletions(-)
diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c
index 8e9552a..49b4c07 100644
--- a/gdb/arm-tdep.c
+++ b/gdb/arm-tdep.c
@@ -9388,7 +9388,7 @@ static void
set_fp_model_sfunc (char *args, int from_tty,
struct cmd_list_element *c)
{
- enum arm_float_model fp_model;
+ int fp_model;
for (fp_model = ARM_FLOAT_AUTO; fp_model != ARM_FLOAT_LAST; fp_model++)
if (strcmp (current_fp_model, fp_model_strings[fp_model]) == 0)
@@ -9425,7 +9425,7 @@ static void
arm_set_abi (char *args, int from_tty,
struct cmd_list_element *c)
{
- enum arm_abi_kind arm_abi;
+ int arm_abi;
for (arm_abi = ARM_ABI_AUTO; arm_abi != ARM_ABI_LAST; arm_abi++)
if (strcmp (arm_abi_string, arm_abi_strings[arm_abi]) == 0)
diff --git a/gdb/completer.c b/gdb/completer.c
index 774fb31..2a0dca9 100644
--- a/gdb/completer.c
+++ b/gdb/completer.c
@@ -951,7 +951,7 @@ signal_completer (struct cmd_list_element *ignore,
{
VEC (char_ptr) *return_val = NULL;
size_t len = strlen (word);
- enum gdb_signal signum;
+ int signum;
const char *signame;
for (signum = GDB_SIGNAL_FIRST; signum != GDB_SIGNAL_LAST; ++signum)
@@ -960,7 +960,7 @@ signal_completer (struct cmd_list_element *ignore,
if (signum == GDB_SIGNAL_0)
continue;
- signame = gdb_signal_to_name (signum);
+ signame = gdb_signal_to_name ((enum gdb_signal) signum);
/* Ignore the unknown signal case. */
if (!signame || strcmp (signame, "?") == 0)
diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c
index 1c8842c..8c08f8b 100644
--- a/gdb/i386-tdep.c
+++ b/gdb/i386-tdep.c
@@ -4270,7 +4270,8 @@ i386_stap_parse_special_token (struct gdbarch *gdbarch,
TRIPLET,
THREE_ARG_DISPLACEMENT,
DONE
- } current_state;
+ };
+ int current_state;
current_state = TRIPLET;
diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c
index ef94bba..46f6e41 100644
--- a/gdb/rs6000-tdep.c
+++ b/gdb/rs6000-tdep.c
@@ -6049,7 +6049,7 @@ powerpc_set_vector_abi (char *args, int from_tty,
struct cmd_list_element *c)
{
struct gdbarch_info info;
- enum powerpc_vector_abi vector_abi;
+ int vector_abi;
for (vector_abi = POWERPC_VEC_AUTO;
vector_abi != POWERPC_VEC_LAST;
diff --git a/gdb/tui/tui-data.c b/gdb/tui/tui-data.c
index 3c5bce1..3eff9fd 100644
--- a/gdb/tui/tui-data.c
+++ b/gdb/tui/tui-data.c
@@ -319,7 +319,7 @@ tui_set_current_layout_to (enum tui_layout_type new_layout)
struct tui_win_info *
tui_next_win (struct tui_win_info *cur_win)
{
- enum tui_win_type type = cur_win->generic.type;
+ int type = cur_win->generic.type;
struct tui_win_info *next_win = (struct tui_win_info *) NULL;
if (cur_win->generic.type == CMD_WIN)
@@ -349,7 +349,7 @@ tui_next_win (struct tui_win_info *cur_win)
struct tui_win_info *
tui_prev_win (struct tui_win_info *cur_win)
{
- enum tui_win_type type = cur_win->generic.type;
+ int type = cur_win->generic.type;
struct tui_win_info *prev = (struct tui_win_info *) NULL;
if (cur_win->generic.type == SRC_WIN)
diff --git a/gdb/tui/tui-layout.c b/gdb/tui/tui-layout.c
index 56cc026..6547404 100644
--- a/gdb/tui/tui-layout.c
+++ b/gdb/tui/tui-layout.c
@@ -616,7 +616,7 @@ tui_layout_command (char *arg, int from_tty)
static enum tui_layout_type
next_layout (void)
{
- enum tui_layout_type new_layout;
+ int new_layout;
new_layout = tui_current_layout ();
if (new_layout == UNDEFINED_LAYOUT)
@@ -628,7 +628,7 @@ next_layout (void)
new_layout = SRC_COMMAND;
}
- return new_layout;
+ return (enum tui_layout_type) new_layout;
}
@@ -636,7 +636,7 @@ next_layout (void)
static enum tui_layout_type
prev_layout (void)
{
- enum tui_layout_type new_layout;
+ int new_layout;
new_layout = tui_current_layout ();
if (new_layout == SRC_COMMAND)
@@ -648,7 +648,7 @@ prev_layout (void)
new_layout = DISASSEM_DATA_COMMAND;
}
- return new_layout;
+ return (enum tui_layout_type) new_layout;
}
diff --git a/gdb/tui/tui-win.c b/gdb/tui/tui-win.c
index 1a12cc6..6a36d48 100644
--- a/gdb/tui/tui-win.c
+++ b/gdb/tui/tui-win.c
@@ -626,7 +626,7 @@ tui_scroll (enum tui_scroll_direction direction,
void
tui_refresh_all_win (void)
{
- enum tui_win_type type;
+ int type;
clearok (curscr, TRUE);
tui_refresh_all (tui_win_list);
@@ -658,7 +658,7 @@ tui_refresh_all_win (void)
void
tui_rehighlight_all (void)
{
- enum tui_win_type type;
+ int type;
for (type = SRC_WIN; type < MAX_MAJOR_WINDOWS; type++)
tui_check_and_display_highlight_if_needed (tui_win_list[type]);
@@ -682,7 +682,7 @@ tui_resize_all (void)
struct tui_win_info *first_win;
struct tui_win_info *second_win;
struct tui_gen_win_info *locator = tui_locator_win_info_ptr ();
- enum tui_win_type win_type;
+ int win_type;
int new_height, split_diff, cmd_split_diff, num_wins_displayed = 2;
#ifdef HAVE_RESIZE_TERM
@@ -978,7 +978,7 @@ tui_set_focus_command (char *arg, int from_tty)
static void
tui_all_windows_info (char *arg, int from_tty)
{
- enum tui_win_type type;
+ int type;
struct tui_win_info *win_with_focus = tui_win_with_focus ();
for (type = SRC_WIN; (type < MAX_MAJOR_WINDOWS); type++)
diff --git a/gdb/tui/tui-wingeneral.c b/gdb/tui/tui-wingeneral.c
index 72d8cd9..b95da49 100644
--- a/gdb/tui/tui-wingeneral.c
+++ b/gdb/tui/tui-wingeneral.c
@@ -252,7 +252,7 @@ tui_make_all_invisible (void)
void
tui_refresh_all (struct tui_win_info **list)
{
- enum tui_win_type type;
+ int type;
struct tui_gen_win_info *locator = tui_locator_win_info_ptr ();
for (type = SRC_WIN; (type < MAX_MAJOR_WINDOWS); type++)
--
1.9.3
next prev parent reply other threads:[~2015-02-09 23:51 UTC|newest]
Thread overview: 100+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-09 23:20 [PATCH 00/36] Support building GDB as a C++ program Pedro Alves
2015-02-09 23:20 ` [PATCH 02/36] Add --enable-build-with-cxx configure switch Pedro Alves
2015-02-10 22:11 ` Yao Qi
2015-02-27 13:24 ` Pedro Alves
2015-02-27 14:20 ` Yao Qi
2015-02-27 16:29 ` Pedro Alves
2015-02-09 23:21 ` [PATCH 23/36] gdbarch.h: include regcache.h Pedro Alves
2015-02-09 23:21 ` [PATCH 15/36] Don't forward declare enum target_hw_bp_type Pedro Alves
2015-02-09 23:21 ` [PATCH 22/36] Remove duplicate const Pedro Alves
2015-02-09 23:21 ` [PATCH 12/36] proc-service, extern "C" Pedro Alves
2015-02-09 23:21 ` [PATCH 31/36] Split TRY_CATCH into TRY + CATCH Pedro Alves
2015-03-07 15:58 ` Pedro Alves
2015-02-09 23:21 ` [PATCH 09/36] floatformat.h: Wrap in extern "C" Pedro Alves
2015-02-09 23:35 ` Andrew Pinski
2015-02-09 23:49 ` Pedro Alves
2015-02-12 11:49 ` Pedro Alves
2015-02-18 19:55 ` Jakub Jelinek
2015-02-14 17:29 ` Doug Evans
2015-02-14 18:36 ` Pedro Alves
2015-02-14 22:46 ` Doug Evans
2015-02-09 23:21 ` [PATCH 20/36] gdbserver/tracepoint: Add cast sockaddr_un/sockaddr cast Pedro Alves
2015-02-09 23:21 ` [PATCH 08/36] elf-bfd.h: Wrap in extern "C" Pedro Alves
2015-02-09 23:33 ` Andrew Pinski
2015-02-10 12:05 ` [PATCH v2] Wrap BFD headers " Pedro Alves
2015-02-11 0:36 ` Alan Modra
2015-02-11 10:08 ` Pedro Alves
2015-02-09 23:21 ` [PATCH 05/36] Fix redefinition errors in C++ mode Pedro Alves
2015-02-11 10:09 ` Yao Qi
2015-02-11 11:30 ` Pedro Alves
2015-02-11 11:39 ` [PATCH] xcoffread.c: delete 'within_function' definition (Re: [PATCH 05/36] Fix redefinition errors in C++ mode) Pedro Alves
2015-02-09 23:21 ` [PATCH 13/36] target.h: Include infrun.h Pedro Alves
2015-02-09 23:21 ` [PATCH 21/36] opcodes/microblaze: Rename 'or', 'and', 'xor' to avoid C++ conflict Pedro Alves
2015-02-10 15:05 ` Michael Eager
2015-02-10 18:11 ` Pedro Alves
2015-02-09 23:21 ` [PATCH 04/36] Fix struct, union, and enum nesting in C++ Pedro Alves
2015-02-09 23:21 ` [PATCH 26/36] Adjust self tests to cope with GDB built as a C++ program Pedro Alves
2015-02-09 23:21 ` [PATCH 29/36] Normalize TRY_CATCH exception handling block Pedro Alves
2015-02-09 23:21 ` [PATCH 27/36] catch_command_errors: Remove 'mask' parameter Pedro Alves
2015-02-09 23:21 ` [PATCH 25/36] python/python-internal.h: enum ‘ext_lang_rc’ not defined Pedro Alves
2015-02-09 23:21 ` [PATCH 28/36] Move exception_none to common code, and use it Pedro Alves
2015-02-09 23:21 ` [PATCH 17/36] mi/mi-cmd-stack.c|frame filters: print_values <-> ext_lang_frame_args Pedro Alves
2015-02-09 23:21 ` [PATCH 03/36] C++ keyword cleanliness, mostly auto-generated Pedro Alves
2015-02-11 7:57 ` Joel Brobecker
2015-02-11 8:52 ` Phil Muldoon
2015-02-11 10:27 ` Pedro Alves
2015-02-11 10:51 ` Pedro Alves
2015-02-12 12:19 ` Joel Brobecker
2015-02-12 13:14 ` Pedro Alves
2015-02-12 14:43 ` Pedro Alves
2015-02-12 14:59 ` Joel Brobecker
2015-02-27 17:41 ` Pedro Alves
2015-02-09 23:21 ` [PATCH 19/36] Exported const objects Pedro Alves
2015-02-09 23:21 ` [PATCH 16/36] x86 Linux/ptrace: fix offsetof usage in C++ mode Pedro Alves
2015-02-09 23:21 ` [PATCH 11/36] Make functions and variables exported by the IPA be extern "C" Pedro Alves
2015-02-09 23:22 ` [PATCH 33/36] TRY_CATCH -> TRY+CATCH+END_CATCH, the manual conversions Pedro Alves
2015-02-09 23:22 ` [PATCH 36/36] Make TRY/CATCH use real C++ try/catch in C++ mode Pedro Alves
2015-02-09 23:22 ` [PATCH 32/36] TRY_CATCH -> TRY+CATCH+END_CATCH everywhere Pedro Alves
2015-02-09 23:35 ` [PATCH 18/36] Rename struct lzma_stream to avoid clash with system header Pedro Alves
2015-02-09 23:45 ` [PATCH 06/36] record-btrace.c: Remove redefinitions Pedro Alves
2015-02-09 23:46 ` [PATCH 35/36] kill volatile struct gdb_exception Pedro Alves
2015-02-09 23:49 ` [PATCH 00/36] Support building GDB as a C++ program Doug Evans
2015-02-09 23:50 ` [PATCH 34/36] more making TRY/CATCH callers look more like real C++ try/catch blocks Pedro Alves
2015-03-07 15:59 ` Pedro Alves
2015-02-09 23:51 ` [PATCH 07/36] Make array object extern Pedro Alves
2015-02-27 22:47 ` Simon Marchi
2015-02-27 22:58 ` Pedro Alves
2015-02-27 23:04 ` Simon Marchi
2015-02-09 23:51 ` Pedro Alves [this message]
2015-02-09 23:53 ` [PATCH 01/36] Create libiberty/libiberty.m4, have GDB and GDBserver use it Pedro Alves
2015-02-09 23:35 ` Pedro Alves
2015-02-27 16:23 ` Pedro Alves
2015-02-09 23:54 ` [PATCH 10/36] Add extern "C" to declarations of C symbols Pedro Alves
2015-02-11 11:51 ` Pedro Alves
2015-02-09 23:54 ` [PATCH 30/36] quit_force: Replace TRY_CATCH wrapper macros Pedro Alves
2015-02-10 0:21 ` [PATCH 24/36] breakpoint.h: move enum ‘print_stop_action’ Pedro Alves
2015-02-11 12:28 ` Yao Qi
2015-02-10 15:07 ` [PATCH 00/36] Support building GDB as a C++ program Michael Eager
2015-02-11 17:15 ` Yao Qi
2015-02-12 11:34 ` Pedro Alves
2015-02-17 23:19 ` Patrick Palka
2015-02-18 21:54 ` Yao Qi
2015-02-18 23:49 ` Patrick Palka
2015-02-27 18:19 ` Pedro Alves
2015-02-27 23:52 ` Patrick Palka
2015-02-28 0:09 ` Pedro Alves
2015-03-07 16:01 ` Pedro Alves
2015-03-07 17:58 ` [all pushed] " Pedro Alves
2015-03-16 4:42 ` asmwarrior
2015-03-16 5:05 ` asmwarrior
2015-03-16 5:22 ` asmwarrior
2015-03-16 7:15 ` asmwarrior
2015-03-16 8:20 ` asmwarrior
2015-03-16 11:43 ` [pushed] stub-termcap.c: prototype tputs's parameter's parameter, for C++ mode (Re: [all pushed] Re: [PATCH 00/36] Support building GDB as a C++ program) Pedro Alves
2015-03-16 11:46 ` [pushed] stub termcap, add extern "C" " Pedro Alves
2015-03-16 11:55 ` [all pushed] Re: [PATCH 00/36] Support building GDB as a C++ program Pedro Alves
2015-03-16 11:42 ` Pedro Alves
2015-05-15 8:13 ` asmwarrior
2015-05-15 8:24 ` asmwarrior
2015-05-15 15:09 ` Pedro Alves
2015-05-15 15:04 ` Pedro Alves
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1423524046-20605-15-git-send-email-palves@redhat.com \
--to=palves@redhat.com \
--cc=gdb-patches@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox