/* $NetBSD: psym_rbrace.c,v 1.5 2023/06/16 23:19:01 rillig Exp $ */

/*
* Tests for the parser symbol psym_rbrace, which represents '}' and finishes
* the previous '{'.
*
* See also:
*      psym_lbrace.c
*/


/*
* While it is a syntax error to have an unfinished declaration between braces,
* indent is forgiving enough to accept this input.
*/
//indent input
{
       int
}
//indent end

//indent run
{
       int
       }
// exit 1
// error: Standard Input:3: Statement nesting error
// error: Standard Input:3: Stuff missing from end of file
//indent end


//indent input
{
       do {
       } while (cond)
}
//indent end

// XXX: Why doesn't indent complain about the missing semicolon?
//indent run-equals-input


//indent input
{
       if (cond)
}
//indent end

//indent run
{
       if (cond)
               }
// exit 1
// error: Standard Input:3: Statement nesting error
// error: Standard Input:3: Stuff missing from end of file
//indent end


//indent input
{
       switch (expr)
}
//indent end

//indent run
{
       switch (expr)
               }
// exit 1
// error: Standard Input:3: Statement nesting error
// error: Standard Input:3: Stuff missing from end of file
//indent end


//indent input
{
       while (cond)
}
//indent end

//indent run
{
       while (cond)
               }
// exit 1
// error: Standard Input:3: Statement nesting error
// error: Standard Input:3: Stuff missing from end of file
//indent end