Home | History | Annotate | Line # | Download | only in indent
      1 /* $NetBSD: lsym_return.c,v 1.4 2022/04/24 09:04:12 rillig Exp $ */
      2 
      3 /*
      4  * Tests for the token lsym_return, which represents the keyword 'return' that
      5  * starts a 'return' statement for leaving the execution of a function.
      6  */
      7 
      8 /*
      9  * Return statements having a single-line expression are simple to format.
     10  * Since 'return' is not a function name, there is a space between the
     11  * 'return' and the '('.
     12  */
     13 //indent input
     14 void
     15 function(bool cond)
     16 {
     17 	if (cond)
     18 		return;
     19 }
     20 
     21 int
     22 calculate(int a, int b)
     23 {
     24 	return a;
     25 	return (b);
     26 	return (((a))) + b;
     27 	return calculate(b, a);
     28 }
     29 //indent end
     30 
     31 //indent run-equals-input
     32 
     33 
     34 /*
     35  * Returning complex expressions may spread the expression over several lines.
     36  * The exact formatting depends on the option '-lp'.
     37  */
     38 //indent input
     39 int
     40 multi_line(int a)
     41 {
     42 	return calculate(3,
     43 			 4);
     44 	return calculate(
     45 			 3,
     46 			 4);
     47 	return calculate(
     48 			 3,
     49 			 4
     50 		);
     51 }
     52 //indent end
     53 
     54 //indent run-equals-input
     55 
     56 //indent run -nlp
     57 int
     58 multi_line(int a)
     59 {
     60 	return calculate(3,
     61 		4);
     62 	return calculate(
     63 		3,
     64 		4);
     65 	return calculate(
     66 		3,
     67 		4
     68 		);
     69 }
     70 //indent end
     71