diff options
author | Simon Marchi <simon.marchi@efficios.com> | 2019-08-25 21:30:02 -0400 |
---|---|---|
committer | Simon Marchi <simon.marchi@efficios.com> | 2019-08-25 21:30:12 -0400 |
commit | 23c13d42999cdcf9d224f089891fd3f3c8bdc6aa (patch) | |
tree | 67385ff61a176a1680fbb2406dd614bd6a4fd92e /gdb/dwarf2read.c | |
parent | c9d136dade34a9f15547870f1c59c231d89ded8f (diff) | |
download | gdb-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_.
Diffstat (limited to 'gdb/dwarf2read.c')
-rw-r--r-- | gdb/dwarf2read.c | 11 |
1 files changed, 6 insertions, 5 deletions
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; } |