Re: [msys+mingw] build error [-Werror=uninitialized]

Yao Qi
2012-03-16T07:26:21Z

On 03/16/2012 09:56 AM, asmwarrior wrote:
> I see the build error in the latest cvs:
>
> mingw32-gcc -g -O2 -D__USE_MINGW_ACCESS -I. -I../../gdb/gdb
> -I../../gdb/gdb/common -I../../gdb/gdb/config
> -DLOCALEDIR="\"/mingw/share/locale\"" -DHAVE_CONFIG_H
> -I../../gdb/gdb/../include/opcode -I../../gdb/gdb/../opcodes/..
> -I../../gdb/gdb/../readline/.. -I../bfd -I../../gdb/gdb/../bfd
> -I../../gdb/gdb/../include -I../libdecnumber
> -I../../gdb/gdb/../libdecnumber -I../../gdb/gdb/gnulib -Ignulib
> -IE:/code/python272/include -IE:/code/python272/include -Wall
> -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral
> -Wno-pointer-sign -Wno-unused -Wunused-value -Wunused-function
> -Wno-switch -Wno-char-subscripts -Wmissing-prototypes -Wno-format
> -Werror -c -o gnu-v3-abi.o -MT gnu-v3-abi.o -MMD -MP -MF
> .deps/gnu-v3-abi.Tpo ../../gdb/gdb/gnu-v3-abi.c
> ../../gdb/gdb/gnu-v3-abi.c: In function 'print_one_vtable.isra.2':
> ../../gdb/gdb/gnu-v3-abi.c:892:33: error: 'addr' may be used
> uninitialized in this function [-Werror=uninitialized]
> cc1.exe: all warnings being treated as errors
> make[2]: *** [gnu-v3-abi.o] Error 1

I get the same error when building gdb on x86_64-linux.

>
> So, I think it can be quickly fixed by using:
> CORE_ADDR addr = 0;
>

Yes, this fixes the build error I got.

> Is this correct? I see the addr is used in the try catch block:
>
> TRY_CATCH (ex, RETURN_MASK_ERROR)
> {
> addr = value_as_address (vfn);
> }
> if (ex.reason < 0)
> printf_filtered (_("<error: %s>"), ex.message);
> else
> print_function_pointer_address (gdbarch, addr, gdb_stdout,
> opts->addressprint);
>
> Not sure why it still report such error.

I didn't see any other errors. What error did you see even after you
setting `addr' to 0?

--
Yao (é½å°§)