Hello. We have various enum options that do not properly display options with --help=*: Apart from that, some of them are not separated by tabular, but with a space.
Using the suggested patch, --help=common will get: --- /tmp/before 2017-02-28 10:41:12.107024945 +0100 +++ /tmp/after 2017-02-28 10:41:32.615415978 +0100 @@ -193,7 +193,7 @@ -ffloat-store [disabled] -fforce-addr -fforward-propagate [disabled] - -ffp-contract= fast + -ffp-contract=[off|on|fast] fast -ffp-int-builtin-inexact [enabled] -ffunction-cse [enabled] -ffunction-sections [disabled] @@ -242,10 +242,10 @@ -fipa-sra [disabled] -fipa-struct-reorg -fipa-vrp [disabled] - -fira-algorithm= CB + -fira-algorithm=[CB|priority] CB -fira-hoist-pressure [enabled] -fira-loop-pressure [disabled] - -fira-region= [default] + -fira-region=[one|all|mixed] [default] -fira-share-save-slots [enabled] -fira-share-spill-slots [enabled] -fira-verbose=<number> 0x5 @@ -336,7 +336,7 @@ -fregmove -frename-registers [enabled] -freorder-blocks [disabled] - -freorder-blocks-algorithm= simple + -freorder-blocks-algorithm=[simple|stc] simple -freorder-blocks-and-partition [disabled] -freorder-functions [disabled] -freport-bug [disabled] @@ -386,7 +386,7 @@ -fshrink-wrap-separate [enabled] -fsignaling-nans [disabled] -fsigned-zeros [enabled] - -fsimd-cost-model= unlimited + -fsimd-cost-model=[unlimited|dynamic|cheap] unlimited -fsingle-precision-constant [disabled] -fsplit-ivs-in-unroller [enabled] -fsplit-loops [disabled] @@ -404,7 +404,7 @@ -fstack-protector-all [disabled] -fstack-protector-explicit [disabled] -fstack-protector-strong [disabled] - -fstack-reuse= all + -fstack-reuse=[all|named_vars|none] all -fstack-usage [disabled] -fstdarg-opt [enabled] -fstore-merging [disabled] @@ -489,7 +489,7 @@ -fvar-tracking-uninit [disabled] -fvariable-expansion-in-unroller [disabled] -fvect-cost-model - -fvect-cost-model= [default] + Specifies the cost model for vectorization. -fvect-cost-model=[unlimited|dynamic|cheap] [default] -fverbose-asm [disabled] -fversion -fvisibility=[default|internal|hidden|protected] default Ready to be installed after regression tests? Thanks, Martin
>From 13f710c2487fbd74d6b8a01dab7d33b9e0614727 Mon Sep 17 00:00:00 2001 From: marxin <mli...@suse.cz> Date: Sun, 26 Feb 2017 23:00:02 +0100 Subject: [PATCH 1/3] Add tabulars for options with enum values. gcc/ChangeLog: 2017-02-28 Martin Liska <mli...@suse.cz> * common.opt: Fix --help=option -Q for options which are of an enum type. gcc/c-family/ChangeLog: 2017-02-28 Martin Liska <mli...@suse.cz> * c.opt: Fix --help=option -Q for options which are of an enum type. --- gcc/c-family/c.opt | 2 +- gcc/common.opt | 13 +++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt index a863471da7f..9b9aab44810 100644 --- a/gcc/c-family/c.opt +++ b/gcc/c-family/c.opt @@ -293,7 +293,7 @@ Warn about 'new' of type with extended alignment without -faligned-new. Waligned-new= C++ ObjC++ Var(warn_aligned_new) Enum(warn_aligned_new_level) Joined RejectNegative Warning LangEnabledBy(C++ ObjC++,Wall,1,0) --Waligned-new=all Warn even if 'new' uses a class member allocation function. +-Waligned-new=[none|global|all] Warn even if 'new' uses a class member allocation function. Wall C ObjC C++ ObjC++ Warning diff --git a/gcc/common.opt b/gcc/common.opt index e5ae364abd9..1a19847fe44 100644 --- a/gcc/common.opt +++ b/gcc/common.opt @@ -1376,7 +1376,7 @@ Perform a forward propagation pass on RTL. ffp-contract= Common Joined RejectNegative Enum(fp_contract_mode) Var(flag_fp_contract_mode) Init(FP_CONTRACT_FAST) Optimization --ffp-contract=[off|on|fast] Perform floating-point expression contraction. +-ffp-contract=[off|on|fast] Perform floating-point expression contraction. Enum Name(fp_contract_mode) Type(enum fp_contract_mode) UnknownError(unknown floating point contraction style %qs) @@ -1528,7 +1528,7 @@ Perform conversion of conditional jumps to conditional execution. fstack-reuse= Common Joined RejectNegative Enum(stack_reuse_level) Var(flag_stack_reuse) Init(SR_ALL) Optimization --fstack-reuse=[all|named_vars|none] Set stack reuse level for local variables. +-fstack-reuse=[all|named_vars|none] Set stack reuse level for local variables. Enum Name(stack_reuse_level) Type(enum stack_reuse_level) UnknownError(unknown Stack Reuse Level %qs) @@ -1661,7 +1661,7 @@ Perform IPA Value Range Propagation. fira-algorithm= Common Joined RejectNegative Enum(ira_algorithm) Var(flag_ira_algorithm) Init(IRA_ALGORITHM_CB) Optimization --fira-algorithm=[CB|priority] Set the used IRA algorithm. +-fira-algorithm=[CB|priority] Set the used IRA algorithm. Enum Name(ira_algorithm) Type(enum ira_algorithm) UnknownError(unknown IRA algorithm %qs) @@ -1674,7 +1674,7 @@ Enum(ira_algorithm) String(priority) Value(IRA_ALGORITHM_PRIORITY) fira-region= Common Joined RejectNegative Enum(ira_region) Var(flag_ira_region) Init(IRA_REGION_AUTODETECT) Optimization --fira-region=[one|all|mixed] Set regions for IRA. +-fira-region=[one|all|mixed] Set regions for IRA. Enum Name(ira_region) Type(enum ira_region) UnknownError(unknown IRA region %qs) @@ -2073,7 +2073,7 @@ Reorder basic blocks to improve code placement. freorder-blocks-algorithm= Common Joined RejectNegative Enum(reorder_blocks_algorithm) Var(flag_reorder_blocks_algorithm) Init(REORDER_BLOCKS_ALGORITHM_SIMPLE) Optimization --freorder-blocks-algorithm=[simple|stc] Set the used basic block reordering algorithm. +-freorder-blocks-algorithm=[simple|stc] Set the used basic block reordering algorithm. Enum Name(reorder_blocks_algorithm) Type(enum reorder_blocks_algorithm) UnknownError(unknown basic block reordering algorithm %qs) @@ -2691,10 +2691,11 @@ Enable basic block vectorization (SLP) on trees. fvect-cost-model= Common Joined RejectNegative Enum(vect_cost_model) Var(flag_vect_cost_model) Init(VECT_COST_MODEL_DEFAULT) Optimization Specifies the cost model for vectorization. +-fvect-cost-model=[unlimited|dynamic|cheap] Specifies the cost model for vectorization. fsimd-cost-model= Common Joined RejectNegative Enum(vect_cost_model) Var(flag_simd_cost_model) Init(VECT_COST_MODEL_UNLIMITED) Optimization -Specifies the vectorization cost model for code marked with a simd directive. +-fsimd-cost-model=[unlimited|dynamic|cheap] Specifies the vectorization cost model for code marked with a simd directive. Enum Name(vect_cost_model) Type(enum vect_cost_model) UnknownError(unknown vectorizer cost model %qs) -- 2.11.1