Home | History | Annotate | Line # | Download | only in indent
      1  1.10  rillig /* $NetBSD: lsym_do.c,v 1.10 2023/06/05 09:41:40 rillig Exp $ */
      2   1.1  rillig 
      3   1.1  rillig /*
      4   1.1  rillig  * Tests for the token lsym_do, which represents the keyword 'do' that starts
      5   1.1  rillig  * a 'do-while' loop.
      6   1.1  rillig  *
      7   1.1  rillig  * See also:
      8   1.1  rillig  *	psym_do.c
      9   1.1  rillig  *	psym_do_stmt.c
     10   1.1  rillig  *	C11 6.8.5		"Iteration statements"
     11   1.1  rillig  *	C11 6.8.5.2		"The 'do' statement"
     12   1.1  rillig  */
     13   1.1  rillig 
     14   1.3  rillig //indent input
     15   1.4  rillig void
     16   1.4  rillig function(void)
     17   1.4  rillig {
     18   1.4  rillig 	do stmt();while(cond);
     19   1.4  rillig }
     20   1.3  rillig //indent end
     21   1.1  rillig 
     22   1.4  rillig //indent run
     23   1.4  rillig void
     24   1.4  rillig function(void)
     25   1.4  rillig {
     26   1.4  rillig 	do
     27   1.4  rillig 		stmt();
     28   1.4  rillig 	while (cond);
     29   1.4  rillig }
     30   1.4  rillig //indent end
     31   1.5  rillig 
     32   1.5  rillig 
     33   1.5  rillig //indent input
     34   1.5  rillig void
     35   1.5  rillig else_do(int i)
     36   1.5  rillig {
     37   1.5  rillig 	if (i > 0) return; else do {} while (0);
     38   1.5  rillig }
     39   1.5  rillig //indent end
     40   1.5  rillig 
     41   1.5  rillig //indent run
     42   1.5  rillig void
     43   1.5  rillig else_do(int i)
     44   1.5  rillig {
     45   1.5  rillig 	if (i > 0)
     46   1.5  rillig 		return;
     47   1.5  rillig 	else
     48   1.5  rillig 		do {
     49   1.5  rillig 		} while (0);
     50   1.5  rillig }
     51   1.5  rillig //indent end
     52   1.6  rillig 
     53   1.6  rillig 
     54   1.6  rillig //indent input
     55   1.6  rillig void
     56   1.6  rillig variants(void)
     57   1.6  rillig {
     58   1.6  rillig 	do stmt(); while (0);
     59   1.6  rillig 
     60   1.6  rillig 	do { stmt(); } while (0);
     61   1.6  rillig 
     62   1.6  rillig 	do /* comment */ stmt(); while (0);
     63   1.6  rillig 
     64   1.6  rillig 	while (0) do {} while (0);
     65   1.6  rillig }
     66   1.6  rillig //indent end
     67   1.6  rillig 
     68   1.6  rillig //indent run
     69   1.6  rillig void
     70   1.6  rillig variants(void)
     71   1.6  rillig {
     72   1.6  rillig 	do
     73   1.6  rillig 		stmt();
     74   1.6  rillig 	while (0);
     75   1.6  rillig 
     76   1.6  rillig 	do {
     77   1.6  rillig 		stmt();
     78   1.6  rillig 	} while (0);
     79   1.6  rillig 
     80   1.6  rillig 	do			/* comment */
     81   1.6  rillig 		stmt();
     82   1.6  rillig 	while (0);
     83   1.6  rillig 
     84   1.6  rillig 	while (0)
     85   1.6  rillig 		do {
     86   1.6  rillig 		} while (0);
     87   1.6  rillig }
     88   1.6  rillig //indent end
     89   1.7  rillig 
     90   1.7  rillig //indent run -bl
     91   1.7  rillig void
     92   1.7  rillig variants(void)
     93   1.7  rillig {
     94   1.7  rillig 	do
     95   1.7  rillig 		stmt();
     96   1.7  rillig 	while (0);
     97   1.7  rillig 
     98   1.7  rillig 	do
     99   1.7  rillig 	{
    100   1.7  rillig 		stmt();
    101   1.7  rillig 	} while (0);
    102   1.7  rillig 
    103   1.7  rillig 	do			/* comment */
    104   1.7  rillig 		stmt();
    105   1.7  rillig 	while (0);
    106   1.7  rillig 
    107   1.7  rillig 	while (0)
    108   1.7  rillig 		do
    109   1.7  rillig 		{
    110   1.7  rillig 		} while (0);
    111   1.7  rillig }
    112   1.7  rillig //indent end
    113   1.8  rillig 
    114   1.8  rillig 
    115   1.8  rillig /* Ensure that the 'do' starts a line. */
    116   1.8  rillig //indent input
    117   1.8  rillig {
    118   1.8  rillig 	/* */ do {} while (false);
    119   1.8  rillig 
    120   1.8  rillig 	word do {} while (false);
    121   1.8  rillig 
    122   1.8  rillig 	label: do {} while (false);
    123   1.8  rillig }
    124   1.8  rillig //indent end
    125   1.8  rillig 
    126   1.8  rillig //indent run
    127   1.8  rillig {
    128   1.9  rillig 	/* */
    129   1.8  rillig 	do {
    130   1.8  rillig 	} while (false);
    131   1.8  rillig 
    132   1.8  rillig 	word
    133   1.8  rillig 	do {
    134  1.10  rillig 	} while (false);
    135   1.8  rillig 
    136   1.8  rillig label:	do {
    137   1.8  rillig 	} while (false);
    138   1.8  rillig }
    139   1.8  rillig //indent end
    140   1.8  rillig 
    141  1.10  rillig //indent run-equals-prev-output -sob
    142