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