(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
Wparentheses-13.c
       1  /* PR c/70436  */
       2  /* { dg-options "-Wparentheses" }  */
       3  
       4  int a, b, c;
       5  void bar (int);
       6  
       7  void
       8  foo (void)
       9  {
      10    if (a) /* { dg-warning "ambiguous" }  */
      11      if (b)
      12        {
      13  	if (c)
      14  	  bar (0);
      15        }
      16      else
      17        bar (1);
      18  
      19    if (a > 0)
      20      if (a > 1)
      21        if (a > 2)
      22  	if (a > 3)
      23  	  if (a > 4)
      24  	    if (a > 5) /* { dg-warning "ambiguous" }  */
      25  	      if (a > 6)
      26  		while (1)
      27  		  bar (0);
      28    else
      29      bar (1);
      30  
      31    if (a) /* { dg-warning "ambiguous" }  */
      32      if (b)
      33        switch (c);
      34      else
      35        bar (1);
      36  
      37    switch (a)
      38    {
      39    default:
      40      if (b) /* { dg-warning "ambiguous" }  */
      41        if (c)
      42  	for (;;)
      43            bar (0);
      44      else
      45        bar (1);
      46    }
      47  
      48    if (a) /* { dg-warning "ambiguous" }  */
      49    if (a)
      50      {
      51        bar (2);
      52      }
      53    else
      54      bar (3);
      55  
      56    if (a)
      57      do if (b) bar (4); while (1);
      58    else bar (5);
      59  
      60    do
      61      {
      62        if (a)
      63          if (b) /* { dg-warning "ambiguous" }  */
      64           if (c) for (;;) bar (6);
      65       else bar (7);
      66      } while (0);
      67  }