https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90730
Martin Sebor <msebor at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |documentation
Status|RESOLVED |UNCONFIRMED
Resolution|INVALID |---
--- Comment #3 from Martin Sebor <msebor at gcc dot gnu.org> ---
I see I missed that 'all' is also an 'option' in -fdump-tree- so all the
examples I gave in comment #0 and comment #1 are actually valid. Talk about
confusing! Even so, I don't think resolving this report as invalid is
justified.
-fdump-tree- is documented to have the following forms:
-fdump-tree-all
-fdump-tree-switch
-fdump-tree-switch-options
-fdump-tree-switch-options=filename
The 'switch' part is undocumented but it presumably corresponds to the name of
the pass/dump (which does not include 'all'). The 'options' are documented and
include 'all'. Given that, the following is invalid:
-fdump-tree-all-optimized-all
because 'all' is not the name of a pass ('switch') and -fdump-tree-all doesn't
take options. So either it should be rejected or the documentation should be
updated to mention that 'switch' can be 'all' or the name of a pass,
analogously to what -fdump-lang-all documents.
Incidentally, -fdump-rtl-pass refers to a pass, while -fdump-tree-switch (and
others) to a switch. Besides inconsistent it's also confusing: unless there is
a difference between a 'pass' and a 'switch' here they should all use the same
term. That way, the term could also be documented in the same place for all
these options (in a generic way).
On the subject of -fdump-rtl-all, these are also accepted:
-fdump-rtl-all-all
-fdump-rtl-combine-all
-fdump-rtl-combine-details
but this gets a warning:
-fdump-rtl-all-combine: warning: ignoring unknown option ‘combine’
The dump produced by -fdump-rtl-combine-all is more detailed so it looks like
besides an RTL pass name, -fdump-rtl- also takes 'options' similarly to
-fdump-tree-. This should also be documented.