[PATCH] analyzer: Impose recursion limit on indirect calls.

David Malcolm dmalcolm@redhat.com
Wed Aug 25 15:05:29 GMT 2021


On Wed, 2021-08-25 at 20:31 +0530, Ankur Saini wrote:
> 
> 
> > On 25-Aug-2021, at 7:24 PM, Martin Liška <mliska@suse.cz> wrote:
> > 
> > On 8/25/21 15:22, David Malcolm via Gcc-patches wrote:
> > > On Wed, 2021-08-25 at 13:39 +0530, Ankur Saini wrote:
> > > > This should also fix the failing regression found in PR
> > > > analyzer/101980.
> > > > 
> > > > - The patch is in sync with current master
> > > > - successfully bootstrapped and tested on x86_64-linux-gnu.
> > > > 
> > > The patch is OK for trunk.
> > > Thanks for fixing this
> > > Dave
> > 
> > Hello.
> > 
> > Quite accidentally, but I noticed the patch violates GNU coding
> > style:
> > 
> > $ git show 43a5d46feabd93ba78983919234f05f5fc9a0982 |
> > ./contrib/check_GNU_style.py -
> > 
> > === ERROR type #1: blocks of 8 spaces should be replaced with tabs
> > (8 error(s)) ===
> > 
> > gcc/analyzer/engine.cc:3064:0:████████ that exceed it further.
> > 
> > gcc/analyzer/engine.cc:3065:0:████████ This is something of a blunt
> > workaround, but it only
> > 
> > gcc/analyzer/engine.cc:3066:0:████████ applies to recursion (and
> > mutual recursion), not to
> > 
> > gcc/analyzer/engine.cc:3067:0:████████ general call stacks.  */
> > 
> > gcc/analyzer/engine.cc:3069:0:████████  >
> > param_analyzer_max_recursion_depth)
> > 
> > gcc/analyzer/engine.cc:3071:0:████████if (logger)
> > 
> > gcc/analyzer/engine.cc:3072:0:████████  logger->log ("rejecting
> > call edge: recursion limit exceeded");
> > 
> > gcc/analyzer/engine.cc:3073:0:████████return false;
> > 
> 
> Looks like my editor again converted all the tabs to spaces.
> 
> btw, I can also see a lot of other places where 8 spaces are not
> begin converted to tabs, should I also change that accordingly or
> leave them the way it is and just update this patch ?

It's usually best to split out bugfixes from formatting/whitespace
changes, so maybe do it as two patches:

(1) an updated version of this patch to fix the recursion issue, using
the correct whitespace for the lines that are touched

(2) a patch that fixes whitespaces issues, but doesn't change the
behavior of the code


Dave



More information about the Gcc-patches mailing list