[coreboot] [PATCH]AMDHT misbehaves on recent compilers
Kevin O'Connor
kevin at koconnor.net
Thu Jan 7 14:41:02 CET 2010
On Thu, Jan 07, 2010 at 10:09:23AM +0100, Stefan Reinauer wrote:
> On 1/7/10 5:23 AM, Kevin O'Connor wrote:
> > I don't think the above is a problem (the pointer foo resides on the
> > stack, but the string contents do not). The following is a problem:
> >
> > const char foo[]="foobar\n";
> >
> > (both the pointer and the array contents are on the stack), and indeed
> > this does generate a warning from gcc.
> >
> Not with my default 4.3.2 -Wall -Wextra
That's odd. I used:
-----------------------------------------------
#include <stdio.h>
const char *func_foo(void)
{
const char foo[]="foobar\n";
return foo;
}
int main(void)
{
const char *foo;
foo = func_foo();
printf("%s\n", foo);
return 0;
}
-----------------------------------------------
$ gcc --version
gcc (GCC) 4.4.2 20091222 (Red Hat 4.4.2-20)
$ gcc -O -Wall constonstack.c
constonstack.c: In function ‘func_foo’:
constonstack.c:5: warning: function returns address of local variable
$ gcc34 --version
gcc34 (GCC) 3.4.6 20060404 (Red Hat 3.4.6-18)
$ gcc34 -O -Wall constonstack.c
constonstack.c: In function `func_foo':
constonstack.c:5: warning: function returns address of local variable
-Kevin
More information about the coreboot
mailing list