Oh dear. I regret to inform you that commit 'RAII-fy make_cleanup_restore_current_thread & friends' might be unfortunate

Simon Marchi simon.marchi@polymtl.ca
Thu May 4 18:15:00 GMT 2017


On 2017-05-04 12:42, Pedro Alves wrote:
> On 05/04/2017 05:06 PM, gdb-buildbot@sergiodj.net wrote:
>> g++  -g -O2   -I. -I../../binutils-gdb/gdb 
>> -I../../binutils-gdb/gdb/common -I../../binutils-gdb/gdb/config 
>> -DLOCALEDIR="\"/usr/local/share/locale\"" -DHAVE_CONFIG_H 
>> -I../../binutils-gdb/gdb/../include/opcode 
>> -I../../binutils-gdb/gdb/../opcodes/.. 
>> -I../../binutils-gdb/gdb/../readline/.. 
>> -I../../binutils-gdb/gdb/../zlib -I../bfd 
>> -I../../binutils-gdb/gdb/../bfd -I../../binutils-gdb/gdb/../include 
>> -I../libdecnumber -I../../binutils-gdb/gdb/../libdecnumber  
>> -I../../binutils-gdb/gdb/gnulib/import -Ibuild-gnulib/import   -DTUI=1 
>>   -pthread -I/usr/include/guile/2.0 -I/usr/include/python2.7 
>> -I/usr/include/python2.7 -Wall -Wpointer-arith -Wno-unused 
>> -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts 
>> -Wempty-body -Wunused-but-set-parameter -Wunused-but-set-variable 
>> -Wno-sign-compare -Wno-narrowing -Wformat-nonliteral -Werror -c -o 
>> interps.o -MT interps.o -MMD -MP -MF .deps/interps.Tpo 
>> ../../binutils-gdb/gdb/interps.c
>> In file included from ../../binutils-gdb/gdb/infrun.c:26:0:
>> ../../binutils-gdb/gdb/inferior.h: In function void 
>> handle_vfork_child_exec_or_exit(int):
>> ../../binutils-gdb/gdb/inferior.h:553:39: error: *((void*)(& 
>> maybe_restore_inferior)+40).scoped_restore_current_inferior::m_saved_inf 
>> may be used uninitialized in this function 
>> [-Werror=maybe-uninitialized]
>>    { set_current_inferior (m_saved_inf); }
>>                                        ^
>> ../../binutils-gdb/gdb/infrun.c:940:6: note: *((void*)(& 
>> maybe_restore_inferior)+40).scoped_restore_current_inferior::m_saved_inf 
>> was declared here
>>       maybe_restore_inferior;
>>       ^~~~~~~~~~~~~~~~~~~~~~
>> In file included from ../../binutils-gdb/gdb/inferior.h:46:0,
>>                  from ../../binutils-gdb/gdb/infrun.c:26:
>> ../../binutils-gdb/gdb/progspace.h:274:47: error: *((void*)(& 
>> maybe_restore_inferior)+32).scoped_restore_current_program_space::m_saved_pspace 
>> may be used uninitialized in this function 
>> [-Werror=maybe-uninitialized]
>>    { set_current_program_space (m_saved_pspace); }
>>                                                ^
>> ../../binutils-gdb/gdb/infrun.c:940:6: note: *((void*)(& 
>> maybe_restore_inferior)+32).scoped_restore_current_program_space::m_saved_pspace 
>> was declared here
>>       maybe_restore_inferior;
>>       ^~~~~~~~~~~~~~~~~~~~~~
> 
> Fun, looks like gdb::optional related ...
> 
> Thanks,
> Pedro Alves

What do you need to reproduce this?  GCC 7?



More information about the Gdb-patches mailing list