public inbox for gdb-cvs@sourceware.org
help / color / mirror / Atom feed
* [binutils-gdb] dwarf2read: fix compilation issue with gcc 4.8
@ 2019-08-26  1:33 Simon Marchi
  0 siblings, 0 replies; only message in thread
From: Simon Marchi @ 2019-08-26  1:33 UTC (permalink / raw)
  To: gdb-cvs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="us-ascii", Size: 3338 bytes --]

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=23c13d42999cdcf9d224f089891fd3f3c8bdc6aa

commit 23c13d42999cdcf9d224f089891fd3f3c8bdc6aa
Author: Simon Marchi <simon.marchi@efficios.com>
Date:   Sun Aug 25 21:30:02 2019 -0400

    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_.

Diff:
---
 gdb/ChangeLog    |  5 +++++
 gdb/dwarf2read.c | 11 ++++++-----
 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;
     }


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2019-08-26  1:33 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-26  1:33 [binutils-gdb] dwarf2read: fix compilation issue with gcc 4.8 Simon Marchi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).