This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Follow up on static bug (is it a bug?)
- To: gcc-bugs at gcc dot gnu dot org
- Subject: Follow up on static bug (is it a bug?)
- From: David Durham <david dot durham at wcom dot com>
- Date: Tue, 24 Jul 2001 12:02:59 -0500
To repeat...
I believe this is a bug in gcc 3.0
Forgive me if it's already known about...
The following code used to be valid ( <=2.95.3 ):
struct foo
{
char field[25];
static int getSize()
{
return(sizeof(field));
}
};
Here it reports that in foo::getSize, foo::field cannot be referenced
since it is non-static and foo::getSize is static, however the used of
sizeof/typeof/etc should make it valid. Is there something about ANSI
C99 and the fact that arrays can have non-constant sizes or something?
...
Also, since then I've discovered that the following is also invalid
sizeof(foo::field)
... or ...
(&foo::field) <- which should give the offset of the field
This is invalid in any ole non-member function
Thanks,
-- Davy