Strange warning in 970907
Teemu Torma
tot@Trema.COM
Wed Sep 10 00:55:00 GMT 1997
In the following piece of code, gcc complains about returning
reference to local variable, even though the local variable is already
a reference. 2.7.2 works ok.
x.cc: In function `int & bug2()':
x.cc:5: warning: reference to local variable `bug' returned
----------------------------------------------------------------------
extern int &bug1 ();
int &bug2 ()
{
int &bug = bug1 ();
return bug;
}
----------------------------------------------------------------------
$ gcc -v -c x.cc
Reading specs from /usr/gnu/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.90.06/specs
gcc version egcs-2.90.06 970907 (gcc2-970802 experimental)
/usr/gnu/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.90.06/cpp -lang-c++ -v -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -D__GNUC_MINOR__=90 -Dsun -Dsparc -Dunix -D__svr4__ -D__SVR4 -D__GCC_NEW_VARARGS__ -D__sun__ -D__sparc__ -D__unix__ -D__svr4__ -D__SVR4 -D__GCC_NEW_VARARGS__ -D__sun -D__sparc -D__unix -Asystem(unix) -Asystem(svr4) -Acpu(sparc) -Amachine(sparc) -D__EXCEPTIONS -D__sparc_v9__ x.cc /var/tmp/cca003Yr.ii
GNU CPP version egcs-2.90.06 970907 (gcc2-970802 experimental) (sparc)
#include "..." search starts here:
#include <...> search starts here:
/usr/gnu/lib/g++-include
/usr/local/include
/usr/gnu/sparc-sun-solaris2.5.1/include
/usr/gnu/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.90.06/include
/usr/include
End of search list.
/usr/gnu/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.90.06/cc1plus /var/tmp/cca003Yr.ii -quiet -dumpbase x.cc -version -o /var/tmp/cca003Yr.s
GNU C++ version egcs-2.90.06 970907 (gcc2-970802 experimental) (sparc-sun-solaris2.5.1) compiled by GNU C version egcs-2.90.06 970907 (gcc2-970802 experimental).
x.cc: In function `int & bug2()':
x.cc:5: warning: reference to local variable `bug' returned
/usr/ccs/bin/as -V -Qy -s -xarch=v8plus -o x.o /var/tmp/cca003Yr.s
/usr/ccs/bin/as: SC4.2 dev 30 Nov 1995
----------------------------------------------------------------------
Teemu
More information about the Gcc-bugs
mailing list