Home | History | Annotate | Line # | Download | only in indent
lsym_while.c revision 1.5
      1 /* $NetBSD: lsym_while.c,v 1.5 2023/05/13 06:52:48 rillig Exp $ */
      2 
      3 /*
      4  * Tests for the token 'lsym_while', which represents the keyword 'while' that
      5  * starts a 'while' loop or finishes a 'do-while' loop.
      6  */
      7 
      8 //indent input
      9 void
     10 function(void)
     11 {
     12 	while(cond)stmt();
     13 	do stmt();while(cond);
     14 }
     15 //indent end
     16 
     17 //indent run
     18 void
     19 function(void)
     20 {
     21 	while (cond)
     22 		stmt();
     23 	do
     24 		stmt();
     25 	while (cond);
     26 }
     27 //indent end
     28 
     29 
     30 /*
     31  * The keyword 'while' must only be indented if it follows a psym_do_stmt,
     32  * otherwise it starts a new statement and must start a new line.
     33  */
     34 //indent input
     35 void
     36 function(void)
     37 {
     38 	{} while (0);
     39 }
     40 //indent end
     41 
     42 //indent run
     43 void
     44 function(void)
     45 {
     46 	{
     47 /* $ FIXME: The '} while' is misleading. */
     48 	} while (0);
     49 }
     50 //indent end
     51