fmt_block.c revision 1.2
11.2Srillig/* $NetBSD: fmt_block.c,v 1.2 2021/11/19 22:24:29 rillig Exp $ */ 21.1Srillig/* $FreeBSD$ */ 31.1Srillig 41.2Srillig/* 51.2Srillig * Tests for formatting blocks of statements and declarations. 61.2Srillig * 71.2Srillig * See also: 81.2Srillig * lsym_lbrace.c 91.2Srillig * psym_stmt.c 101.2Srillig * psym_stmt_list.c 111.2Srillig */ 121.2Srillig 131.1Srillig#indent input 141.1Srilligvoid 151.1Srilligfunction(void) 161.1Srillig{ 171.1Srillig if (true) { 181.1Srillig 191.1Srillig } 201.1Srillig 211.1Srillig { 221.1Srillig print("block"); 231.1Srillig } 241.1Srillig} 251.1Srillig#indent end 261.1Srillig 271.1Srillig#indent run 281.1Srilligvoid 291.1Srilligfunction(void) 301.1Srillig{ 311.1Srillig if (true) { 321.1Srillig 331.1Srillig/* $ FIXME: indent must not merge these braces. */ 341.1Srillig } { 351.1Srillig/* $ FIXME: the following empty line was not in the input. */ 361.1Srillig 371.1Srillig print("block"); 381.1Srillig } 391.1Srillig} 401.1Srillig#indent end 411.2Srillig 421.2Srillig 431.2Srillig/* 441.2Srillig * Two adjacent blocks must not be merged. They are typically used in C90 and 451.2Srillig * earlier to declare local variables with a limited scope. 461.2Srillig */ 471.2Srillig#indent input 481.2Srilligvoid 491.2Srilligfunction(void) 501.2Srillig{ 511.2Srillig {}{} 521.2Srillig} 531.2Srillig#indent end 541.2Srillig 551.2Srillig#indent run 561.2Srilligvoid 571.2Srilligfunction(void) 581.2Srillig{ 591.2Srillig { 601.2Srillig/* $ FIXME: '{' must start a new line. */ 611.2Srillig } { 621.2Srillig } 631.2Srillig} 641.2Srillig#indent end 651.2Srillig 661.2Srillig/* 671.2Srillig * The buggy behavior only occurs with the default setting '-br', which 681.2Srillig * places an opening brace to the right of the preceding 'if (expr)' or 691.2Srillig * similar statements. 701.2Srillig */ 711.2Srillig#indent run -bl 721.2Srilligvoid 731.2Srilligfunction(void) 741.2Srillig{ 751.2Srillig { 761.2Srillig } 771.2Srillig { 781.2Srillig } 791.2Srillig} 801.2Srillig#indent end 81