1*940b8500Srillig /* $NetBSD: fmt_block.c,v 1.8 2023/06/14 20:46:08 rillig Exp $ */ 28c1e5e02Srillig 36c6e6473Srillig /* 46c6e6473Srillig * Tests for formatting blocks of statements and declarations. 56c6e6473Srillig * 66c6e6473Srillig * See also: 76c6e6473Srillig * lsym_lbrace.c 86c6e6473Srillig * psym_stmt.c 96c6e6473Srillig */ 106c6e6473Srillig 1147306038Srillig //indent input 128c1e5e02Srillig void function(void)138c1e5e02Srilligfunction(void) 148c1e5e02Srillig { 158c1e5e02Srillig if (true) { 168c1e5e02Srillig 178c1e5e02Srillig } 188c1e5e02Srillig 198c1e5e02Srillig { 208c1e5e02Srillig print("block"); 218c1e5e02Srillig } 228c1e5e02Srillig } 2347306038Srillig //indent end 248c1e5e02Srillig 25ff059387Srillig /* 26ff059387Srillig * Before 2023-05-11, indent incorrectly merged the '} {' into a single line, 27ff059387Srillig * even though they are completely unrelated. 28ff059387Srillig */ 2937331766Srillig //indent run-equals-input 306c6e6473Srillig 316c6e6473Srillig 326c6e6473Srillig /* 336c6e6473Srillig * Two adjacent blocks must not be merged. They are typically used in C90 and 346c6e6473Srillig * earlier to declare local variables with a limited scope. 356c6e6473Srillig */ 3647306038Srillig //indent input 376c6e6473Srillig void function(void)386c6e6473Srilligfunction(void) 396c6e6473Srillig { 406c6e6473Srillig {}{} 416c6e6473Srillig } 4247306038Srillig //indent end 436c6e6473Srillig 4447306038Srillig //indent run 456c6e6473Srillig void function(void)466c6e6473Srilligfunction(void) 476c6e6473Srillig { 486c6e6473Srillig { 498bd40c7aSrillig } 508bd40c7aSrillig { 516c6e6473Srillig } 526c6e6473Srillig } 5347306038Srillig //indent end 546c6e6473Srillig 558bd40c7aSrillig //indent run-equals-prev-output -bl 56