This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
c/10480: Bogus warning about non-static const member
- From: porten at kde dot org
- To: gcc-gnats at gcc dot gnu dot org
- Date: 24 Apr 2003 12:18:43 -0000
- Subject: c/10480: Bogus warning about non-static const member
- Reply-to: porten at kde dot org
>Number: 10480
>Category: c
>Synopsis: Bogus warning about non-static const member
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Apr 24 12:26:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator: Harri Porten
>Release: gcc 3.2
>Organization:
>Environment:
i686-pc-linux-gnu
>Description:
When compiling this piece of code with -W
static const struct {
const char* const s;
} f[] = { { "foo" }, { "bar" } };
the compiler emits the warning:
foo.c:2: warning: non-static const member `const char* const <anonymous struct>::s' in class without a constructor
Under normal circumstances I think I do understand the warning. But in this particular case instances of the
struct
a) are initialized explictly
b) can't be created by anywhere else because the struct
is anonymous
So I think the warning is not justified.
Harri.
>How-To-Repeat:
gcc -W foo.c
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted: