aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/analyzer/infinite-recursion-3.c
blob: 68c4fa396caa11a0ee40b923b4cf7d9fc9a5d118 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/* { dg-additional-options "-fno-analyzer-call-summaries -Wno-analyzer-too-complex" } */

struct node
{
  struct node *left;
  struct node *right;
  int val;
};

int sum (struct node *n)
{
  int result = 0;
  if (n->left)
    result += sum (n->left); /* { dg-bogus "infinite recursion" } */
  if (n->right)
    result += sum (n->right); /* { dg-bogus "infinite recursion" } */
  return result;
}