On Wed, 16 May 2018, Martin Liška wrote:
> > I recall Jakub recently applied a tree-wide change of A < B && B < C to read
> > B > A && B < C.
> 
> Can you please point to a revision where it was done?

It is SVN r255831, mailing list thread here ("Replace Yoda conditions"):
https://gcc.gnu.org/ml/gcc-patches/2017-12/msg01257.html

In your revised patch:

> --- a/gcc/dbgcnt.c
> +++ b/gcc/dbgcnt.c
> @@ -41,53 +41,90 @@ static struct string2counter_map 
> map[debug_counter_number_of_counters] =
>  #undef DEBUG_COUNTER
>  
>  #define DEBUG_COUNTER(a) UINT_MAX,
> -static unsigned int limit[debug_counter_number_of_counters] =
> +static unsigned int limit_high[debug_counter_number_of_counters] =
>  {
>  #include "dbgcnt.def"
>  };
>  #undef DEBUG_COUNTER
>  
> +#define DEBUG_COUNTER(a) 0,
> +static unsigned int limit_low[debug_counter_number_of_counters] =
> +{
> +#include "dbgcnt.def"
> +};
> +#undef DEBUG_COUNTER

No need to spell out the all-zeros initializer of a static object:

static unsigned int limit_low[debug_counter_number_of_counters];

> --- a/gcc/doc/invoke.texi
> +++ b/gcc/doc/invoke.texi
> @@ -14326,14 +14326,17 @@ Print the name and the counter upper bound for all 
> debug counters.
>  
>  @item -fdbg-cnt=@var{counter-value-list}
>  @opindex fdbg-cnt
> -Set the internal debug counter upper bound.  @var{counter-value-list}
> -is a comma-separated list of @var{name}:@var{value} pairs
> -which sets the upper bound of each debug counter @var{name} to @var{value}.
> +Set the internal debug counter lower and upper bound.  
> @var{counter-value-list}
> +is a comma-separated list of @var{name}:@var{lower_bound}:@var{upper_bound}
> +tuples which sets the lower and the upper bound of each debug
> +counter @var{name}.  The @var{lower_bound} is optional and is zero
> +initialized if not set.
>  All debug counters have the initial upper bound of @code{UINT_MAX};
>  thus @code{dbg_cnt} returns true always unless the upper bound
>  is set by this option.
> -For example, with @option{-fdbg-cnt=dce:10,tail_call:0},
> -@code{dbg_cnt(dce)} returns true only for first 10 invocations.
> +For example, with @option{-fdbg-cnt=dce:9:10,tail_call:10},
> +@code{dbg_cnt(dce)} returns true only for 10th and 11th invocation.
> +For @code{dbg_cnt(tail_call)} true is returned for first 11 invocations.

Hm, is the off-by-one in the new explanatory text really intended? I think
the previous text was accurate, and the new text should say "9th and 10th"
and then "first 10 invocations", unless I'm missing something?

Alexander

Reply via email to