1 /* $NetBSD: fmt_block.c,v 1.4 2022/04/24 09:04:12 rillig Exp $ */ 2 3 /* 4 * Tests for formatting blocks of statements and declarations. 5 * 6 * See also: 7 * lsym_lbrace.c 8 * psym_stmt.c 9 * psym_stmt_list.c 10 */ 11 12 //indent input 13 void 14 function(void) 15 { 16 if (true) { 17 18 } 19 20 { 21 print("block"); 22 } 23 } 24 //indent end 25 26 //indent run 27 void 28 function(void) 29 { 30 if (true) { 31 32 /* $ FIXME: indent must not merge these braces. */ 33 } { 34 /* $ FIXME: the following empty line was not in the input. */ 35 36 print("block"); 37 } 38 } 39 //indent end 40 41 42 /* 43 * Two adjacent blocks must not be merged. They are typically used in C90 and 44 * earlier to declare local variables with a limited scope. 45 */ 46 //indent input 47 void 48 function(void) 49 { 50 {}{} 51 } 52 //indent end 53 54 //indent run 55 void 56 function(void) 57 { 58 { 59 /* $ FIXME: '{' must start a new line. */ 60 } { 61 } 62 } 63 //indent end 64 65 /* 66 * The buggy behavior only occurs with the default setting '-br', which 67 * places an opening brace to the right of the preceding 'if (expr)' or 68 * similar statements. 69 */ 70 //indent run -bl 71 void 72 function(void) 73 { 74 { 75 } 76 { 77 } 78 } 79 //indent end 80