opt_bs.c revision 1.5 1 1.5 rillig /* $NetBSD: opt_bs.c,v 1.5 2021/10/26 20:37:26 rillig Exp $ */
2 1.1 rillig /* $FreeBSD$ */
3 1.1 rillig
4 1.3 rillig /*
5 1.3 rillig * Tests for the options '-bs' and '-nbs'.
6 1.3 rillig *
7 1.3 rillig * The option '-bs' forces a space after the keyword 'sizeof'.
8 1.3 rillig *
9 1.3 rillig * The option '-nbs' removes all whitespace after the keyword 'sizeof', unless
10 1.3 rillig * the next token is a word as well.
11 1.3 rillig */
12 1.3 rillig
13 1.1 rillig #indent input
14 1.1 rillig void
15 1.1 rillig example(int i)
16 1.1 rillig {
17 1.1 rillig print(sizeof(i));
18 1.1 rillig print(sizeof(int));
19 1.1 rillig
20 1.1 rillig print(sizeof i);
21 1.1 rillig print(sizeof (i));
22 1.1 rillig print(sizeof (int));
23 1.1 rillig
24 1.1 rillig print(sizeof i);
25 1.1 rillig print(sizeof (i));
26 1.1 rillig print(sizeof (int));
27 1.1 rillig }
28 1.1 rillig #indent end
29 1.1 rillig
30 1.1 rillig #indent run -bs
31 1.1 rillig void
32 1.1 rillig example(int i)
33 1.1 rillig {
34 1.1 rillig print(sizeof (i));
35 1.1 rillig print(sizeof (int));
36 1.1 rillig
37 1.1 rillig print(sizeof i);
38 1.1 rillig print(sizeof (i));
39 1.1 rillig print(sizeof (int));
40 1.1 rillig
41 1.1 rillig print(sizeof i);
42 1.1 rillig print(sizeof (i));
43 1.1 rillig print(sizeof (int));
44 1.1 rillig }
45 1.1 rillig #indent end
46 1.1 rillig
47 1.1 rillig #indent run -nbs
48 1.1 rillig void
49 1.1 rillig example(int i)
50 1.1 rillig {
51 1.1 rillig print(sizeof(i));
52 1.1 rillig print(sizeof(int));
53 1.1 rillig
54 1.1 rillig print(sizeof i);
55 1.1 rillig print(sizeof(i));
56 1.1 rillig print(sizeof(int));
57 1.1 rillig
58 1.1 rillig print(sizeof i);
59 1.1 rillig print(sizeof(i));
60 1.1 rillig print(sizeof(int));
61 1.1 rillig }
62 1.1 rillig #indent end
63 1.4 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.5 rillig #indent run-equals-input -di0 -nbs
110 1.5 rillig
111 1.5 rillig
112 1.5 rillig /* Ensure that only the first '(' after 'sizeof' gets a blank. */
113 1.5 rillig #indent input
114 1.5 rillig int sizeof_parenthesized = sizeof((0));
115 1.5 rillig #indent end
116 1.5 rillig
117 1.5 rillig #indent run -di0 -bs
118 1.5 rillig int sizeof_parenthesized = sizeof ((0));
119 1.5 rillig #indent end
120 1.5 rillig
121 1.5 rillig #indent run-equals-input -di0 -nbs
122