opt_bs.c revision 1.9 1 1.9 rillig /* $NetBSD: opt_bs.c,v 1.9 2022/04/24 08:52:44 rillig Exp $ */
2 1.1 rillig
3 1.3 rillig /*
4 1.6 rillig * Tests for the options '-bs' and '-nbs' ("blank after sizeof").
5 1.3 rillig *
6 1.3 rillig * The option '-bs' forces a space after the keyword 'sizeof'.
7 1.3 rillig *
8 1.6 rillig * The option '-nbs' removes horizontal whitespace after the keyword 'sizeof',
9 1.6 rillig * unless the next token is a word as well.
10 1.3 rillig */
11 1.3 rillig
12 1.1 rillig #indent input
13 1.1 rillig void
14 1.1 rillig example(int i)
15 1.1 rillig {
16 1.1 rillig print(sizeof(i));
17 1.1 rillig print(sizeof(int));
18 1.1 rillig
19 1.1 rillig print(sizeof i);
20 1.1 rillig print(sizeof (i));
21 1.1 rillig print(sizeof (int));
22 1.1 rillig
23 1.1 rillig print(sizeof i);
24 1.1 rillig print(sizeof (i));
25 1.1 rillig print(sizeof (int));
26 1.1 rillig }
27 1.1 rillig #indent end
28 1.1 rillig
29 1.1 rillig #indent run -bs
30 1.1 rillig void
31 1.1 rillig example(int i)
32 1.1 rillig {
33 1.1 rillig print(sizeof (i));
34 1.1 rillig print(sizeof (int));
35 1.1 rillig
36 1.1 rillig print(sizeof i);
37 1.1 rillig print(sizeof (i));
38 1.1 rillig print(sizeof (int));
39 1.1 rillig
40 1.1 rillig print(sizeof i);
41 1.1 rillig print(sizeof (i));
42 1.1 rillig print(sizeof (int));
43 1.1 rillig }
44 1.1 rillig #indent end
45 1.1 rillig
46 1.1 rillig #indent run -nbs
47 1.1 rillig void
48 1.1 rillig example(int i)
49 1.1 rillig {
50 1.1 rillig print(sizeof(i));
51 1.1 rillig print(sizeof(int));
52 1.1 rillig
53 1.1 rillig print(sizeof i);
54 1.1 rillig print(sizeof(i));
55 1.1 rillig print(sizeof(int));
56 1.1 rillig
57 1.1 rillig print(sizeof i);
58 1.1 rillig print(sizeof(i));
59 1.1 rillig print(sizeof(int));
60 1.1 rillig }
61 1.1 rillig #indent end
62 1.4 rillig
63 1.7 rillig
64 1.4 rillig /*
65 1.4 rillig * The option '-bs' only affects 'sizeof', not 'offsetof', even though these
66 1.4 rillig * two keywords are syntactically similar.
67 1.4 rillig */
68 1.4 rillig #indent input
69 1.4 rillig int sizeof_type = sizeof (int);
70 1.4 rillig int sizeof_type = sizeof(int);
71 1.4 rillig int sizeof_expr = sizeof (0);
72 1.4 rillig int sizeof_expr = sizeof(0);
73 1.4 rillig int sizeof_expr = sizeof 0;
74 1.4 rillig
75 1.4 rillig int offset = offsetof(struct s, member);
76 1.4 rillig int offset = offsetof (struct s, member);
77 1.4 rillig #indent end
78 1.4 rillig
79 1.4 rillig #indent run -pcs -di0
80 1.4 rillig int sizeof_type = sizeof (int);
81 1.4 rillig int sizeof_type = sizeof (int);
82 1.4 rillig int sizeof_expr = sizeof (0);
83 1.4 rillig int sizeof_expr = sizeof (0);
84 1.4 rillig int sizeof_expr = sizeof 0;
85 1.4 rillig
86 1.4 rillig int offset = offsetof (struct s, member);
87 1.4 rillig int offset = offsetof (struct s, member);
88 1.4 rillig #indent end
89 1.4 rillig
90 1.4 rillig #indent run -npcs -di0
91 1.4 rillig int sizeof_type = sizeof(int);
92 1.4 rillig int sizeof_type = sizeof(int);
93 1.4 rillig int sizeof_expr = sizeof(0);
94 1.4 rillig int sizeof_expr = sizeof(0);
95 1.4 rillig int sizeof_expr = sizeof 0;
96 1.4 rillig
97 1.4 rillig int offset = offsetof(struct s, member);
98 1.4 rillig int offset = offsetof(struct s, member);
99 1.4 rillig #indent end
100 1.5 rillig
101 1.5 rillig
102 1.5 rillig /* Ensure that there is no blank before 'sizeof(' if there is a '\n' between. */
103 1.5 rillig #indent input
104 1.5 rillig int sizeof_newline = sizeof
105 1.5 rillig (0);
106 1.5 rillig #indent end
107 1.5 rillig
108 1.5 rillig #indent run-equals-input -di0 -bs
109 1.9 rillig
110 1.5 rillig #indent run-equals-input -di0 -nbs
111 1.5 rillig
112 1.5 rillig
113 1.5 rillig /* Ensure that only the first '(' after 'sizeof' gets a blank. */
114 1.5 rillig #indent input
115 1.5 rillig int sizeof_parenthesized = sizeof((0));
116 1.5 rillig #indent end
117 1.5 rillig
118 1.5 rillig #indent run -di0 -bs
119 1.5 rillig int sizeof_parenthesized = sizeof ((0));
120 1.5 rillig #indent end
121 1.5 rillig
122 1.5 rillig #indent run-equals-input -di0 -nbs
123