Home | History | Annotate | Line # | Download | only in indent
      1 /* $NetBSD: lsym_while.c,v 1.7 2025/01/03 23:37:18 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 	}
     48 	while (0)
     49 		;
     50 }
     51 //indent end
     52