[binutils-gdb] Fix test for availability of emplace_back.

Cary Coutant ccoutant@sourceware.org
Mon Jul 9 23:26:00 GMT 2018


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

commit c3c5e486808bc473d1642bb4ba84d80689c8fca2
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Mon Jul 9 16:12:27 2018 -0700

    Fix test for availability of emplace_back.
    
    Testing for the GCC version 5 or later isn't right, since C++ 11 support
    wasn't enabled by default until later.  This patch tests the C++ standard
    support directly instead of inferring it from the GCC version.
    
    gold/
    	* incremental.cc (Sized_incremental_binary::setup_readers): Use
    	emplace_back for C++ 11 or later.

Diff:
---
 gold/ChangeLog      | 5 +++++
 gold/incremental.cc | 6 +++---
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/gold/ChangeLog b/gold/ChangeLog
index 83df3d8..eeb19e7 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,3 +1,8 @@
+2018-07-09  Cary Coutant  <ccoutant@gmail.com>
+
+	* incremental.cc (Sized_incremental_binary::setup_readers): Use
+	emplace_back for C++ 11 or later.
+
 2018-07-06  Alan Modra  <amodra@gmail.com>
 
 	* powerpc.cc: Include attributes.h.
diff --git a/gold/incremental.cc b/gold/incremental.cc
index 7558d14..1199fe0 100644
--- a/gold/incremental.cc
+++ b/gold/incremental.cc
@@ -311,10 +311,10 @@ Sized_incremental_binary<size, big_endian>::setup_readers()
   for (unsigned int i = 0; i < count; i++)
     {
       Input_entry_reader input_file = inputs.input_file(i);
-#if defined(__GNUC__) && __GNUC__ < 5
-      this->input_entry_readers_.push_back(Sized_input_reader(input_file));
-#else
+#if __cplusplus >= 2001103L
       this->input_entry_readers_.emplace_back(input_file);
+#else
+      this->input_entry_readers_.push_back(Sized_input_reader(input_file));
 #endif
       switch (input_file.type())
 	{



More information about the Binutils-cvs mailing list