Remove a warning from symtab.c
authorTom Tromey <tom@tromey.com>
Fri, 18 Jan 2019 14:45:01 +0000 (07:45 -0700)
committerTom Tromey <tom@tromey.com>
Wed, 23 Jan 2019 17:34:55 +0000 (10:34 -0700)
commitae73e2e2435cb706b18ba05734aee4137a271b3c
tree674ea520b5607d956b5e43d183d0778ac18b1c07
parent6594e122864119d7b1434599c22b112f98e178ca
Remove a warning from symtab.c

When building symtab.c, I get:

../../binutils-gdb/gdb/language.h: In function ‘void print_symbol_info(search_domain, symbol*, int, const char*)’:
../../binutils-gdb/gdb/language.h:738:20: warning: ‘*((void*)& l +4)’ may be used uninitialized in this function [-Wmaybe-uninitialized]
       set_language (m_lang);
       ~~~~~~~~~~~~~^~~~~~~~
../../binutils-gdb/gdb/symtab.c:4613:41: note: ‘*((void*)& l +4)’ was declared here
   scoped_switch_to_sym_language_if_auto l (sym);
                                         ^

This is another instance of the std::optional problem, see
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80635.

However, it seemed straightforward and inexpensive to me to silence
this one, which is what this patch does.

gdb/ChangeLog
2019-01-23  Tom Tromey  <tom@tromey.com>

* language.h (class scoped_switch_to_sym_language_if_auto):
Initialize m_lang in both cases.
gdb/ChangeLog
gdb/language.h