opt_fc1.c revision 1.8 1 /* $NetBSD: opt_fc1.c,v 1.8 2022/04/24 09:04:12 rillig Exp $ */
2
3 /*
4 * Tests for the options '-fc1' and '-nfc1'.
5 *
6 * The option '-fc1' formats comments in column 1.
7 *
8 * The option '-nfc1' preserves the original formatting of comments that start
9 * in column 1.
10 */
11
12 //indent input
13 /*
14 * A comment
15 * in column 1.
16 *
17 *
18 *
19 */
20 //indent end
21
22 //indent run -fc1
23 /*
24 * A comment in column 1.
25 *
26 *
27 *
28 */
29 //indent end
30
31 //indent run-equals-input -nfc1
32
33
34 //indent input
35 /* $ Neither indentation nor surrounding spaces. */
36 /*narrow*/
37
38 /* $ Indented by a single space, single spaces around the text. */
39 /* space */
40
41 /* $ Indented by a single tab, single tabs around the text. */
42 /* indented tab */
43
44 /* $ The space between these comments gets removed. */
45 /* block1 */ /* block2 */
46
47 /* $ Both comment texts get surrounded by spaces. */
48 /*block1*//*block2*/
49 //indent end
50
51 //indent run -fc1
52 /* $ The comment text got surrounded by spaces. */
53 /* narrow */
54
55 /* $ The indentation got removed. */
56 /* space */
57
58 /* $ The indentation got removed, only the leading tab got replaced by a space. */
59 /* indented tab */
60
61 /* $ The space between these comments got removed. */
62 /* block1 *//* block2 */
63
64 /* $ Both comment texts got surrounded by spaces. */
65 /* block1 *//* block2 */
66 //indent end
67
68 //indent run -nfc1
69 /* $ No spaces got added around the comment text. */
70 /*narrow*/
71
72 /* $ The indentation of a single space was preserved. */
73 /* $ If the comment were moved to column 1, it would change from the area */
74 /* $ of 'comments that may be formatted' to the area of 'comments that must */
75 /* $ not be formatted. The indentation of a single space prevents this. */
76 /* space */
77
78 /* $ The indentation was changed from a single tab to a single space. */
79 /* indented tab */
80
81 /* $ The space between these two comments got removed. */
82 /* $ XXX: The option '-nfc1' says that comments in column 1 do not get */
83 /* $ formatted, but the comment 'block1' was moved from column 1 to 2. */
84 /* $ This is probably because there is a second comment in the same line. */
85 /* block1 *//* block2 */
86
87 /* $ It may seem strange at first that the left comment is not touched */
88 /* $ but the right comment gets spaces added. This difference is the */
89 /* $ exact purpose of the option '-nfc1', which says "do not touch comments */
90 /* $ that start in column 1. The first comment starts in column 1, the */
91 /* $ second comment doesn't. */
92 /* $ XXX: The option '-nfc1' says that comments in column 1 do not get */
93 /* $ formatted, but the comment 'block1' was moved from column 1 to 2. */
94 /* $ This is probably because there is a second comment in the same line. */
95 /*block1*//* block2 */
96 //indent end
97
98
99 /*
100 * Since 2019-04-04 and before pr_comment.c 1.123 from 2021-11-25, the
101 * function analyze_comment wrongly joined the two comments.
102 */
103 //indent input
104 /*
105 * A multi-line comment that starts
106 * in column 1.
107 *//* followed by another multi-line comment
108 * that starts in column 4.
109 */
110 //indent end
111
112 //indent run -fc1
113 /*
114 * A multi-line comment that starts in column 1.
115 *//*
116 * followed by another multi-line comment that starts in column 4.
117 */
118 //indent end
119
120 /* FIXME: The last line of the first comment must not be modified. */
121 //indent run -nfc1
122 /*
123 * A multi-line comment that starts
124 * in column 1.
125 *//*
126 * followed by another multi-line comment that starts in column 4.
127 */
128 //indent end
129
130
131 //indent input
132 /* comment */ int decl2; /* comment */
133 /* looooooooooooooooooooooooooooooooooooooooong first comment */ int decl2; /* second comment */
134 /* first comment */ int decl2; /* looooooooooooooooooooooooooooooooooooooooong second comment */
135 //indent end
136
137 //indent run -fc1
138 /* comment */ int decl2; /* comment */
139 /* looooooooooooooooooooooooooooooooooooooooong first comment */ int decl2; /* second comment */
140 /* first comment */ int decl2; /* looooooooooooooooooooooooooooooooooooooooong
141 * second comment */
142 //indent end
143
144 //indent run-equals-prev-output -nfc1
145