aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@efficios.com>2019-08-25 21:30:02 -0400
committerSimon Marchi <simon.marchi@efficios.com>2019-08-25 21:30:12 -0400
commit23c13d42999cdcf9d224f089891fd3f3c8bdc6aa (patch)
tree67385ff61a176a1680fbb2406dd614bd6a4fd92e
parentc9d136dade34a9f15547870f1c59c231d89ded8f (diff)
downloadgdb-23c13d42999cdcf9d224f089891fd3f3c8bdc6aa.zip
gdb-23c13d42999cdcf9d224f089891fd3f3c8bdc6aa.tar.gz
gdb-23c13d42999cdcf9d224f089891fd3f3c8bdc6aa.tar.bz2
dwarf2read: fix compilation issue with gcc 4.8
gcc 4.8 (and probably other versions too) doesn't like that the local variable symbol_linkage has the same name as the enum class defined in the same context: CXX dwarf2read.o /home/smarchi/src/binutils-gdb/gdb/dwarf2read.c: In member function ‘dwarf2_per_cu_data* dw2_debug_names_iterator::next()’: /home/smarchi/src/binutils-gdb/gdb/dwarf2read.c:5850:22: error: ‘symbol_linkage’ is not a class, namespace, or enumeration } symbol_linkage = symbol_linkage::unknown; ^ Rename the local variable to avoid this. This problem was originally reported with the Netbsd builder on the buildbot, which uses gcc 5.5, I believe. I am not able to test it on that builder right now, but chances are that the fix will work there too. gdb/ChangeLog: * dwarf2read.c (dw2_debug_names_iterator::next): Rename local variable symbol_linkage to symbol_linkage_.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/dwarf2read.c11
2 files changed, 11 insertions, 5 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 5f64ca6..d4b1e53 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
2019-08-25 Simon Marchi <simon.marchi@efficios.com>
+ * dwarf2read.c (dw2_debug_names_iterator::next): Rename local
+ variable symbol_linkage to symbol_linkage_.
+
+2019-08-25 Simon Marchi <simon.marchi@efficios.com>
+
* dwarf2read.c (dw2_debug_names_iterator::next): Use enum to
represent whether the symbol is static, dynamic, or we don't
know.
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index a0b989f..af4af19 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -5847,7 +5847,7 @@ dw2_debug_names_iterator::next ()
unknown,
static_,
extern_,
- } symbol_linkage = symbol_linkage::unknown;
+ } symbol_linkage_ = symbol_linkage::unknown;
dwarf2_per_cu_data *per_cu = NULL;
for (const mapped_debug_names::index_val::attr &attr : indexval.attr_vec)
{
@@ -5899,12 +5899,12 @@ dw2_debug_names_iterator::next ()
case DW_IDX_GNU_internal:
if (!m_map.augmentation_is_gdb)
break;
- symbol_linkage = symbol_linkage::static_;
+ symbol_linkage_ = symbol_linkage::static_;
break;
case DW_IDX_GNU_external:
if (!m_map.augmentation_is_gdb)
break;
- symbol_linkage = symbol_linkage::extern_;
+ symbol_linkage_ = symbol_linkage::extern_;
break;
}
}
@@ -5914,10 +5914,11 @@ dw2_debug_names_iterator::next ()
goto again;
/* Check static vs global. */
- if (symbol_linkage != symbol_linkage::unknown && m_block_index.has_value ())
+ if (symbol_linkage_ != symbol_linkage::unknown && m_block_index.has_value ())
{
const bool want_static = *m_block_index == STATIC_BLOCK;
- const bool symbol_is_static = symbol_linkage == symbol_linkage::static_;
+ const bool symbol_is_static =
+ symbol_linkage_ == symbol_linkage::static_;
if (want_static != symbol_is_static)
goto again;
}