1*47306038Srillig /* $NetBSD: opt_bs.c,v 1.10 2022/04/24 09:04:12 rillig Exp $ */
20c07b89fSrillig
3ec30234bSrillig /*
46c6e6473Srillig * Tests for the options '-bs' and '-nbs' ("blank after sizeof").
5ec30234bSrillig *
6ec30234bSrillig * The option '-bs' forces a space after the keyword 'sizeof'.
7ec30234bSrillig *
86c6e6473Srillig * The option '-nbs' removes horizontal whitespace after the keyword 'sizeof',
96c6e6473Srillig * unless the next token is a word as well.
10ec30234bSrillig */
11ec30234bSrillig
12*47306038Srillig //indent input
130c07b89fSrillig void
example(int i)140c07b89fSrillig example(int i)
150c07b89fSrillig {
160c07b89fSrillig print(sizeof(i));
170c07b89fSrillig print(sizeof(int));
180c07b89fSrillig
190c07b89fSrillig print(sizeof i);
200c07b89fSrillig print(sizeof (i));
210c07b89fSrillig print(sizeof (int));
220c07b89fSrillig
230c07b89fSrillig print(sizeof i);
240c07b89fSrillig print(sizeof (i));
250c07b89fSrillig print(sizeof (int));
260c07b89fSrillig }
27*47306038Srillig //indent end
280c07b89fSrillig
29*47306038Srillig //indent run -bs
300c07b89fSrillig void
example(int i)310c07b89fSrillig example(int i)
320c07b89fSrillig {
330c07b89fSrillig print(sizeof (i));
340c07b89fSrillig print(sizeof (int));
350c07b89fSrillig
360c07b89fSrillig print(sizeof i);
370c07b89fSrillig print(sizeof (i));
380c07b89fSrillig print(sizeof (int));
390c07b89fSrillig
400c07b89fSrillig print(sizeof i);
410c07b89fSrillig print(sizeof (i));
420c07b89fSrillig print(sizeof (int));
430c07b89fSrillig }
44*47306038Srillig //indent end
450c07b89fSrillig
46*47306038Srillig //indent run -nbs
470c07b89fSrillig void
example(int i)480c07b89fSrillig example(int i)
490c07b89fSrillig {
500c07b89fSrillig print(sizeof(i));
510c07b89fSrillig print(sizeof(int));
520c07b89fSrillig
530c07b89fSrillig print(sizeof i);
540c07b89fSrillig print(sizeof(i));
550c07b89fSrillig print(sizeof(int));
560c07b89fSrillig
570c07b89fSrillig print(sizeof i);
580c07b89fSrillig print(sizeof(i));
590c07b89fSrillig print(sizeof(int));
600c07b89fSrillig }
61*47306038Srillig //indent end
62a12a1592Srillig
637a5fe476Srillig
64a12a1592Srillig /*
65a12a1592Srillig * The option '-bs' only affects 'sizeof', not 'offsetof', even though these
66a12a1592Srillig * two keywords are syntactically similar.
67a12a1592Srillig */
68*47306038Srillig //indent input
69a12a1592Srillig int sizeof_type = sizeof (int);
70a12a1592Srillig int sizeof_type = sizeof(int);
71a12a1592Srillig int sizeof_expr = sizeof (0);
72a12a1592Srillig int sizeof_expr = sizeof(0);
73a12a1592Srillig int sizeof_expr = sizeof 0;
74a12a1592Srillig
75a12a1592Srillig int offset = offsetof(struct s, member);
76a12a1592Srillig int offset = offsetof (struct s, member);
77*47306038Srillig //indent end
78a12a1592Srillig
79*47306038Srillig //indent run -pcs -di0
80a12a1592Srillig int sizeof_type = sizeof (int);
81a12a1592Srillig int sizeof_type = sizeof (int);
82a12a1592Srillig int sizeof_expr = sizeof (0);
83a12a1592Srillig int sizeof_expr = sizeof (0);
84a12a1592Srillig int sizeof_expr = sizeof 0;
85a12a1592Srillig
86a12a1592Srillig int offset = offsetof (struct s, member);
87a12a1592Srillig int offset = offsetof (struct s, member);
88*47306038Srillig //indent end
89a12a1592Srillig
90*47306038Srillig //indent run -npcs -di0
91a12a1592Srillig int sizeof_type = sizeof(int);
92a12a1592Srillig int sizeof_type = sizeof(int);
93a12a1592Srillig int sizeof_expr = sizeof(0);
94a12a1592Srillig int sizeof_expr = sizeof(0);
95a12a1592Srillig int sizeof_expr = sizeof 0;
96a12a1592Srillig
97a12a1592Srillig int offset = offsetof(struct s, member);
98a12a1592Srillig int offset = offsetof(struct s, member);
99*47306038Srillig //indent end
100458723ddSrillig
101458723ddSrillig
102458723ddSrillig /* Ensure that there is no blank before 'sizeof(' if there is a '\n' between. */
103*47306038Srillig //indent input
104458723ddSrillig int sizeof_newline = sizeof
105458723ddSrillig (0);
106*47306038Srillig //indent end
107458723ddSrillig
108*47306038Srillig //indent run-equals-input -di0 -bs
10936e93935Srillig
110*47306038Srillig //indent run-equals-input -di0 -nbs
111458723ddSrillig
112458723ddSrillig
113458723ddSrillig /* Ensure that only the first '(' after 'sizeof' gets a blank. */
114*47306038Srillig //indent input
115458723ddSrillig int sizeof_parenthesized = sizeof((0));
116*47306038Srillig //indent end
117458723ddSrillig
118*47306038Srillig //indent run -di0 -bs
119458723ddSrillig int sizeof_parenthesized = sizeof ((0));
120*47306038Srillig //indent end
121458723ddSrillig
122*47306038Srillig //indent run-equals-input -di0 -nbs
123