[Bug c++/11393] Initializer of static const float class member is not legal in c++98
rearnsha at arm dot com
gcc-bugzilla@gcc.gnu.org
Wed Jul 2 17:06:00 GMT 2003
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11393
------- Additional Comments From rearnsha at arm dot com 2003-07-02 17:06 -------
Subject: Re: Initializer of static const float class
member is not legal in c++98
> PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11393
>
>
>
> ------- Additional Comments From pinskia at physics dot uc dot edu 2003-07-02 16:47 -------
> Subject: Re: Initializer of static const float class member is not legal in c++98
>
> From <http://gcc.gnu.org/onlinedocs/gcc/Standards.html>:
> To select this standard in GCC, use one of the options -ansi, -std=c89
> or -std=iso9899:1990; to obtain all the diagnostics required by the
> standard, you should also specify -pedantic (or -pedantic-errors if you
> want them to be errors rather than warnings). See Options Controlling
> C Dialect
>
Well, for starters C++ isn't a C dialect. For seconds, it really doesn't
make sense to me that, given I can type
-std=gnu89
to get GNU extensions,
-std=c89
doesn't give me (at the very least) warnings about GNU extensions. Why
have the option at all?
We should just make the compiler use gnu89 (or gnu99, or whatever) as the
default, and have -std=c89 *mean* c89 code not something else.
Even more perverse is that
-std=gnu89 -pedantic
gives me warnings about ISO-isms.
R.
More information about the Gcc-bugs
mailing list