Kevin Grittner <kgrittn@ymail.com> wrote:
>> int warning_test(int a);
>> int warning_test(int a)
>> {
>> int result;
>>
>> if (a == 1)
>> result = 1;
>>
>> return result;
>> }
I had to file separate bug reports for gcc and clang. I have
already gotten a response on the clang bug report using the above
test code. It was closed with this response:
Fixed from clang 3.3
warning_test.c:8:6: warning: variable 'result' is used uninitialized whenever 'if' condition is
false [-Wsometimes-uninitialized]
if (a == 1)
^~~~~~
warning_test.c:11:9: note: uninitialized use occurs here
return result;
^~~~~~
warning_test.c:8:2: note: remove the 'if' if its condition is always true
if (a == 1)
^~~~~~~~~~~
warning_test.c:6:14: note: initialize the variable 'result' to silence this warning
int result;
^
= 0
** Changed in: clang (Ubuntu)
Status: New => Fix Released
I take that to say that the bug will be fixed in clang version 3.3,
which is not available in any production release of Ubuntu.
--
Kevin Grittner
EDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company