gold: Move sym declaration just before use

Move sym declaration just before use to avoid -Wmaybe-uninitialized
warning from GCC 11.

	PR gold/27097
	* incremental.cc (Sized_relobj_incr::do_add_symbols): Move sym
	declaration just before use.
	(Sized_incr_dynobj::do_add_symbols): Likewise.
	* plugin.cc (Sized_pluginobj::do_add_symbols): Likewise.
This commit is contained in:
H.J. Lu 2020-12-19 13:30:39 -08:00
parent 60108e47b5
commit 97aac4ec32
3 changed files with 11 additions and 3 deletions

View File

@ -1,3 +1,11 @@
2020-12-19 H.J. Lu <hjl.tools@gmail.com>
PR gold/27097
* incremental.cc (Sized_relobj_incr::do_add_symbols): Move sym
declaration just before use.
(Sized_incr_dynobj::do_add_symbols): Likewise.
* plugin.cc (Sized_pluginobj::do_add_symbols): Likewise.
2020-12-15 Cary Coutant <ccoutant@gmail.com>
* dwp.cc (class Dwo_file): Use new Ehdr::get_ei_osabi and

View File

@ -2129,7 +2129,6 @@ Sized_relobj_incr<size, big_endian>::do_add_symbols(
{
const int sym_size = elfcpp::Elf_sizes<size>::sym_size;
unsigned char symbuf[sym_size];
elfcpp::Sym<size, big_endian> sym(symbuf);
elfcpp::Sym_write<size, big_endian> osym(symbuf);
typedef typename elfcpp::Elf_types<size>::Elf_WXword Elf_size_type;
@ -2196,6 +2195,7 @@ Sized_relobj_incr<size, big_endian>::do_add_symbols(
osym.put_st_other(gsym.get_st_other());
osym.put_st_shndx(shndx);
elfcpp::Sym<size, big_endian> sym(symbuf);
Symbol* res = symtab->add_from_incrobj(this, name, NULL, &sym);
if (shndx != elfcpp::SHN_UNDEF)
@ -2730,7 +2730,6 @@ Sized_incr_dynobj<size, big_endian>::do_add_symbols(
{
const int sym_size = elfcpp::Elf_sizes<size>::sym_size;
unsigned char symbuf[sym_size];
elfcpp::Sym<size, big_endian> sym(symbuf);
elfcpp::Sym_write<size, big_endian> osym(symbuf);
unsigned int nsyms = this->input_reader_.get_global_symbol_count();
@ -2795,6 +2794,7 @@ Sized_incr_dynobj<size, big_endian>::do_add_symbols(
osym.put_st_other(gsym.get_st_other());
osym.put_st_shndx(shndx);
elfcpp::Sym<size, big_endian> sym(symbuf);
Sized_symbol<size>* res =
symtab->add_from_incrobj<size, big_endian>(this, name, NULL, &sym);
this->symbols_[i] = res;

View File

@ -1397,7 +1397,6 @@ Sized_pluginobj<size, big_endian>::do_add_symbols(Symbol_table* symtab,
{
const int sym_size = elfcpp::Elf_sizes<size>::sym_size;
unsigned char symbuf[sym_size];
elfcpp::Sym<size, big_endian> sym(symbuf);
elfcpp::Sym_write<size, big_endian> osym(symbuf);
Plugin_recorder* recorder = parameters->options().plugins()->recorder();
@ -1480,6 +1479,7 @@ Sized_pluginobj<size, big_endian>::do_add_symbols(Symbol_table* symtab,
osym.put_st_other(vis, 0);
osym.put_st_shndx(shndx);
elfcpp::Sym<size, big_endian> sym(symbuf);
this->symbols_[i] =
symtab->add_from_pluginobj<size, big_endian>(this, name, ver, &sym);
}