From 30649c145114fe3aac089bf06e9457238d46341b Mon Sep 17 00:00:00 2001 From: Philipp Rudo Date: Fri, 24 Nov 2017 11:05:57 +0100 Subject: [PATCH] Workaround build bug with GCC 6.2.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Building GDB with GCC 6.2.1 gives multiple errors like gdb/dtrace-probe.c: In member function ‘void dtrace_probe::build_arg_exprs(gdbarch*)’: gdb/dtrace-probe.c:627:8: error: types may not be defined in a for-range-declaration [-Werror] for (struct dtrace_probe_arg &arg : m_args Fix it by removing the 'struct' keyword. A similar Bug was already fixed for GCC 6.3.1 https://sourceware.org/ml/gdb-patches/2017-10/msg00442.html gdb/ChangeLog: * dtrace-probe.c (dtrace_probe::build_arg_exprs) (dtrace_probe::is_enabled, dtrace_probe::enable) (dtrace_probe::disable): Remove keyword 'struct' at for-range variable * probe.c (gen_ui_out_table_header_info) (print_ui_out_not_applicables): Remove keyword 'struct' at for-range variable --- gdb/ChangeLog | 10 ++++++++++ gdb/dtrace-probe.c | 8 ++++---- gdb/probe.c | 4 ++-- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 891abe626f9..5acd913656f 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,13 @@ +2017-11-24 Philipp Rudo + + * dtrace-probe.c (dtrace_probe::build_arg_exprs) + (dtrace_probe::is_enabled, dtrace_probe::enable) + (dtrace_probe::disable): Remove keyword 'struct' at for-range + variable + * probe.c (gen_ui_out_table_header_info) + (print_ui_out_not_applicables): Remove keyword 'struct' at + for-range variable + 2017-11-24 Alan Hayward * configure.tgt: Add arch/aarch64.o diff --git a/gdb/dtrace-probe.c b/gdb/dtrace-probe.c index ace3d306a14..1c88f890540 100644 --- a/gdb/dtrace-probe.c +++ b/gdb/dtrace-probe.c @@ -624,7 +624,7 @@ dtrace_probe::build_arg_exprs (struct gdbarch *gdbarch) /* Iterate over the arguments in the probe and build the corresponding GDB internal expression that will generate the value of the argument when executed at the PC of the probe. */ - for (struct dtrace_probe_arg &arg : m_args) + for (dtrace_probe_arg &arg : m_args) { struct cleanup *back_to; struct parser_state pstate; @@ -684,7 +684,7 @@ dtrace_probe::is_enabled () const { struct gdbarch *gdbarch = this->get_gdbarch (); - for (const struct dtrace_probe_enabler &enabler : m_enablers) + for (const dtrace_probe_enabler &enabler : m_enablers) if (!gdbarch_dtrace_probe_is_enabled (gdbarch, enabler.address)) return false; @@ -796,7 +796,7 @@ dtrace_probe::enable () /* Iterate over all defined enabler in the given probe and enable them all using the corresponding gdbarch hook. */ - for (const struct dtrace_probe_enabler &enabler : m_enablers) + for (const dtrace_probe_enabler &enabler : m_enablers) if (gdbarch_dtrace_enable_probe_p (gdbarch)) gdbarch_dtrace_enable_probe (gdbarch, enabler.address); } @@ -826,7 +826,7 @@ dtrace_probe::disable () /* Iterate over all defined enabler in the given probe and disable them all using the corresponding gdbarch hook. */ - for (struct dtrace_probe_enabler &enabler : m_enablers) + for (dtrace_probe_enabler &enabler : m_enablers) if (gdbarch_dtrace_disable_probe_p (gdbarch)) gdbarch_dtrace_disable_probe (gdbarch, enabler.address); } diff --git a/gdb/probe.c b/gdb/probe.c index 1be8faad353..e20bf31630a 100644 --- a/gdb/probe.c +++ b/gdb/probe.c @@ -367,7 +367,7 @@ gen_ui_out_table_header_info (const std::vector &probes, std::vector headings = spops->gen_info_probes_table_header (); - for (const struct info_probe_column &column : headings) + for (const info_probe_column &column : headings) { size_t size_max = strlen (column.print_name); @@ -410,7 +410,7 @@ print_ui_out_not_applicables (const static_probe_ops *spops) std::vector headings = spops->gen_info_probes_table_header (); - for (const struct info_probe_column &column : headings) + for (const info_probe_column &column : headings) current_uiout->field_string (column.field_name, _("n/a")); } -- 2.30.2