1 /* $NetBSD: opt_psl.c,v 1.8 2022/04/24 09:04:12 rillig Exp $ */ 2 3 /* 4 * Tests for the options '-psl' and '-npsl' ("procedure definition in separate 5 * line"). 6 * 7 * The option '-psl' starts a new line for the function name in a function 8 * definition. 9 * 10 * The option '-npsl' puts the function name in the same line as its return 11 * type. 12 */ 13 14 /* Single-line function declarations are not affected by these options. */ 15 //indent input 16 void function_declaration(void); 17 //indent end 18 19 //indent run -psl 20 void function_declaration(void); 21 //indent end 22 23 //indent run-equals-prev-output -npsl 24 25 26 /* 27 * Multi-line function declarations are affected by these options since indent 28 * wrongly assumes they were function definitions, not declarations. 29 * 30 * Before 1990, when C90 added function prototypes, this case was rare since 31 * function definitions consisted only of the return type (defaulting to 32 * 'int'), the function name and the list of parameter names, without 33 * parameter types or type qualifiers like 'const'. 34 */ 35 //indent input 36 void function_declaration( 37 void); 38 //indent end 39 40 //indent run -psl 41 void 42 function_declaration( 43 void); 44 //indent end 45 46 /* 47 * In a function definition (which indent wrongly assumes here), in contrast 48 * to a declaration, the function name is not indented to column 17. 49 */ 50 //indent run -npsl 51 void function_declaration( 52 void); 53 //indent end 54 55 56 /* 57 * In a function definition, in contrast to a declaration, the function name 58 * is not indented to column 17 since the other function definitions are too 59 * far away. 60 */ 61 //indent input 62 void function_definition(void) {} 63 //indent end 64 65 //indent run -psl 66 void 67 function_definition(void) 68 { 69 } 70 //indent end 71 72 //indent run -npsl 73 void function_definition(void) 74 { 75 } 76 //indent end 77