xref: /netbsd-src/tests/usr.bin/indent/opt_pcs.c (revision 398514d353c4a4cdd9ab0ab83e93d73c12eb50a0)
1 /* $NetBSD: opt_pcs.c,v 1.18 2023/06/16 23:07:52 rillig Exp $ */
2 
3 /*
4  * Tests for the options '-pcs' and '-npcs'.
5  *
6  * The option '-pcs' adds a space in a function call expression, between the
7  * function name and the opening parenthesis.
8  *
9  * The option '-npcs' removes any whitespace from a function call expression,
10  * between the function name and the opening parenthesis.
11  */
12 
13 //indent input
14 void
example(void)15 example(void)
16 {
17 	function_call();
18 	function_call (1);
19 	function_call   (1,2,3);
20 }
21 //indent end
22 
23 //indent run -pcs
24 void
example(void)25 example(void)
26 {
27 	function_call ();
28 	function_call (1);
29 	function_call (1, 2, 3);
30 }
31 //indent end
32 
33 //indent run -npcs
34 void
example(void)35 example(void)
36 {
37 	function_call();
38 	function_call(1);
39 	function_call(1, 2, 3);
40 }
41 //indent end
42 
43 
44 //indent input
45 void ( * signal ( void ( * handler ) ( int ) ) ) ( int ) ;
46 int var = (function)(arg);
47 //indent end
48 
49 //indent run -di0 -pcs
50 void (*signal (void (*handler) (int))) (int);
51 // $ This may be a function call or a cast, depending on the context.
52 int var = (function) (arg);
53 //indent end
54 
55 //indent run -di0 -npcs
56 void (*signal(void (*handler)(int)))(int);
57 int var = (function)(arg);
58 //indent end
59 
60 
61 /*
62  * The option '-pcs' also applies to 'sizeof' and 'offsetof', even though
63  * these are not functions.
64  */
65 //indent input
66 int sizeof_type = sizeof   (int);
67 int sizeof_type = sizeof(int);
68 int sizeof_expr = sizeof   (0);
69 int sizeof_expr = sizeof(0);
70 int sizeof_expr = sizeof   0;
71 
72 int offset = offsetof(struct s, member);
73 int offset = offsetof   (struct s, member);
74 //indent end
75 
76 /* The option '-pcs' overrides '-nbs'. */
77 //indent run -pcs -di0 -nbs
78 int sizeof_type = sizeof (int);
79 int sizeof_type = sizeof (int);
80 int sizeof_expr = sizeof (0);
81 int sizeof_expr = sizeof (0);
82 int sizeof_expr = sizeof 0;
83 
84 int offset = offsetof (struct s, member);
85 int offset = offsetof (struct s, member);
86 //indent end
87 
88 /*
89  * If the option '-npcs' is given, '-bs' can still specialize it. This only
90  * applies to 'sizeof', but not 'offsetof'.
91  */
92 //indent run -npcs -di0 -bs
93 int sizeof_type = sizeof (int);
94 int sizeof_type = sizeof (int);
95 int sizeof_expr = sizeof (0);
96 int sizeof_expr = sizeof (0);
97 int sizeof_expr = sizeof 0;
98 
99 int offset = offsetof(struct s, member);
100 int offset = offsetof(struct s, member);
101 //indent end
102 
103 //indent run -npcs -di0
104 int sizeof_type = sizeof(int);
105 int sizeof_type = sizeof(int);
106 int sizeof_expr = sizeof(0);
107 int sizeof_expr = sizeof(0);
108 int sizeof_expr = sizeof 0;
109 
110 int offset = offsetof(struct s, member);
111 int offset = offsetof(struct s, member);
112 //indent end
113 
114 
115 //indent input
116 int unary = +call();
117 int postfix = step++();
118 int binary = 1 + call();
119 //indent end
120 
121 //indent run-equals-input -npcs -di0
122 
123 //indent run -pcs -di0
124 int unary = +call ();
125 int postfix = step++ ();
126 int binary = 1 + call ();
127 //indent end
128