On 11/05/2015 10:09 AM, Segher Boessenkool wrote:
On Thu, Nov 05, 2015 at 08:58:25AM -0700, Martin Sebor wrote:
I don't think that reiterating in a condensed form what the manual
doesn't make clear in many more words will help. First, even users
who do find the relevant text in the manual often misunderstand it.
Others are misled by the "[enabled]" output into expecting the
optimizations to take place at -O0.
The -Q --help* output is primarily aimed at GCC developers, just
like plain -Q is. The main problem here seems to be that the
documentation pushes beginner GCC users to use this.
Perhaps we should have a higher-level, more easy to use way to query
what flags will do what, possibly integrated with the pass manager.
I think that would be ideal (i.e., hiding each flag_xxx under
a get_flag_xxx() and set_flag_xxx() interface that would make
it possible to compute and dynamically query individual option
settings based on non-trivial dependencies). It strikes me as
quite a project.
Those who are in doubt and
ask on gcc-help are then told by GCC experts that -O0 disables
all optimizations without exception,
And it does, for the plain meaning of "optimization"; anything else
is arguably a bug. But people have many different understandings
of what a "compiler optimization" is, all the way to "anything the
compiler does".
Yes, that also sometimes causes confusion, though it's not something
I'm trying to solve with this patch.
Martin