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.