[Bug c/69981] -f[no]keep-static-consts has no effect
equinox-gccbugs at diac24 dot net
gcc-bugzilla@gcc.gnu.org
Fri Feb 26 15:29:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69981
--- Comment #5 from David L. <equinox-gccbugs at diac24 dot net> ---
(In reply to David L. from comment #4)
> Poking around a bit, in wrapup_global_declaration_2() in gcc/toplev.c, the
> check for
> else if (TREE_READONLY (decl) && !TREE_PUBLIC (decl)
> && (optimize || !flag_keep_static_consts
> || DECL_ARTIFICIAL (decl)))
> is never hit because the earlier
> else if (node && node->definition)
>
> needed = false;
> is taken (on both -O0 or -O1).
>
> Thus, the value of flag_keep_static_consts is irrelevant (and this is the
> only place in the code where it's used...)
If I put a "static const int intvalnoinit;" into my test source,
-fno-keep-static-consts does actually have an effect on that.
It seems a little counterintuitive to me though that static consts only get
removed if they have no initialiser...
More information about the Gcc-bugs
mailing list