opt_di.c revision 1.3 1 1.3 rillig /* $NetBSD: opt_di.c,v 1.3 2021/10/24 19:24:22 rillig Exp $ */
2 1.1 rillig /* $FreeBSD$ */
3 1.1 rillig
4 1.2 rillig /*
5 1.2 rillig * Test the option '-di', which specifies the indentation of the variable
6 1.2 rillig * declarator.
7 1.2 rillig */
8 1.2 rillig
9 1.1 rillig #indent input
10 1.1 rillig int space;
11 1.1 rillig int tab;
12 1.1 rillig int tab16;
13 1.1 rillig
14 1.1 rillig struct long_name long_name;
15 1.1 rillig #indent end
16 1.1 rillig
17 1.1 rillig #indent run -di8
18 1.1 rillig int space;
19 1.1 rillig int tab;
20 1.1 rillig int tab16;
21 1.1 rillig
22 1.1 rillig struct long_name long_name;
23 1.1 rillig #indent end
24 1.2 rillig
25 1.2 rillig
26 1.2 rillig /*
27 1.2 rillig * The declarator can be a simple variable name. It can also be prefixed by
28 1.2 rillig * asterisks, for pointer variables. These asterisks are placed to the left of
29 1.2 rillig * the indentation line, so that the variable names are aligned.
30 1.2 rillig *
31 1.2 rillig * There can be multiple declarators in a single declaration, separated by
32 1.2 rillig * commas. Only the first of them is aligned to the indentation given by
33 1.2 rillig * '-di', the others are separated with a single space.
34 1.2 rillig */
35 1.2 rillig #indent input
36 1.2 rillig int var;
37 1.2 rillig int *ptr, *****ptr;
38 1.2 rillig #indent end
39 1.2 rillig
40 1.2 rillig #indent run -di12
41 1.2 rillig int var;
42 1.2 rillig int *ptr, *****ptr;
43 1.2 rillig #indent end
44 1.2 rillig
45 1.2 rillig
46 1.2 rillig /*
47 1.2 rillig * Test the various values for indenting.
48 1.2 rillig */
49 1.2 rillig #indent input
50 1.2 rillig int decl ;
51 1.2 rillig #indent end
52 1.2 rillig
53 1.2 rillig /*
54 1.2 rillig * An indentation of 0 columns uses a single space between the declaration
55 1.2 rillig * specifiers (in this case 'int') and the declarator.
56 1.2 rillig */
57 1.2 rillig #indent run -di0
58 1.2 rillig int decl;
59 1.2 rillig #indent end
60 1.2 rillig
61 1.2 rillig /*
62 1.2 rillig * An indentation of 7 columns uses spaces for indentation since in the
63 1.2 rillig * default configuration, the next tab stop would be at indentation 8.
64 1.2 rillig */
65 1.2 rillig #indent run -di7
66 1.2 rillig int decl;
67 1.2 rillig #indent end
68 1.2 rillig
69 1.2 rillig /* The indentation consists of a single tab. */
70 1.2 rillig #indent run -di8
71 1.2 rillig int decl;
72 1.2 rillig #indent end
73 1.2 rillig
74 1.2 rillig /* The indentation consists of a tab and a space. */
75 1.2 rillig #indent run -di9
76 1.2 rillig int decl;
77 1.2 rillig #indent end
78 1.2 rillig
79 1.2 rillig #indent run -di16
80 1.2 rillig int decl;
81 1.2 rillig #indent end
82 1.2 rillig
83 1.2 rillig
84 1.2 rillig /*
85 1.2 rillig * Ensure that all whitespace is normalized to be indented by 8 columns,
86 1.2 rillig * which in the default configuration amounts to a single tab.
87 1.2 rillig */
88 1.2 rillig
89 1.2 rillig #indent input
90 1.2 rillig int space;
91 1.2 rillig int tab;
92 1.2 rillig int tab16;
93 1.2 rillig struct long_name long_name;
94 1.2 rillig #indent end
95 1.2 rillig
96 1.2 rillig #indent run -di8
97 1.2 rillig int space;
98 1.2 rillig int tab;
99 1.2 rillig int tab16;
100 1.2 rillig struct long_name long_name;
101 1.2 rillig #indent end
102 1.3 rillig
103 1.3 rillig
104 1.3 rillig #indent input
105 1.3 rillig struct {
106 1.3 rillig int member;
107 1.3 rillig } var = {
108 1.3 rillig 3,
109 1.3 rillig };
110 1.3 rillig #indent end
111 1.3 rillig
112 1.3 rillig /* FIXME: The variable name is indented by 6 spaces, should be 1. */
113 1.3 rillig #indent run -di0
114 1.3 rillig struct {
115 1.3 rillig int member;
116 1.3 rillig } var = {
117 1.3 rillig 3,
118 1.3 rillig };
119 1.3 rillig #indent end
120 1.3 rillig
121 1.3 rillig #indent run
122 1.3 rillig struct {
123 1.3 rillig int member;
124 1.3 rillig } var = {
125 1.3 rillig 3,
126 1.3 rillig };
127 1.3 rillig #indent end
128