This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: Reference declaration with self-assignment. Is it legal? G++ says it is!
- From: Marc Glisse <marc dot glisse at inria dot fr>
- To: Carlos Ferreira <carlosmf dot pt at gmail dot com>
- Cc: gcc-help at gcc dot gnu dot org
- Date: Fri, 15 May 2015 12:55:52 +0200 (CEST)
- Subject: Re: Reference declaration with self-assignment. Is it legal? G++ says it is!
- Authentication-results: sourceware.org; auth=none
- References: <CAJpYY6UtJKY8GoX87njvgzg4HZxtZZ0boaukp69Y3mmbBupT6w at mail dot gmail dot com>
- Reply-to: gcc-help at gcc dot gnu dot org
On Fri, 15 May 2015, Carlos Ferreira wrote:
Hello to all!
I would like to make a quick question.
G++ seems to allow this:
int& x = x;
which creates a null int reference. Why does G++ allows this? Is it a
standard thing? This doesn't even generates a warning, and such code can
easily cause a segfault.
I am actually getting 2 warnings with g++-5 -Wall:
x.c:2:7: warning: reference 'i' is initialized with itself [-Winit-self]
int&i=i;
^
x.c:2:9: warning: 'i' is used uninitialized in this function
[-Wuninitialized]
int&i=i;
^
--
Marc Glisse