False positive from -Warray-bounds?

Lars Gullik Bjønnes larsbj@gullik.org
Thu Dec 29 22:02:00 GMT 2011

I have this code:

unsigned int f(unsigned int value)
    unsigned int i = (value & 0xffff);
    return (i == 0xffff ? 0xffffffff : i);

static int *arr1[10];

void t(unsigned int s)
    arr1[f(s)] = 0;
    arr1[f(s)] = 0;

When compiled with 'gcc -Wall -Wextra -c' I get a warning about
"subscript is above array bounds".
Shouldn't the -Warray-bounds only warn if will _always_ be out-of-bounds?

Is this a false positive, or is there something that I am completely missing?

I see this with gcc from trunk (some days ago), and with redhat gcc 4.6.2-1.


More information about the Gcc-help mailing list