fmt_block.c revision 1.6
11.6Srillig/* $NetBSD: fmt_block.c,v 1.6 2023/05/13 06:52:48 rillig Exp $ */ 21.1Srillig 31.2Srillig/* 41.2Srillig * Tests for formatting blocks of statements and declarations. 51.2Srillig * 61.2Srillig * See also: 71.2Srillig * lsym_lbrace.c 81.2Srillig * psym_stmt.c 91.2Srillig * psym_stmt_list.c 101.2Srillig */ 111.2Srillig 121.4Srillig//indent input 131.1Srilligvoid 141.1Srilligfunction(void) 151.1Srillig{ 161.1Srillig if (true) { 171.1Srillig 181.1Srillig } 191.1Srillig 201.1Srillig { 211.1Srillig print("block"); 221.1Srillig } 231.1Srillig} 241.4Srillig//indent end 251.1Srillig 261.6Srillig/* 271.6Srillig * Before 2023-05-11, indent incorrectly merged the '} {' into a single line, 281.6Srillig * even though they are completely unrelated. 291.6Srillig */ 301.5Srillig//indent run-equals-input 311.2Srillig 321.2Srillig 331.2Srillig/* 341.2Srillig * Two adjacent blocks must not be merged. They are typically used in C90 and 351.2Srillig * earlier to declare local variables with a limited scope. 361.2Srillig */ 371.4Srillig//indent input 381.2Srilligvoid 391.2Srilligfunction(void) 401.2Srillig{ 411.2Srillig {}{} 421.2Srillig} 431.4Srillig//indent end 441.2Srillig 451.4Srillig//indent run 461.2Srilligvoid 471.2Srilligfunction(void) 481.2Srillig{ 491.2Srillig { 501.2Srillig/* $ FIXME: '{' must start a new line. */ 511.2Srillig } { 521.2Srillig } 531.2Srillig} 541.4Srillig//indent end 551.2Srillig 561.2Srillig/* 571.2Srillig * The buggy behavior only occurs with the default setting '-br', which 581.2Srillig * places an opening brace to the right of the preceding 'if (expr)' or 591.2Srillig * similar statements. 601.2Srillig */ 611.4Srillig//indent run -bl 621.2Srilligvoid 631.2Srilligfunction(void) 641.2Srillig{ 651.2Srillig { 661.2Srillig } 671.2Srillig { 681.2Srillig } 691.2Srillig} 701.4Srillig//indent end 71