c/10480: Bogus warning about non-static const member

porten@kde.org porten@kde.org
Thu Apr 24 13:19:00 GMT 2003


>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:



More information about the Gcc-bugs mailing list