diff options
author | Cary Coutant <ccoutant@gmail.com> | 2018-06-22 18:19:51 -0700 |
---|---|---|
committer | Cary Coutant <ccoutant@gmail.com> | 2018-06-22 18:19:51 -0700 |
commit | a1893a821c4a2e953d13b97360b85650f2127134 (patch) | |
tree | 1f388308d04c063ce8ada1ca1be3174cc6e87bbf /gold/incremental.cc | |
parent | 2e7a29d5701d6b320cddf0b1677116d2fe49587b (diff) | |
download | gdb-a1893a821c4a2e953d13b97360b85650f2127134.zip gdb-a1893a821c4a2e953d13b97360b85650f2127134.tar.gz gdb-a1893a821c4a2e953d13b97360b85650f2127134.tar.bz2 |
Silence GCC 9 error about deprecated implicit copy constructor.
Replacing push_back() with emplace_back() eliminates the calls to the
copy constructor, but I still had to provide explicit copy constructors
because of the call to vector::reserve(), which tries to instantiate them
even though they'll never actually be called when reserve() is called
on an empty vector.
gold/
* incremental.cc (Sized_incremental_binary::setup_readers): Use
emplace_back for GCC 5 and later.
* incremental.h (Incremental_binary::Input_reader): Provide copy
constructor.
(Sized_incremental_binary::Sized_input_reader): Likewise.
Diffstat (limited to 'gold/incremental.cc')
-rw-r--r-- | gold/incremental.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gold/incremental.cc b/gold/incremental.cc index 21f060c..7558d14 100644 --- a/gold/incremental.cc +++ b/gold/incremental.cc @@ -311,7 +311,11 @@ 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 + this->input_entry_readers_.emplace_back(input_file); +#endif switch (input_file.type()) { case INCREMENTAL_INPUT_OBJECT: |