This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: Redundant warning with -Weffc++
- From: Andrew Haley <aph at redhat dot com>
- To: David Sveningsson <ext at sidvind dot com>
- Cc: gcc-help at gcc dot gnu dot org
- Date: Sun, 08 Mar 2009 17:55:28 +0000
- Subject: Re: Redundant warning with -Weffc++
- References: <49B404C6.5010605@sidvind.com>
David Sveningsson wrote:
> Hi, when I compile the code below with -Weffc++ I get warnings about the
> initialization list.
>
> class Foo {
> public:
> Foo(): x(0), y(0){
> }
>
> private:
> union {
> struct {
> float x;
> float y;
> };
> float v[2];
> };
> };
>
> initialization.cpp: In constructor ‘Foo::Foo()’:
> initialization.cpp:3: warning: ‘Foo::<anonymous>’ should be initialized
> in the member initialization list
> initialization.cpp:3: warning: ‘Foo::<anonymous union>::<anonymous>’
> should be initialized in the member initialization list
>
> I don't think this warning is correct as all memory has been initalized
> correctly.
I don't think so. We know that v is at the same address as x, but
v[1] may not be at the same address as y. However, I see your point:
there doesn't seem to be any way to make -Weffc++ work with this.
Andrew.