/*      $NetBSD: stmt_if.c,v 1.3 2023/03/28 14:44:35 rillig Exp $       */
# 3 "stmt_if.c"

/*
* Test parsing of 'if' statements.
*/

/* lint1-extra-flags: -X 351 */

void println(const char *);

void
dangling_else(int x)
{
       if (x > 0)
               if (x > 10)
                       println("> 10");
               /* This 'else' is bound to the closest unfinished 'if'. */
               else
                       println("> 0");
       /*
        * If the above 'else' were bound to the other 'if', the next 'else'
        * would have no corresponding 'if', resulting in a syntax error.
        */
       else
               println("not positive");
       /* expect+1: error: syntax error 'else' [249] */
       else
               println("syntax error");
}