This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: "uninitialized variable" warning from compiler
On Mon, Oct 26, 2009 at 7:36 PM, Andrew Haley <aph@redhat.com> wrote:
> Umashankar V.K. wrote:
>
>> ? ? ? I have few questions about ?inbuilt mechanism of ?gcc/g++ ?for
>> warning about ?uninitialized variable.
>>
>>
>> But then I came across the following ?failure case. ?This one ?fails
>> to ?warn when compiled with any ?level ?below 3.
>> With -O3, ?gcc ?is able to warn. ? Can someone tell me which is the
>> corresponding bug logged at bugzilla ?
>
> I don't understand why you think this is a bug in gcc. ?Inlining will
> always reveal more about the data flow of a program.
Of course, I know this is not a bug. But I didnt choose the term
here. The compiler developers prefer to
call them bugs and track them using bug-zilla.
>
> extern void foo (int *p);
>
> void bar
> {
> ?int a;
> ?foo (&a);
>
> ?printf("%d\n", a);
> }
>
> We could fix gcc so that in every case where we couldn't prove that a variable
> is initialized, we warned. ?You'd have to put up with a lot of spurious "may
> be used uninitialized" warnings.
>
> Andrew.
>
yes, i know that false positives is a concern for the compiler author.
But sometimes, a guy who is wondering
why the hell his board is crashing at random may not mind going
through a heap of compiler-warnings if he wants to rule
out that possibility. A code-misbehaviour due to uninitialised
variables can be as mysterious as one due to
stack corruption, isnt it ?
shankar
ps - I choose plain text for the messages I post. Still i see
strange characters when my post appears at
http://gcc.gnu.org/ml/gcc-help/