1 /* $NetBSD: opt_bap.c,v 1.11 2023/06/23 20:44:51 rillig Exp $ */ 2 3 /* 4 * Tests for the options '-bap' and '-nbap' ("blank line after procedure 5 * body"). 6 * 7 * The option '-bap' forces a blank line after every function body. 8 * 9 * The option '-nbap' keeps everything as is. 10 */ 11 12 //indent input one_liner(void)13static void one_liner(void){} several_lines(void)14static void several_lines(void) 15 { 16 action(); 17 } main(void)18int main(void){} 19 int global_variable; 20 already_has_blank_line_below(void)21void already_has_blank_line_below(void) 22 { 23 } 24 has_several_blank_lines_below(void)25void has_several_blank_lines_below(void) 26 { 27 } 28 29 30 31 int the_end; 32 //indent end 33 34 //indent run -bap 35 static void one_liner(void)36one_liner(void) 37 { 38 } 39 40 static void several_lines(void)41several_lines(void) 42 { 43 action(); 44 } 45 46 int main(void)47main(void) 48 { 49 } 50 51 int global_variable; 52 53 void already_has_blank_line_below(void)54already_has_blank_line_below(void) 55 { 56 } 57 58 void has_several_blank_lines_below(void)59has_several_blank_lines_below(void) 60 { 61 } 62 63 64 65 int the_end; 66 //indent end 67 68 //indent run -nbap 69 static void one_liner(void)70one_liner(void) 71 { 72 } 73 static void several_lines(void)74several_lines(void) 75 { 76 action(); 77 } 78 int main(void)79main(void) 80 { 81 } 82 int global_variable; 83 84 void already_has_blank_line_below(void)85already_has_blank_line_below(void) 86 { 87 } 88 89 void has_several_blank_lines_below(void)90has_several_blank_lines_below(void) 91 { 92 } 93 94 95 96 int the_end; 97 //indent end 98 99 100 /* 101 * Don't insert a blank line between the end of a function body and an '#endif' 102 * line, as both are closing elements. 103 */ 104 //indent input 105 #if 0 106 void 107 example(void) 108 { 109 } 110 #endif 111 //indent end 112 113 //indent run-equals-input -bap 114 115 116 /* 117 * A preprocessing line after the end of a function body does not force a blank 118 * line, as these lines are from a different syntactic layer. 119 */ 120 //indent input 121 #if 0 122 void 123 f(void) 124 { 125 } 126 #else 127 #endif 128 //indent end 129 130 //indent run-equals-input -bacc -bap 131 132 133 /* 134 * Do not add a blank line between the end of a function body and an '#undef', 135 * as this is a common way to undefine a function-local macro. 136 */ 137 //indent input 138 #define replace 139 { 140 } 141 #undef replace 142 //indent end 143 144 //indent run-equals-input -bap 145 146 //indent run-equals-input -bap -bacc 147