1*f7b95e49Srillig /* $NetBSD: opt_bap.c,v 1.11 2023/06/23 20:44:51 rillig Exp $ */ 20c07b89fSrillig 3ec30234bSrillig /* 46c6e6473Srillig * Tests for the options '-bap' and '-nbap' ("blank line after procedure 56c6e6473Srillig * body"). 6ec30234bSrillig * 7ec30234bSrillig * The option '-bap' forces a blank line after every function body. 8ec30234bSrillig * 9ec30234bSrillig * The option '-nbap' keeps everything as is. 10ec30234bSrillig */ 11ec30234bSrillig 1247306038Srillig //indent input one_liner(void)13ec30234bSrilligstatic void one_liner(void){} several_lines(void)14ec30234bSrilligstatic void several_lines(void) 15ec30234bSrillig { 160c07b89fSrillig action(); 170c07b89fSrillig } main(void)18ec30234bSrilligint main(void){} 190c07b89fSrillig int global_variable; 200c07b89fSrillig already_has_blank_line_below(void)210c07b89fSrilligvoid already_has_blank_line_below(void) 220c07b89fSrillig { 230c07b89fSrillig } 240c07b89fSrillig has_several_blank_lines_below(void)250c07b89fSrilligvoid has_several_blank_lines_below(void) 260c07b89fSrillig { 270c07b89fSrillig } 280c07b89fSrillig 290c07b89fSrillig 300c07b89fSrillig 310c07b89fSrillig int the_end; 3247306038Srillig //indent end 330c07b89fSrillig 3447306038Srillig //indent run -bap 350c07b89fSrillig static void one_liner(void)360c07b89fSrilligone_liner(void) 37ec30234bSrillig { 380c07b89fSrillig } 391764a17fSrillig 400c07b89fSrillig static void several_lines(void)410c07b89fSrilligseveral_lines(void) 420c07b89fSrillig { 430c07b89fSrillig action(); 440c07b89fSrillig } 451764a17fSrillig 460c07b89fSrillig int main(void)470c07b89fSrilligmain(void) 48ec30234bSrillig { 490c07b89fSrillig } 501764a17fSrillig 510c07b89fSrillig int global_variable; 520c07b89fSrillig 530c07b89fSrillig void already_has_blank_line_below(void)540c07b89fSrilligalready_has_blank_line_below(void) 550c07b89fSrillig { 560c07b89fSrillig } 570c07b89fSrillig 580c07b89fSrillig void has_several_blank_lines_below(void)590c07b89fSrillighas_several_blank_lines_below(void) 600c07b89fSrillig { 610c07b89fSrillig } 620c07b89fSrillig 630c07b89fSrillig 640c07b89fSrillig 650c07b89fSrillig int the_end; 6647306038Srillig //indent end 670c07b89fSrillig 681764a17fSrillig //indent run -nbap 691764a17fSrillig static void one_liner(void)701764a17fSrilligone_liner(void) 711764a17fSrillig { 721764a17fSrillig } 731764a17fSrillig static void several_lines(void)741764a17fSrilligseveral_lines(void) 751764a17fSrillig { 761764a17fSrillig action(); 771764a17fSrillig } 781764a17fSrillig int main(void)791764a17fSrilligmain(void) 801764a17fSrillig { 811764a17fSrillig } 821764a17fSrillig int global_variable; 831764a17fSrillig 841764a17fSrillig void already_has_blank_line_below(void)851764a17fSrilligalready_has_blank_line_below(void) 861764a17fSrillig { 871764a17fSrillig } 881764a17fSrillig 891764a17fSrillig void has_several_blank_lines_below(void)901764a17fSrillighas_several_blank_lines_below(void) 911764a17fSrillig { 921764a17fSrillig } 931764a17fSrillig 941764a17fSrillig 951764a17fSrillig 961764a17fSrillig int the_end; 971764a17fSrillig //indent end 98fe2fb3c8Srillig 99fe2fb3c8Srillig 100fe2fb3c8Srillig /* 101fe2fb3c8Srillig * Don't insert a blank line between the end of a function body and an '#endif' 102fe2fb3c8Srillig * line, as both are closing elements. 103fe2fb3c8Srillig */ 104fe2fb3c8Srillig //indent input 105fe2fb3c8Srillig #if 0 106fe2fb3c8Srillig void 107fe2fb3c8Srillig example(void) 108fe2fb3c8Srillig { 109fe2fb3c8Srillig } 110fe2fb3c8Srillig #endif 111fe2fb3c8Srillig //indent end 112fe2fb3c8Srillig 113fe2fb3c8Srillig //indent run-equals-input -bap 11433682259Srillig 11533682259Srillig 1168535e877Srillig /* 1178535e877Srillig * A preprocessing line after the end of a function body does not force a blank 118*f7b95e49Srillig * line, as these lines are from a different syntactic layer. 1198535e877Srillig */ 12033682259Srillig //indent input 12133682259Srillig #if 0 12233682259Srillig void 12333682259Srillig f(void) 12433682259Srillig { 12533682259Srillig } 12633682259Srillig #else 12733682259Srillig #endif 12833682259Srillig //indent end 12933682259Srillig 1308535e877Srillig //indent run-equals-input -bacc -bap 1318535e877Srillig 1328535e877Srillig 1338535e877Srillig /* 1348535e877Srillig * Do not add a blank line between the end of a function body and an '#undef', 1358535e877Srillig * as this is a common way to undefine a function-local macro. 1368535e877Srillig */ 1378535e877Srillig //indent input 1388535e877Srillig #define replace 13933682259Srillig { 14033682259Srillig } 1418535e877Srillig #undef replace 14233682259Srillig //indent end 1438535e877Srillig 1448535e877Srillig //indent run-equals-input -bap 1458535e877Srillig 1468535e877Srillig //indent run-equals-input -bap -bacc 147