Warnings with -Og - gcc 4.8
Lars Gullik Bjønnes
larsbj@gullik.org
Tue Mar 5 19:05:00 GMT 2013
Jeffrey Walton <noloader@gmail.com> writes:
| On Tue, Mar 5, 2013 at 1:41 PM, Lars Gullik Bjønnes <larsbj@gullik.org> wrote:
>> I get a lot of warnings with -Og and gcc from trunk.
>> I do not get these warnings with any other warning level.
>>
>> This is a reduced example:
>> ----------
>> int foo(void);
>>
>> int failing(void)
>> {
>> int r;
>> unsigned int i;
>> struct h * p[3];
>>
>> for (i = 0; i < sizeof(p) / sizeof(p[0]); ++i) {
>> r = foo();
>> if (r != 0)
>> break;
>> }
>> return r >= 0;
>> }
>> -----------
>>
>> Compile with: gcc -Og -Wall -c fil.c
>>
>> gcc --version
>> gcc (GCC) 4.8.0 20130304 (experimental)
>>
>> Should I create a bug on this, or will someone else handle that?
| What warnings?
$ gcc -Og -Wall -c fil.c
fil.c: In function ‘failing’:
fil.c:14:11: warning: ‘r’ may be used uninitialized in this function [-Wmaybe-uninitialized]
return r >= 0;
^
| The code does not look correct to me (but I could be wrong). Does
| 'sizeof(p) / sizeof(p[0])' produce correct results when using
| pointers?
I belive that part to be correct.
--
Lgb
More information about the Gcc-help
mailing list