authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-03-21 15:29:52-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-03-21 15:40:49-04:00
log0eee98edc1e505486a9ec51a331d3aa322fce9ee
treedfdc8a69b1c1f3d2ebf89f4a09f81c1d1942866e
parenta4eaeee72011a2f7866a18420812178991feaf8d
signaturelock-open Commit is signed but in an unrecognized format.

zig cc improvements

* The generated options data file is sorted now in a way that makes sure longer prefixes are first. This prevents collisions with some parameters. * Add support for `-fPIC`, `-fno-PIC`, `-nostdlib`, `-shared`, `-rdynamic`, `-Wl,-soname`, `-Wl,-rpath` * Better support for `-o`. * Disable generating h files * Shared library support. * Better positional argument support.

6 files changed, 1845 insertions(+), 1555 deletions(-)

src-self-hosted/clang_options.zig+3-3
...@@ -20,7 +20,7 @@ pub const CliArg = struct {...@@ -20,7 +20,7 @@ pub const CliArg = struct {
20 /// Prefixed by "/"20 /// Prefixed by "/"
21 psl: bool = false,21 psl: bool = false,
2222
23 const Syntax = union(enum) {23 pub const Syntax = union(enum) {
24 /// A flag with no values.24 /// A flag with no values.
25 flag,25 flag,
2626
...@@ -46,7 +46,7 @@ pub const CliArg = struct {...@@ -46,7 +46,7 @@ pub const CliArg = struct {
46 multi_arg: u8,46 multi_arg: u8,
47 };47 };
4848
49 fn matchEql(self: CliArg, arg: []const u8) bool {49 pub fn matchEql(self: CliArg, arg: []const u8) bool {
50 if (self.pd1 and arg.len >= self.name.len + 1 and50 if (self.pd1 and arg.len >= self.name.len + 1 and
51 mem.startsWith(u8, arg, "-") and mem.eql(u8, arg[1..], self.name))51 mem.startsWith(u8, arg, "-") and mem.eql(u8, arg[1..], self.name))
52 {52 {
...@@ -65,7 +65,7 @@ pub const CliArg = struct {...@@ -65,7 +65,7 @@ pub const CliArg = struct {
65 return false;65 return false;
66 }66 }
6767
68 fn matchStartsWith(self: CliArg, arg: []const u8) usize {68 pub fn matchStartsWith(self: CliArg, arg: []const u8) usize {
69 if (self.pd1 and arg.len >= self.name.len + 1 and69 if (self.pd1 and arg.len >= self.name.len + 1 and
70 mem.startsWith(u8, arg, "-") and mem.startsWith(u8, arg[1..], self.name))70 mem.startsWith(u8, arg, "-") and mem.startsWith(u8, arg[1..], self.name))
71 {71 {
src-self-hosted/clang_options_data.zig+1497-1469
...@@ -2,21 +2,13 @@...@@ -2,21 +2,13 @@
2// zig fmt: off2// zig fmt: off
3usingnamespace @import("clang_options.zig");3usingnamespace @import("clang_options.zig");
4pub const data = blk: { @setEvalBranchQuota(6000); break :blk &[_]CliArg{4pub const data = blk: { @setEvalBranchQuota(6000); break :blk &[_]CliArg{
5jspd1("A"),
6joinpd1("A-"),
7jspd1("B"),
8flagpd1("C"),5flagpd1("C"),
9flagpd1("CC"),6flagpd1("CC"),
10jspd1("D"),
11flagpd1("E"),7flagpd1("E"),
12flagpd1("EB"),8flagpd1("EB"),
13flagpd1("EL"),9flagpd1("EL"),
14flagpd1("Eonly"),10flagpd1("Eonly"),
15jspd1("F"),
16jspd1("G"),
17joinpd1("G="),
18flagpd1("H"),11flagpd1("H"),
19jspd1("I"),
20.{12.{
21 .name = "<input>",13 .name = "<input>",
22 .syntax = .flag,14 .syntax = .flag,
...@@ -26,42 +18,25 @@ jspd1("I"),...@@ -26,42 +18,25 @@ jspd1("I"),
26 .psl = false,18 .psl = false,
27},19},
28flagpd1("I-"),20flagpd1("I-"),
29jspd1("J"),
30jspd1("L"),
31flagpd1("M"),21flagpd1("M"),
32flagpd1("MD"),22flagpd1("MD"),
33jspd1("MF"),
34flagpd1("MG"),23flagpd1("MG"),
35jspd1("MJ"),
36flagpd1("MM"),24flagpd1("MM"),
37flagpd1("MMD"),25flagpd1("MMD"),
38flagpd1("MP"),26flagpd1("MP"),
39jspd1("MQ"),
40jspd1("MT"),
41flagpd1("MV"),27flagpd1("MV"),
42flagpd1("Mach"),28flagpd1("Mach"),
43joinpd1("O"),
44flagpd1("O0"),29flagpd1("O0"),
45flagpd1("O4"),30flagpd1("O4"),
46flagpd1("O"),31flagpd1("O"),
47flagpd1("ObjC"),32flagpd1("ObjC"),
48flagpd1("ObjC++"),33flagpd1("ObjC++"),
49joinpd1("Ofast"),
50flagpd1("P"),34flagpd1("P"),
51flagpd1("Q"),35flagpd1("Q"),
52flagpd1("Qn"),36flagpd1("Qn"),
53flagpd1("Qunused-arguments"),37flagpd1("Qunused-arguments"),
54flagpd1("Qy"),38flagpd1("Qy"),
55joinpd1("R"),
56joinpd1("Rpass="),
57joinpd1("Rpass-analysis="),
58joinpd1("Rpass-missed="),
59flagpd1("S"),39flagpd1("S"),
60jspd1("T"),
61jspd1("Tbss"),
62jspd1("Tdata"),
63jspd1("Ttext"),
64jspd1("U"),
65.{40.{
66 .name = "<unknown>",41 .name = "<unknown>",
67 .syntax = .flag,42 .syntax = .flag,
...@@ -70,74 +45,24 @@ jspd1("U"),...@@ -70,74 +45,24 @@ jspd1("U"),
70 .pd2 = false,45 .pd2 = false,
71 .psl = false,46 .psl = false,
72},47},
73jspd1("V"),
74flagpd1("WCL4"),48flagpd1("WCL4"),
75joinpd1("W"),
76.{
77 .name = "Wa,",
78 .syntax = .comma_joined,
79 .zig_equivalent = .other,
80 .pd1 = true,
81 .pd2 = false,
82 .psl = false,
83},
84flagpd1("Wall"),49flagpd1("Wall"),
85flagpd1("Wdeprecated"),50flagpd1("Wdeprecated"),
86joinpd1("Wframe-larger-than="),
87.{
88 .name = "Wl,",
89 .syntax = .comma_joined,
90 .zig_equivalent = .other,
91 .pd1 = true,
92 .pd2 = false,
93 .psl = false,
94},
95joinpd1("Wlarge-by-value-copy="),
96flagpd1("Wlarge-by-value-copy"),51flagpd1("Wlarge-by-value-copy"),
97joinpd1("Wlarger-than-"),
98joinpd1("Wlarger-than="),
99flagpd1("Wno-deprecated"),52flagpd1("Wno-deprecated"),
100joinpd1("Wno-nonportable-cfstrings"),
101flagpd1("Wno-rewrite-macros"),53flagpd1("Wno-rewrite-macros"),
102flagpd1("Wno-write-strings"),54flagpd1("Wno-write-strings"),
103joinpd1("Wnonportable-cfstrings"),
104.{
105 .name = "Wp,",
106 .syntax = .comma_joined,
107 .zig_equivalent = .other,
108 .pd1 = true,
109 .pd2 = false,
110 .psl = false,
111},
112flagpd1("Wwrite-strings"),55flagpd1("Wwrite-strings"),
113flagpd1("X"),56flagpd1("X"),
114joinpd1("X"),
115sepd1("Xanalyzer"),57sepd1("Xanalyzer"),
116.{
117 .name = "Xarch_",
118 .syntax = .joined_and_separate,
119 .zig_equivalent = .other,
120 .pd1 = true,
121 .pd2 = false,
122 .psl = false,
123},
124sepd1("Xassembler"),58sepd1("Xassembler"),
125sepd1("Xclang"),59sepd1("Xclang"),
126sepd1("Xcuda-fatbinary"),60sepd1("Xcuda-fatbinary"),
127sepd1("Xcuda-ptxas"),61sepd1("Xcuda-ptxas"),
128sepd1("Xlinker"),62sepd1("Xlinker"),
129sepd1("Xopenmp-target"),63sepd1("Xopenmp-target"),
130.{
131 .name = "Xopenmp-target=",
132 .syntax = .joined_and_separate,
133 .zig_equivalent = .other,
134 .pd1 = true,
135 .pd2 = false,
136 .psl = false,
137},
138sepd1("Xpreprocessor"),64sepd1("Xpreprocessor"),
139flagpd1("Z"),65flagpd1("Z"),
140joinpd1("Z"),
141flagpd1("Z-Xlinker-no-demangle"),66flagpd1("Z-Xlinker-no-demangle"),
142flagpd1("Z-reserved-lib-cckext"),67flagpd1("Z-reserved-lib-cckext"),
143flagpd1("Z-reserved-lib-stdc++"),68flagpd1("Z-reserved-lib-stdc++"),
...@@ -150,23 +75,7 @@ sepd1("Zlinker-input"),...@@ -150,23 +75,7 @@ sepd1("Zlinker-input"),
150 .pd2 = true,75 .pd2 = true,
151 .psl = false,76 .psl = false,
152},77},
153.{
154 .name = "CLASSPATH=",
155 .syntax = .joined,
156 .zig_equivalent = .other,
157 .pd1 = false,
158 .pd2 = true,
159 .psl = false,
160},
161flagpd1("###"),78flagpd1("###"),
162.{
163 .name = "AI",
164 .syntax = .joined_or_separate,
165 .zig_equivalent = .other,
166 .pd1 = true,
167 .pd2 = false,
168 .psl = true,
169},
170.{79.{
171 .name = "Brepro",80 .name = "Brepro",
172 .syntax = .flag,81 .syntax = .flag,
...@@ -207,14 +116,6 @@ flagpd1("###"),...@@ -207,14 +116,6 @@ flagpd1("###"),
207 .pd2 = false,116 .pd2 = false,
208 .psl = true,117 .psl = true,
209},118},
210.{
211 .name = "D",
212 .syntax = .joined_or_separate,
213 .zig_equivalent = .other,
214 .pd1 = true,
215 .pd2 = false,
216 .psl = true,
217},
218.{119.{
219 .name = "E",120 .name = "E",
220 .syntax = .flag,121 .syntax = .flag,
...@@ -223,14 +124,6 @@ flagpd1("###"),...@@ -223,14 +124,6 @@ flagpd1("###"),
223 .pd2 = false,124 .pd2 = false,
224 .psl = true,125 .psl = true,
225},126},
226.{
227 .name = "EH",
228 .syntax = .joined,
229 .zig_equivalent = .other,
230 .pd1 = true,
231 .pd2 = false,
232 .psl = true,
233},
234.{127.{
235 .name = "EP",128 .name = "EP",
236 .syntax = .flag,129 .syntax = .flag,
...@@ -239,14 +132,6 @@ flagpd1("###"),...@@ -239,14 +132,6 @@ flagpd1("###"),
239 .pd2 = false,132 .pd2 = false,
240 .psl = true,133 .psl = true,
241},134},
242.{
243 .name = "F",
244 .syntax = .joined_or_separate,
245 .zig_equivalent = .other,
246 .pd1 = true,
247 .pd2 = false,
248 .psl = true,
249},
250.{135.{
251 .name = "FA",136 .name = "FA",
252 .syntax = .flag,137 .syntax = .flag,
...@@ -255,14 +140,6 @@ flagpd1("###"),...@@ -255,14 +140,6 @@ flagpd1("###"),
255 .pd2 = false,140 .pd2 = false,
256 .psl = true,141 .psl = true,
257},142},
258.{
259 .name = "FA",
260 .syntax = .joined,
261 .zig_equivalent = .other,
262 .pd1 = true,
263 .pd2 = false,
264 .psl = true,
265},
266.{143.{
267 .name = "FC",144 .name = "FC",
268 .syntax = .flag,145 .syntax = .flag,
...@@ -271,22 +148,6 @@ flagpd1("###"),...@@ -271,22 +148,6 @@ flagpd1("###"),
271 .pd2 = false,148 .pd2 = false,
272 .psl = true,149 .psl = true,
273},150},
274.{
275 .name = "FI",
276 .syntax = .joined_or_separate,
277 .zig_equivalent = .other,
278 .pd1 = true,
279 .pd2 = false,
280 .psl = true,
281},
282.{
283 .name = "FR",
284 .syntax = .joined,
285 .zig_equivalent = .other,
286 .pd1 = true,
287 .pd2 = false,
288 .psl = true,
289},
290.{151.{
291 .name = "FS",152 .name = "FS",
292 .syntax = .flag,153 .syntax = .flag,
...@@ -295,78 +156,6 @@ flagpd1("###"),...@@ -295,78 +156,6 @@ flagpd1("###"),
295 .pd2 = false,156 .pd2 = false,
296 .psl = true,157 .psl = true,
297},158},
298.{
299 .name = "FU",
300 .syntax = .joined_or_separate,
301 .zig_equivalent = .other,
302 .pd1 = true,
303 .pd2 = false,
304 .psl = true,
305},
306.{
307 .name = "Fa",
308 .syntax = .joined,
309 .zig_equivalent = .other,
310 .pd1 = true,
311 .pd2 = false,
312 .psl = true,
313},
314.{
315 .name = "Fd",
316 .syntax = .joined,
317 .zig_equivalent = .other,
318 .pd1 = true,
319 .pd2 = false,
320 .psl = true,
321},
322.{
323 .name = "Fe",
324 .syntax = .joined,
325 .zig_equivalent = .other,
326 .pd1 = true,
327 .pd2 = false,
328 .psl = true,
329},
330.{
331 .name = "Fi",
332 .syntax = .joined,
333 .zig_equivalent = .other,
334 .pd1 = true,
335 .pd2 = false,
336 .psl = true,
337},
338.{
339 .name = "Fm",
340 .syntax = .joined,
341 .zig_equivalent = .other,
342 .pd1 = true,
343 .pd2 = false,
344 .psl = true,
345},
346.{
347 .name = "Fo",
348 .syntax = .joined,
349 .zig_equivalent = .other,
350 .pd1 = true,
351 .pd2 = false,
352 .psl = true,
353},
354.{
355 .name = "Fp",
356 .syntax = .joined,
357 .zig_equivalent = .other,
358 .pd1 = true,
359 .pd2 = false,
360 .psl = true,
361},
362.{
363 .name = "Fr",
364 .syntax = .joined,
365 .zig_equivalent = .other,
366 .pd1 = true,
367 .pd2 = false,
368 .psl = true,
369},
370.{159.{
371 .name = "Fx",160 .name = "Fx",
372 .syntax = .flag,161 .syntax = .flag,
...@@ -559,14 +348,6 @@ flagpd1("###"),...@@ -559,14 +348,6 @@ flagpd1("###"),
559 .pd2 = false,348 .pd2 = false,
560 .psl = true,349 .psl = true,
561},350},
562.{
563 .name = "Gs",
564 .syntax = .joined,
565 .zig_equivalent = .other,
566 .pd1 = true,
567 .pd2 = false,
568 .psl = true,
569},
570.{351.{
571 .name = "Gv",352 .name = "Gv",
572 .syntax = .flag,353 .syntax = .flag,
...@@ -631,14 +412,6 @@ flagpd1("###"),...@@ -631,14 +412,6 @@ flagpd1("###"),
631 .pd2 = false,412 .pd2 = false,
632 .psl = true,413 .psl = true,
633},414},
634.{
635 .name = "I",
636 .syntax = .joined_or_separate,
637 .zig_equivalent = .other,
638 .pd1 = true,
639 .pd2 = false,
640 .psl = true,
641},
642.{415.{
643 .name = "J",416 .name = "J",
644 .syntax = .flag,417 .syntax = .flag,
...@@ -695,14 +468,6 @@ flagpd1("###"),...@@ -695,14 +468,6 @@ flagpd1("###"),
695 .pd2 = false,468 .pd2 = false,
696 .psl = true,469 .psl = true,
697},470},
698.{
699 .name = "MP",
700 .syntax = .joined,
701 .zig_equivalent = .other,
702 .pd1 = true,
703 .pd2 = false,
704 .psl = true,
705},
706.{471.{
707 .name = "MT",472 .name = "MT",
708 .syntax = .flag,473 .syntax = .flag,
...@@ -719,14 +484,6 @@ flagpd1("###"),...@@ -719,14 +484,6 @@ flagpd1("###"),
719 .pd2 = false,484 .pd2 = false,
720 .psl = true,485 .psl = true,
721},486},
722.{
723 .name = "O",
724 .syntax = .joined,
725 .zig_equivalent = .other,
726 .pd1 = true,
727 .pd2 = false,
728 .psl = true,
729},
730.{487.{
731 .name = "P",488 .name = "P",
732 .syntax = .flag,489 .syntax = .flag,
...@@ -775,14 +532,6 @@ flagpd1("###"),...@@ -775,14 +532,6 @@ flagpd1("###"),
775 .pd2 = false,532 .pd2 = false,
776 .psl = true,533 .psl = true,
777},534},
778.{
779 .name = "Qpar-report",
780 .syntax = .joined,
781 .zig_equivalent = .other,
782 .pd1 = true,
783 .pd2 = false,
784 .psl = true,
785},
786.{535.{
787 .name = "Qsafe_fp_loads",536 .name = "Qsafe_fp_loads",
788 .syntax = .flag,537 .syntax = .flag,
...@@ -816,24 +565,8 @@ flagpd1("###"),...@@ -816,24 +565,8 @@ flagpd1("###"),
816 .psl = true,565 .psl = true,
817},566},
818.{567.{
819 .name = "Qvec-report",568 .name = "TC",
820 .syntax = .joined,569 .syntax = .flag,
821 .zig_equivalent = .other,
822 .pd1 = true,
823 .pd2 = false,
824 .psl = true,
825},
826.{
827 .name = "RTC",
828 .syntax = .joined,
829 .zig_equivalent = .other,
830 .pd1 = true,
831 .pd2 = false,
832 .psl = true,
833},
834.{
835 .name = "TC",
836 .syntax = .flag,
837 .zig_equivalent = .other,570 .zig_equivalent = .other,
838 .pd1 = true,571 .pd1 = true,
839 .pd2 = false,572 .pd2 = false,
...@@ -847,30 +580,6 @@ flagpd1("###"),...@@ -847,30 +580,6 @@ flagpd1("###"),
847 .pd2 = false,580 .pd2 = false,
848 .psl = true,581 .psl = true,
849},582},
850.{
851 .name = "Tc",
852 .syntax = .joined_or_separate,
853 .zig_equivalent = .other,
854 .pd1 = true,
855 .pd2 = false,
856 .psl = true,
857},
858.{
859 .name = "Tp",
860 .syntax = .joined_or_separate,
861 .zig_equivalent = .other,
862 .pd1 = true,
863 .pd2 = false,
864 .psl = true,
865},
866.{
867 .name = "U",
868 .syntax = .joined_or_separate,
869 .zig_equivalent = .other,
870 .pd1 = true,
871 .pd2 = false,
872 .psl = true,
873},
874.{583.{
875 .name = "V",584 .name = "V",
876 .syntax = .flag,585 .syntax = .flag,
...@@ -975,14 +684,6 @@ flagpd1("###"),...@@ -975,14 +684,6 @@ flagpd1("###"),
975 .pd2 = false,684 .pd2 = false,
976 .psl = true,685 .psl = true,
977},686},
978.{
979 .name = "Yc",
980 .syntax = .joined,
981 .zig_equivalent = .other,
982 .pd1 = true,
983 .pd2 = false,
984 .psl = true,
985},
986.{687.{
987 .name = "Yd",688 .name = "Yd",
988 .syntax = .flag,689 .syntax = .flag,
...@@ -991,22 +692,6 @@ flagpd1("###"),...@@ -991,22 +692,6 @@ flagpd1("###"),
991 .pd2 = false,692 .pd2 = false,
992 .psl = true,693 .psl = true,
993},694},
994.{
995 .name = "Yl",
996 .syntax = .joined,
997 .zig_equivalent = .other,
998 .pd1 = true,
999 .pd2 = false,
1000 .psl = true,
1001},
1002.{
1003 .name = "Yu",
1004 .syntax = .joined,
1005 .zig_equivalent = .other,
1006 .pd1 = true,
1007 .pd2 = false,
1008 .psl = true,
1009},
1010.{695.{
1011 .name = "Z7",696 .name = "Z7",
1012 .syntax = .flag,697 .syntax = .flag,
...@@ -1047,14 +732,6 @@ flagpd1("###"),...@@ -1047,14 +732,6 @@ flagpd1("###"),
1047 .pd2 = false,732 .pd2 = false,
1048 .psl = true,733 .psl = true,
1049},734},
1050.{
1051 .name = "ZW",
1052 .syntax = .joined,
1053 .zig_equivalent = .other,
1054 .pd1 = true,
1055 .pd2 = false,
1056 .psl = true,
1057},
1058.{735.{
1059 .name = "Za",736 .name = "Za",
1060 .syntax = .flag,737 .syntax = .flag,
...@@ -1063,14 +740,6 @@ flagpd1("###"),...@@ -1063,14 +740,6 @@ flagpd1("###"),
1063 .pd2 = false,740 .pd2 = false,
1064 .psl = true,741 .psl = true,
1065},742},
1066.{
1067 .name = "Zc:",
1068 .syntax = .joined,
1069 .zig_equivalent = .other,
1070 .pd1 = true,
1071 .pd2 = false,
1072 .psl = true,
1073},
1074.{743.{
1075 .name = "Zc:__cplusplus",744 .name = "Zc:__cplusplus",
1076 .syntax = .flag,745 .syntax = .flag,
...@@ -1287,14 +956,6 @@ flagpd1("###"),...@@ -1287,14 +956,6 @@ flagpd1("###"),
1287 .pd2 = false,956 .pd2 = false,
1288 .psl = true,957 .psl = true,
1289},958},
1290.{
1291 .name = "Zm",
1292 .syntax = .joined,
1293 .zig_equivalent = .other,
1294 .pd1 = true,
1295 .pd2 = false,
1296 .psl = true,
1297},
1298.{959.{
1299 .name = "Zo",960 .name = "Zo",
1300 .syntax = .flag,961 .syntax = .flag,
...@@ -1311,14 +972,6 @@ flagpd1("###"),...@@ -1311,14 +972,6 @@ flagpd1("###"),
1311 .pd2 = false,972 .pd2 = false,
1312 .psl = true,973 .psl = true,
1313},974},
1314.{
1315 .name = "Zp",
1316 .syntax = .joined,
1317 .zig_equivalent = .other,
1318 .pd1 = true,
1319 .pd2 = false,
1320 .psl = true,
1321},
1322.{975.{
1323 .name = "Zp",976 .name = "Zp",
1324 .syntax = .flag,977 .syntax = .flag,
...@@ -1343,14 +996,6 @@ flagpd1("###"),...@@ -1343,14 +996,6 @@ flagpd1("###"),
1343 .pd2 = false,996 .pd2 = false,
1344 .psl = true,997 .psl = true,
1345},998},
1346.{
1347 .name = "arch:",
1348 .syntax = .joined,
1349 .zig_equivalent = .other,
1350 .pd1 = true,
1351 .pd2 = false,
1352 .psl = true,
1353},
1354.{999.{
1355 .name = "await",1000 .name = "await",
1356 .syntax = .flag,1001 .syntax = .flag,
...@@ -1375,38 +1020,6 @@ flagpd1("###"),...@@ -1375,38 +1020,6 @@ flagpd1("###"),
1375 .pd2 = false,1020 .pd2 = false,
1376 .psl = true,1021 .psl = true,
1377},1022},
1378.{
1379 .name = "cgthreads",
1380 .syntax = .joined,
1381 .zig_equivalent = .other,
1382 .pd1 = true,
1383 .pd2 = false,
1384 .psl = true,
1385},
1386.{
1387 .name = "clang:",
1388 .syntax = .joined,
1389 .zig_equivalent = .other,
1390 .pd1 = true,
1391 .pd2 = false,
1392 .psl = true,
1393},
1394.{
1395 .name = "clr",
1396 .syntax = .joined,
1397 .zig_equivalent = .other,
1398 .pd1 = true,
1399 .pd2 = false,
1400 .psl = true,
1401},
1402.{
1403 .name = "constexpr:",
1404 .syntax = .joined,
1405 .zig_equivalent = .other,
1406 .pd1 = true,
1407 .pd2 = false,
1408 .psl = true,
1409},
1410.{1023.{
1411 .name = "d1PP",1024 .name = "d1PP",
1412 .syntax = .flag,1025 .syntax = .flag,
...@@ -1423,14 +1036,6 @@ flagpd1("###"),...@@ -1423,14 +1036,6 @@ flagpd1("###"),
1423 .pd2 = false,1036 .pd2 = false,
1424 .psl = true,1037 .psl = true,
1425},1038},
1426.{
1427 .name = "d2",
1428 .syntax = .joined,
1429 .zig_equivalent = .other,
1430 .pd1 = true,
1431 .pd2 = false,
1432 .psl = true,
1433},
1434.{1039.{
1435 .name = "d2FastFail",1040 .name = "d2FastFail",
1436 .syntax = .flag,1041 .syntax = .flag,
...@@ -1471,30 +1076,6 @@ flagpd1("###"),...@@ -1471,30 +1076,6 @@ flagpd1("###"),
1471 .pd2 = false,1076 .pd2 = false,
1472 .psl = true,1077 .psl = true,
1473},1078},
1474.{
1475 .name = "doc",
1476 .syntax = .joined,
1477 .zig_equivalent = .other,
1478 .pd1 = true,
1479 .pd2 = false,
1480 .psl = true,
1481},
1482.{
1483 .name = "errorReport",
1484 .syntax = .joined,
1485 .zig_equivalent = .other,
1486 .pd1 = true,
1487 .pd2 = false,
1488 .psl = true,
1489},
1490.{
1491 .name = "execution-charset:",
1492 .syntax = .joined,
1493 .zig_equivalent = .other,
1494 .pd1 = true,
1495 .pd2 = false,
1496 .psl = true,
1497},
1498.{1079.{
1499 .name = "fallback",1080 .name = "fallback",
1500 .syntax = .flag,1081 .syntax = .flag,
...@@ -1503,14 +1084,6 @@ flagpd1("###"),...@@ -1503,14 +1084,6 @@ flagpd1("###"),
1503 .pd2 = false,1084 .pd2 = false,
1504 .psl = true,1085 .psl = true,
1505},1086},
1506.{
1507 .name = "favor",
1508 .syntax = .joined,
1509 .zig_equivalent = .other,
1510 .pd1 = true,
1511 .pd2 = false,
1512 .psl = true,
1513},
1514.{1087.{
1515 .name = "fp:except",1088 .name = "fp:except",
1516 .syntax = .flag,1089 .syntax = .flag,
...@@ -1551,18 +1124,10 @@ flagpd1("###"),...@@ -1551,18 +1124,10 @@ flagpd1("###"),
1551 .pd2 = false,1124 .pd2 = false,
1552 .psl = true,1125 .psl = true,
1553},1126},
1554.{
1555 .name = "guard:",
1556 .syntax = .joined,
1557 .zig_equivalent = .other,
1558 .pd1 = true,
1559 .pd2 = false,
1560 .psl = true,
1561},
1562.{1127.{
1563 .name = "help",1128 .name = "help",
1564 .syntax = .flag,1129 .syntax = .flag,
1565 .zig_equivalent = .other,1130 .zig_equivalent = .passthrough,
1566 .pd1 = true,1131 .pd1 = true,
1567 .pd2 = false,1132 .pd2 = false,
1568 .psl = true,1133 .psl = true,
...@@ -1583,14 +1148,6 @@ flagpd1("###"),...@@ -1583,14 +1148,6 @@ flagpd1("###"),
1583 .pd2 = false,1148 .pd2 = false,
1584 .psl = true,1149 .psl = true,
1585},1150},
1586.{
1587 .name = "imsvc",
1588 .syntax = .joined_or_separate,
1589 .zig_equivalent = .other,
1590 .pd1 = true,
1591 .pd2 = false,
1592 .psl = true,
1593},
1594.{1151.{
1595 .name = "kernel",1152 .name = "kernel",
1596 .syntax = .flag,1153 .syntax = .flag,
...@@ -1607,14 +1164,6 @@ flagpd1("###"),...@@ -1607,14 +1164,6 @@ flagpd1("###"),
1607 .pd2 = false,1164 .pd2 = false,
1608 .psl = true,1165 .psl = true,
1609},1166},
1610.{
1611 .name = "link",
1612 .syntax = .remaining_args_joined,
1613 .zig_equivalent = .other,
1614 .pd1 = true,
1615 .pd2 = false,
1616 .psl = true,
1617},
1618.{1167.{
1619 .name = "nologo",1168 .name = "nologo",
1620 .syntax = .flag,1169 .syntax = .flag,
...@@ -1623,14 +1172,6 @@ flagpd1("###"),...@@ -1623,14 +1172,6 @@ flagpd1("###"),
1623 .pd2 = false,1172 .pd2 = false,
1624 .psl = true,1173 .psl = true,
1625},1174},
1626.{
1627 .name = "o",
1628 .syntax = .joined_or_separate,
1629 .zig_equivalent = .o,
1630 .pd1 = true,
1631 .pd2 = false,
1632 .psl = true,
1633},
1634.{1175.{
1635 .name = "openmp",1176 .name = "openmp",
1636 .syntax = .flag,1177 .syntax = .flag,
...@@ -1703,22 +1244,6 @@ flagpd1("###"),...@@ -1703,22 +1244,6 @@ flagpd1("###"),
1703 .pd2 = false,1244 .pd2 = false,
1704 .psl = true,1245 .psl = true,
1705},1246},
1706.{
1707 .name = "source-charset:",
1708 .syntax = .joined,
1709 .zig_equivalent = .other,
1710 .pd1 = true,
1711 .pd2 = false,
1712 .psl = true,
1713},
1714.{
1715 .name = "std:",
1716 .syntax = .joined,
1717 .zig_equivalent = .other,
1718 .pd1 = true,
1719 .pd2 = false,
1720 .psl = true,
1721},
1722.{1247.{
1723 .name = "u",1248 .name = "u",
1724 .syntax = .flag,1249 .syntax = .flag,
...@@ -1751,14 +1276,6 @@ flagpd1("###"),...@@ -1751,14 +1276,6 @@ flagpd1("###"),
1751 .pd2 = false,1276 .pd2 = false,
1752 .psl = true,1277 .psl = true,
1753},1278},
1754.{
1755 .name = "vd",
1756 .syntax = .joined,
1757 .zig_equivalent = .other,
1758 .pd1 = true,
1759 .pd2 = false,
1760 .psl = true,
1761},
1762.{1279.{
1763 .name = "vmb",1280 .name = "vmb",
1764 .syntax = .flag,1281 .syntax = .flag,
...@@ -1815,14 +1332,6 @@ flagpd1("###"),...@@ -1815,14 +1332,6 @@ flagpd1("###"),
1815 .pd2 = false,1332 .pd2 = false,
1816 .psl = true,1333 .psl = true,
1817},1334},
1818.{
1819 .name = "w",
1820 .syntax = .joined,
1821 .zig_equivalent = .other,
1822 .pd1 = true,
1823 .pd2 = false,
1824 .psl = true,
1825},
1826.{1335.{
1827 .name = "w",1336 .name = "w",
1828 .syntax = .flag,1337 .syntax = .flag,
...@@ -1895,14 +1404,6 @@ flagpd1("###"),...@@ -1895,14 +1404,6 @@ flagpd1("###"),
1895 .pd2 = true,1404 .pd2 = true,
1896 .psl = false,1405 .psl = false,
1897},1406},
1898.{
1899 .name = "analyzer-output",
1900 .syntax = .joined_or_separate,
1901 .zig_equivalent = .other,
1902 .pd1 = false,
1903 .pd2 = true,
1904 .psl = false,
1905},
1906.{1407.{
1907 .name = "assemble",1408 .name = "assemble",
1908 .syntax = .flag,1409 .syntax = .flag,
...@@ -1920,45 +1421,21 @@ flagpd1("###"),...@@ -1920,45 +1421,21 @@ flagpd1("###"),
1920 .psl = false,1421 .psl = false,
1921},1422},
1922.{1423.{
1923 .name = "assert=",1424 .name = "bootclasspath",
1924 .syntax = .joined,1425 .syntax = .separate,
1925 .zig_equivalent = .other,1426 .zig_equivalent = .other,
1926 .pd1 = false,1427 .pd1 = false,
1927 .pd2 = true,1428 .pd2 = true,
1928 .psl = false,1429 .psl = false,
1929},1430},
1930.{1431.{
1931 .name = "bootclasspath",1432 .name = "classpath",
1932 .syntax = .separate,1433 .syntax = .separate,
1933 .zig_equivalent = .other,1434 .zig_equivalent = .other,
1934 .pd1 = false,1435 .pd1 = false,
1935 .pd2 = true,1436 .pd2 = true,
1936 .psl = false,1437 .psl = false,
1937},1438},
1938.{
1939 .name = "bootclasspath=",
1940 .syntax = .joined,
1941 .zig_equivalent = .other,
1942 .pd1 = false,
1943 .pd2 = true,
1944 .psl = false,
1945},
1946.{
1947 .name = "classpath",
1948 .syntax = .separate,
1949 .zig_equivalent = .other,
1950 .pd1 = false,
1951 .pd2 = true,
1952 .psl = false,
1953},
1954.{
1955 .name = "classpath=",
1956 .syntax = .joined,
1957 .zig_equivalent = .other,
1958 .pd1 = false,
1959 .pd2 = true,
1960 .psl = false,
1961},
1962.{1439.{
1963 .name = "comments",1440 .name = "comments",
1964 .syntax = .flag,1441 .syntax = .flag,
...@@ -1999,14 +1476,6 @@ flagpd1("###"),...@@ -1999,14 +1476,6 @@ flagpd1("###"),
1999 .pd2 = true,1476 .pd2 = true,
2000 .psl = false,1477 .psl = false,
2001},1478},
2002.{
2003 .name = "debug=",
2004 .syntax = .joined,
2005 .zig_equivalent = .other,
2006 .pd1 = false,
2007 .pd2 = true,
2008 .psl = false,
2009},
2010.{1479.{
2011 .name = "define-macro",1480 .name = "define-macro",
2012 .syntax = .separate,1481 .syntax = .separate,
...@@ -2015,14 +1484,6 @@ flagpd1("###"),...@@ -2015,14 +1484,6 @@ flagpd1("###"),
2015 .pd2 = true,1484 .pd2 = true,
2016 .psl = false,1485 .psl = false,
2017},1486},
2018.{
2019 .name = "define-macro=",
2020 .syntax = .joined,
2021 .zig_equivalent = .other,
2022 .pd1 = false,
2023 .pd2 = true,
2024 .psl = false,
2025},
2026.{1487.{
2027 .name = "dependencies",1488 .name = "dependencies",
2028 .syntax = .flag,1489 .syntax = .flag,
...@@ -2039,14 +1500,6 @@ flagpd1("###"),...@@ -2039,14 +1500,6 @@ flagpd1("###"),
2039 .pd2 = true,1500 .pd2 = true,
2040 .psl = false,1501 .psl = false,
2041},1502},
2042.{
2043 .name = "dyld-prefix=",
2044 .syntax = .joined,
2045 .zig_equivalent = .other,
2046 .pd1 = false,
2047 .pd2 = true,
2048 .psl = false,
2049},
2050.{1503.{
2051 .name = "encoding",1504 .name = "encoding",
2052 .syntax = .separate,1505 .syntax = .separate,
...@@ -2055,14 +1508,6 @@ flagpd1("###"),...@@ -2055,14 +1508,6 @@ flagpd1("###"),
2055 .pd2 = true,1508 .pd2 = true,
2056 .psl = false,1509 .psl = false,
2057},1510},
2058.{
2059 .name = "encoding=",
2060 .syntax = .joined,
2061 .zig_equivalent = .other,
2062 .pd1 = false,
2063 .pd2 = true,
2064 .psl = false,
2065},
2066.{1511.{
2067 .name = "entry",1512 .name = "entry",
2068 .syntax = .flag,1513 .syntax = .flag,
...@@ -2079,14 +1524,6 @@ flagpd1("###"),...@@ -2079,14 +1524,6 @@ flagpd1("###"),
2079 .pd2 = true,1524 .pd2 = true,
2080 .psl = false,1525 .psl = false,
2081},1526},
2082.{
2083 .name = "extdirs=",
2084 .syntax = .joined,
2085 .zig_equivalent = .other,
2086 .pd1 = false,
2087 .pd2 = true,
2088 .psl = false,
2089},
2090.{1527.{
2091 .name = "extra-warnings",1528 .name = "extra-warnings",
2092 .syntax = .flag,1529 .syntax = .flag,
...@@ -2103,14 +1540,6 @@ flagpd1("###"),...@@ -2103,14 +1540,6 @@ flagpd1("###"),
2103 .pd2 = true,1540 .pd2 = true,
2104 .psl = false,1541 .psl = false,
2105},1542},
2106.{
2107 .name = "for-linker=",
2108 .syntax = .joined,
2109 .zig_equivalent = .other,
2110 .pd1 = false,
2111 .pd2 = true,
2112 .psl = false,
2113},
2114.{1543.{
2115 .name = "force-link",1544 .name = "force-link",
2116 .syntax = .separate,1545 .syntax = .separate,
...@@ -2119,14 +1548,6 @@ flagpd1("###"),...@@ -2119,14 +1548,6 @@ flagpd1("###"),
2119 .pd2 = true,1548 .pd2 = true,
2120 .psl = false,1549 .psl = false,
2121},1550},
2122.{
2123 .name = "force-link=",
2124 .syntax = .joined,
2125 .zig_equivalent = .other,
2126 .pd1 = false,
2127 .pd2 = true,
2128 .psl = false,
2129},
2130.{1551.{
2131 .name = "help-hidden",1552 .name = "help-hidden",
2132 .syntax = .flag,1553 .syntax = .flag,
...@@ -2135,22 +1556,6 @@ flagpd1("###"),...@@ -2135,22 +1556,6 @@ flagpd1("###"),
2135 .pd2 = true,1556 .pd2 = true,
2136 .psl = false,1557 .psl = false,
2137},1558},
2138.{
2139 .name = "imacros=",
2140 .syntax = .joined,
2141 .zig_equivalent = .other,
2142 .pd1 = false,
2143 .pd2 = true,
2144 .psl = false,
2145},
2146.{
2147 .name = "include=",
2148 .syntax = .joined,
2149 .zig_equivalent = .other,
2150 .pd1 = false,
2151 .pd2 = true,
2152 .psl = false,
2153},
2154.{1559.{
2155 .name = "include-barrier",1560 .name = "include-barrier",
2156 .syntax = .flag,1561 .syntax = .flag,
...@@ -2167,14 +1572,6 @@ flagpd1("###"),...@@ -2167,14 +1572,6 @@ flagpd1("###"),
2167 .pd2 = true,1572 .pd2 = true,
2168 .psl = false,1573 .psl = false,
2169},1574},
2170.{
2171 .name = "include-directory=",
2172 .syntax = .joined,
2173 .zig_equivalent = .other,
2174 .pd1 = false,
2175 .pd2 = true,
2176 .psl = false,
2177},
2178.{1575.{
2179 .name = "include-directory-after",1576 .name = "include-directory-after",
2180 .syntax = .separate,1577 .syntax = .separate,
...@@ -2183,14 +1580,6 @@ flagpd1("###"),...@@ -2183,14 +1580,6 @@ flagpd1("###"),
2183 .pd2 = true,1580 .pd2 = true,
2184 .psl = false,1581 .psl = false,
2185},1582},
2186.{
2187 .name = "include-directory-after=",
2188 .syntax = .joined,
2189 .zig_equivalent = .other,
2190 .pd1 = false,
2191 .pd2 = true,
2192 .psl = false,
2193},
2194.{1583.{
2195 .name = "include-prefix",1584 .name = "include-prefix",
2196 .syntax = .separate,1585 .syntax = .separate,
...@@ -2199,14 +1588,6 @@ flagpd1("###"),...@@ -2199,14 +1588,6 @@ flagpd1("###"),
2199 .pd2 = true,1588 .pd2 = true,
2200 .psl = false,1589 .psl = false,
2201},1590},
2202.{
2203 .name = "include-prefix=",
2204 .syntax = .joined,
2205 .zig_equivalent = .other,
2206 .pd1 = false,
2207 .pd2 = true,
2208 .psl = false,
2209},
2210.{1591.{
2211 .name = "include-with-prefix",1592 .name = "include-with-prefix",
2212 .syntax = .separate,1593 .syntax = .separate,
...@@ -2215,14 +1596,6 @@ flagpd1("###"),...@@ -2215,14 +1596,6 @@ flagpd1("###"),
2215 .pd2 = true,1596 .pd2 = true,
2216 .psl = false,1597 .psl = false,
2217},1598},
2218.{
2219 .name = "include-with-prefix=",
2220 .syntax = .joined,
2221 .zig_equivalent = .other,
2222 .pd1 = false,
2223 .pd2 = true,
2224 .psl = false,
2225},
2226.{1599.{
2227 .name = "include-with-prefix-after",1600 .name = "include-with-prefix-after",
2228 .syntax = .separate,1601 .syntax = .separate,
...@@ -2231,14 +1604,6 @@ flagpd1("###"),...@@ -2231,14 +1604,6 @@ flagpd1("###"),
2231 .pd2 = true,1604 .pd2 = true,
2232 .psl = false,1605 .psl = false,
2233},1606},
2234.{
2235 .name = "include-with-prefix-after=",
2236 .syntax = .joined,
2237 .zig_equivalent = .other,
2238 .pd1 = false,
2239 .pd2 = true,
2240 .psl = false,
2241},
2242.{1607.{
2243 .name = "include-with-prefix-before",1608 .name = "include-with-prefix-before",
2244 .syntax = .separate,1609 .syntax = .separate,
...@@ -2247,14 +1612,6 @@ flagpd1("###"),...@@ -2247,14 +1612,6 @@ flagpd1("###"),
2247 .pd2 = true,1612 .pd2 = true,
2248 .psl = false,1613 .psl = false,
2249},1614},
2250.{
2251 .name = "include-with-prefix-before=",
2252 .syntax = .joined,
2253 .zig_equivalent = .other,
2254 .pd1 = false,
2255 .pd2 = true,
2256 .psl = false,
2257},
2258.{1615.{
2259 .name = "language",1616 .name = "language",
2260 .syntax = .separate,1617 .syntax = .separate,
...@@ -2263,14 +1620,6 @@ flagpd1("###"),...@@ -2263,14 +1620,6 @@ flagpd1("###"),
2263 .pd2 = true,1620 .pd2 = true,
2264 .psl = false,1621 .psl = false,
2265},1622},
2266.{
2267 .name = "language=",
2268 .syntax = .joined,
2269 .zig_equivalent = .other,
2270 .pd1 = false,
2271 .pd2 = true,
2272 .psl = false,
2273},
2274.{1623.{
2275 .name = "library-directory",1624 .name = "library-directory",
2276 .syntax = .separate,1625 .syntax = .separate,
...@@ -2279,14 +1628,6 @@ flagpd1("###"),...@@ -2279,14 +1628,6 @@ flagpd1("###"),
2279 .pd2 = true,1628 .pd2 = true,
2280 .psl = false,1629 .psl = false,
2281},1630},
2282.{
2283 .name = "library-directory=",
2284 .syntax = .joined,
2285 .zig_equivalent = .other,
2286 .pd1 = false,
2287 .pd2 = true,
2288 .psl = false,
2289},
2290.{1631.{
2291 .name = "mhwdiv",1632 .name = "mhwdiv",
2292 .syntax = .separate,1633 .syntax = .separate,
...@@ -2295,14 +1636,6 @@ flagpd1("###"),...@@ -2295,14 +1636,6 @@ flagpd1("###"),
2295 .pd2 = true,1636 .pd2 = true,
2296 .psl = false,1637 .psl = false,
2297},1638},
2298.{
2299 .name = "mhwdiv=",
2300 .syntax = .joined,
2301 .zig_equivalent = .other,
2302 .pd1 = false,
2303 .pd2 = true,
2304 .psl = false,
2305},
2306.{1639.{
2307 .name = "migrate",1640 .name = "migrate",
2308 .syntax = .flag,1641 .syntax = .flag,
...@@ -2330,7 +1663,7 @@ flagpd1("###"),...@@ -2330,7 +1663,7 @@ flagpd1("###"),
2330.{1663.{
2331 .name = "no-standard-libraries",1664 .name = "no-standard-libraries",
2332 .syntax = .flag,1665 .syntax = .flag,
2333 .zig_equivalent = .other,1666 .zig_equivalent = .nostdlib,
2334 .pd1 = false,1667 .pd1 = false,
2335 .pd2 = true,1668 .pd2 = true,
2336 .psl = false,1669 .psl = false,
...@@ -2359,14 +1692,6 @@ flagpd1("###"),...@@ -2359,14 +1692,6 @@ flagpd1("###"),
2359 .pd2 = true,1692 .pd2 = true,
2360 .psl = false,1693 .psl = false,
2361},1694},
2362.{
2363 .name = "optimize=",
2364 .syntax = .joined,
2365 .zig_equivalent = .other,
2366 .pd1 = false,
2367 .pd2 = true,
2368 .psl = false,
2369},
2370.{1695.{
2371 .name = "output",1696 .name = "output",
2372 .syntax = .separate,1697 .syntax = .separate,
...@@ -2375,14 +1700,6 @@ flagpd1("###"),...@@ -2375,14 +1700,6 @@ flagpd1("###"),
2375 .pd2 = true,1700 .pd2 = true,
2376 .psl = false,1701 .psl = false,
2377},1702},
2378.{
2379 .name = "output=",
2380 .syntax = .joined,
2381 .zig_equivalent = .other,
2382 .pd1 = false,
2383 .pd2 = true,
2384 .psl = false,
2385},
2386.{1703.{
2387 .name = "output-class-directory",1704 .name = "output-class-directory",
2388 .syntax = .separate,1705 .syntax = .separate,
...@@ -2391,14 +1708,6 @@ flagpd1("###"),...@@ -2391,14 +1708,6 @@ flagpd1("###"),
2391 .pd2 = true,1708 .pd2 = true,
2392 .psl = false,1709 .psl = false,
2393},1710},
2394.{
2395 .name = "output-class-directory=",
2396 .syntax = .joined,
2397 .zig_equivalent = .other,
2398 .pd1 = false,
2399 .pd2 = true,
2400 .psl = false,
2401},
2402.{1711.{
2403 .name = "param",1712 .name = "param",
2404 .syntax = .separate,1713 .syntax = .separate,
...@@ -2407,14 +1716,6 @@ flagpd1("###"),...@@ -2407,14 +1716,6 @@ flagpd1("###"),
2407 .pd2 = true,1716 .pd2 = true,
2408 .psl = false,1717 .psl = false,
2409},1718},
2410.{
2411 .name = "param=",
2412 .syntax = .joined,
2413 .zig_equivalent = .other,
2414 .pd1 = false,
2415 .pd2 = true,
2416 .psl = false,
2417},
2418.{1719.{
2419 .name = "precompile",1720 .name = "precompile",
2420 .syntax = .flag,1721 .syntax = .flag,
...@@ -2431,14 +1732,6 @@ flagpd1("###"),...@@ -2431,14 +1732,6 @@ flagpd1("###"),
2431 .pd2 = true,1732 .pd2 = true,
2432 .psl = false,1733 .psl = false,
2433},1734},
2434.{
2435 .name = "prefix=",
2436 .syntax = .joined,
2437 .zig_equivalent = .other,
2438 .pd1 = false,
2439 .pd2 = true,
2440 .psl = false,
2441},
2442.{1735.{
2443 .name = "preprocess",1736 .name = "preprocess",
2444 .syntax = .flag,1737 .syntax = .flag,
...@@ -2503,14 +1796,6 @@ flagpd1("###"),...@@ -2503,14 +1796,6 @@ flagpd1("###"),
2503 .pd2 = true,1796 .pd2 = true,
2504 .psl = false,1797 .psl = false,
2505},1798},
2506.{
2507 .name = "resource=",
2508 .syntax = .joined,
2509 .zig_equivalent = .other,
2510 .pd1 = false,
2511 .pd2 = true,
2512 .psl = false,
2513},
2514.{1799.{
2515 .name = "rtlib",1800 .name = "rtlib",
2516 .syntax = .separate,1801 .syntax = .separate,
...@@ -2559,14 +1844,6 @@ flagpd1("###"),...@@ -2559,14 +1844,6 @@ flagpd1("###"),
2559 .pd2 = true,1844 .pd2 = true,
2560 .psl = false,1845 .psl = false,
2561},1846},
2562.{
2563 .name = "sysroot=",
2564 .syntax = .joined,
2565 .zig_equivalent = .other,
2566 .pd1 = false,
2567 .pd2 = true,
2568 .psl = false,
2569},
2570.{1847.{
2571 .name = "target-help",1848 .name = "target-help",
2572 .syntax = .flag,1849 .syntax = .flag,
...@@ -2591,14 +1868,6 @@ flagpd1("###"),...@@ -2591,14 +1868,6 @@ flagpd1("###"),
2591 .pd2 = true,1868 .pd2 = true,
2592 .psl = false,1869 .psl = false,
2593},1870},
2594.{
2595 .name = "undefine-macro=",
2596 .syntax = .joined,
2597 .zig_equivalent = .other,
2598 .pd1 = false,
2599 .pd2 = true,
2600 .psl = false,
2601},
2602.{1871.{
2603 .name = "unsigned-char",1872 .name = "unsigned-char",
2604 .syntax = .flag,1873 .syntax = .flag,
...@@ -2631,22 +1900,6 @@ flagpd1("###"),...@@ -2631,22 +1900,6 @@ flagpd1("###"),
2631 .pd2 = true,1900 .pd2 = true,
2632 .psl = false,1901 .psl = false,
2633},1902},
2634.{
2635 .name = "warn-",
2636 .syntax = .joined,
2637 .zig_equivalent = .other,
2638 .pd1 = false,
2639 .pd2 = true,
2640 .psl = false,
2641},
2642.{
2643 .name = "warn-=",
2644 .syntax = .joined,
2645 .zig_equivalent = .other,
2646 .pd1 = false,
2647 .pd2 = true,
2648 .psl = false,
2649},
2650.{1903.{
2651 .name = "write-dependencies",1904 .name = "write-dependencies",
2652 .syntax = .flag,1905 .syntax = .flag,
...@@ -2663,7 +1916,6 @@ flagpd1("###"),...@@ -2663,7 +1916,6 @@ flagpd1("###"),
2663 .pd2 = true,1916 .pd2 = true,
2664 .psl = false,1917 .psl = false,
2665},1918},
2666joinpd1("a"),
2667sepd1("add-plugin"),1919sepd1("add-plugin"),
2668flagpd1("faggressive-function-elimination"),1920flagpd1("faggressive-function-elimination"),
2669flagpd1("fno-aggressive-function-elimination"),1921flagpd1("fno-aggressive-function-elimination"),
...@@ -2684,9 +1936,7 @@ flagpd1("cfg-add-implicit-dtors"),...@@ -2684,9 +1936,7 @@ flagpd1("cfg-add-implicit-dtors"),
2684flagpd1("unoptimized-cfg"),1936flagpd1("unoptimized-cfg"),
2685flagpd1("analyze"),1937flagpd1("analyze"),
2686sepd1("analyze-function"),1938sepd1("analyze-function"),
2687joinpd1("analyze-function="),
2688sepd1("analyzer-checker"),1939sepd1("analyzer-checker"),
2689joinpd1("analyzer-checker="),
2690flagpd1("analyzer-checker-help"),1940flagpd1("analyzer-checker-help"),
2691flagpd1("analyzer-checker-help-alpha"),1941flagpd1("analyzer-checker-help-alpha"),
2692flagpd1("analyzer-checker-help-developer"),1942flagpd1("analyzer-checker-help-developer"),
...@@ -2695,32 +1945,23 @@ flagpd1("analyzer-checker-option-help-alpha"),...@@ -2695,32 +1945,23 @@ flagpd1("analyzer-checker-option-help-alpha"),
2695flagpd1("analyzer-checker-option-help-developer"),1945flagpd1("analyzer-checker-option-help-developer"),
2696sepd1("analyzer-config"),1946sepd1("analyzer-config"),
2697sepd1("analyzer-config-compatibility-mode"),1947sepd1("analyzer-config-compatibility-mode"),
2698joinpd1("analyzer-config-compatibility-mode="),
2699flagpd1("analyzer-config-help"),1948flagpd1("analyzer-config-help"),
2700sepd1("analyzer-constraints"),1949sepd1("analyzer-constraints"),
2701joinpd1("analyzer-constraints="),
2702flagpd1("analyzer-disable-all-checks"),1950flagpd1("analyzer-disable-all-checks"),
2703sepd1("analyzer-disable-checker"),1951sepd1("analyzer-disable-checker"),
2704joinpd1("analyzer-disable-checker="),
2705flagpd1("analyzer-disable-retry-exhausted"),1952flagpd1("analyzer-disable-retry-exhausted"),
2706flagpd1("analyzer-display-progress"),1953flagpd1("analyzer-display-progress"),
2707sepd1("analyzer-dump-egraph"),1954sepd1("analyzer-dump-egraph"),
2708joinpd1("analyzer-dump-egraph="),
2709sepd1("analyzer-inline-max-stack-depth"),1955sepd1("analyzer-inline-max-stack-depth"),
2710joinpd1("analyzer-inline-max-stack-depth="),
2711sepd1("analyzer-inlining-mode"),1956sepd1("analyzer-inlining-mode"),
2712joinpd1("analyzer-inlining-mode="),
2713flagpd1("analyzer-list-enabled-checkers"),1957flagpd1("analyzer-list-enabled-checkers"),
2714sepd1("analyzer-max-loop"),1958sepd1("analyzer-max-loop"),
2715flagpd1("analyzer-opt-analyze-headers"),1959flagpd1("analyzer-opt-analyze-headers"),
2716flagpd1("analyzer-opt-analyze-nested-blocks"),1960flagpd1("analyzer-opt-analyze-nested-blocks"),
2717sepd1("analyzer-output"),1961sepd1("analyzer-output"),
2718joinpd1("analyzer-output="),
2719sepd1("analyzer-purge"),1962sepd1("analyzer-purge"),
2720joinpd1("analyzer-purge="),
2721flagpd1("analyzer-stats"),1963flagpd1("analyzer-stats"),
2722sepd1("analyzer-store"),1964sepd1("analyzer-store"),
2723joinpd1("analyzer-store="),
2724flagpd1("analyzer-viz-egraph-graphviz"),1965flagpd1("analyzer-viz-egraph-graphviz"),
2725flagpd1("analyzer-werror"),1966flagpd1("analyzer-werror"),
2726flagpd1("fslp-vectorize-aggressive"),1967flagpd1("fslp-vectorize-aggressive"),
...@@ -2735,7 +1976,6 @@ flagpd1("fhonor-infinites"),...@@ -2735,7 +1976,6 @@ flagpd1("fhonor-infinites"),
2735flagpd1("fno-honor-infinites"),1976flagpd1("fno-honor-infinites"),
2736flagpd1("findirect-virtual-calls"),1977flagpd1("findirect-virtual-calls"),
2737sepd1("fnew-alignment"),1978sepd1("fnew-alignment"),
2738joinpd1("objcmt-white-list-dir-path="),
2739flagpd1("faligned-new"),1979flagpd1("faligned-new"),
2740flagpd1("fno-aligned-new"),1980flagpd1("fno-aligned-new"),
2741flagpd1("fsched-interblock"),1981flagpd1("fsched-interblock"),
...@@ -2912,27 +2152,16 @@ flagpd1("arcmt-migrate-emit-errors"),...@@ -2912,27 +2152,16 @@ flagpd1("arcmt-migrate-emit-errors"),
2912sepd1("arcmt-migrate-report-output"),2152sepd1("arcmt-migrate-report-output"),
2913flagpd1("arcmt-modify"),2153flagpd1("arcmt-modify"),
2914flagpd1("ast-dump"),2154flagpd1("ast-dump"),
2915joinpd1("ast-dump="),
2916flagpd1("ast-dump-all"),2155flagpd1("ast-dump-all"),
2917joinpd1("ast-dump-all="),
2918sepd1("ast-dump-filter"),2156sepd1("ast-dump-filter"),
2919flagpd1("ast-dump-lookups"),2157flagpd1("ast-dump-lookups"),
2920flagpd1("ast-list"),2158flagpd1("ast-list"),
2921sepd1("ast-merge"),2159sepd1("ast-merge"),
2922flagpd1("ast-print"),2160flagpd1("ast-print"),
2923flagpd1("ast-view"),2161flagpd1("ast-view"),
2924.{
2925 .name = "autocomplete=",
2926 .syntax = .joined,
2927 .zig_equivalent = .other,
2928 .pd1 = false,
2929 .pd2 = true,
2930 .psl = false,
2931},
2932flagpd1("fautomatic"),2162flagpd1("fautomatic"),
2933flagpd1("fno-automatic"),2163flagpd1("fno-automatic"),
2934sepd1("aux-triple"),2164sepd1("aux-triple"),
2935jspd1("b"),
2936flagpd1("fbackslash"),2165flagpd1("fbackslash"),
2937flagpd1("fno-backslash"),2166flagpd1("fno-backslash"),
2938flagpd1("fbacktrace"),2167flagpd1("fbacktrace"),
...@@ -2953,12 +2182,10 @@ sepd1("bundle_loader"),...@@ -2953,12 +2182,10 @@ sepd1("bundle_loader"),
2953 .pd2 = false,2182 .pd2 = false,
2954 .psl = false,2183 .psl = false,
2955},2184},
2956jspd1("c-isystem"),
2957flagpd1("fcaller-saves"),2185flagpd1("fcaller-saves"),
2958flagpd1("fno-caller-saves"),2186flagpd1("fno-caller-saves"),
2959flagpd1("cc1"),2187flagpd1("cc1"),
2960flagpd1("cc1as"),2188flagpd1("cc1as"),
2961joinpd1("ccc-"),
2962flagpd1("ccc-arcmt-check"),2189flagpd1("ccc-arcmt-check"),
2963sepd1("ccc-arcmt-migrate"),2190sepd1("ccc-arcmt-migrate"),
2964flagpd1("ccc-arcmt-modify"),2191flagpd1("ccc-arcmt-modify"),
...@@ -2973,14 +2200,6 @@ sepd1("chain-include"),...@@ -2973,14 +2200,6 @@ sepd1("chain-include"),
2973flagpd1("fcheck-array-temporaries"),2200flagpd1("fcheck-array-temporaries"),
2974flagpd1("fno-check-array-temporaries"),2201flagpd1("fno-check-array-temporaries"),
2975flagpd1("cl-denorms-are-zero"),2202flagpd1("cl-denorms-are-zero"),
2976.{
2977 .name = "cl-ext=",
2978 .syntax = .comma_joined,
2979 .zig_equivalent = .other,
2980 .pd1 = true,
2981 .pd2 = false,
2982 .psl = false,
2983},
2984flagpd1("cl-fast-relaxed-math"),2203flagpd1("cl-fast-relaxed-math"),
2985flagpd1("cl-finite-math-only"),2204flagpd1("cl-finite-math-only"),
2986flagpd1("cl-fp32-correctly-rounded-divide-sqrt"),2205flagpd1("cl-fp32-correctly-rounded-divide-sqrt"),
...@@ -2989,13 +2208,10 @@ flagpd1("cl-mad-enable"),...@@ -2989,13 +2208,10 @@ flagpd1("cl-mad-enable"),
2989flagpd1("cl-no-signed-zeros"),2208flagpd1("cl-no-signed-zeros"),
2990flagpd1("cl-opt-disable"),2209flagpd1("cl-opt-disable"),
2991flagpd1("cl-single-precision-constant"),2210flagpd1("cl-single-precision-constant"),
2992joinpd1("cl-std="),
2993flagpd1("cl-strict-aliasing"),2211flagpd1("cl-strict-aliasing"),
2994flagpd1("cl-uniform-work-group-size"),2212flagpd1("cl-uniform-work-group-size"),
2995flagpd1("cl-unsafe-math-optimizations"),2213flagpd1("cl-unsafe-math-optimizations"),
2996jspd1("client_name"),
2997sepd1("code-completion-at"),2214sepd1("code-completion-at"),
2998joinpd1("code-completion-at="),
2999flagpd1("code-completion-brief-comments"),2215flagpd1("code-completion-brief-comments"),
3000flagpd1("code-completion-macros"),2216flagpd1("code-completion-macros"),
3001flagpd1("code-completion-patterns"),2217flagpd1("code-completion-patterns"),
...@@ -3008,7 +2224,6 @@ flagpd1("code-completion-with-fixits"),...@@ -3008,7 +2224,6 @@ flagpd1("code-completion-with-fixits"),
3008 .pd2 = true,2224 .pd2 = true,
3009 .psl = false,2225 .psl = false,
3010},2226},
3011jspd1("compatibility_version"),
3012flagpd1("compiler-options-dump"),2227flagpd1("compiler-options-dump"),
3013.{2228.{
3014 .name = "compress-debug-sections",2229 .name = "compress-debug-sections",
...@@ -3018,14 +2233,6 @@ flagpd1("compiler-options-dump"),...@@ -3018,14 +2233,6 @@ flagpd1("compiler-options-dump"),
3018 .pd2 = true,2233 .pd2 = true,
3019 .psl = false,2234 .psl = false,
3020},2235},
3021.{
3022 .name = "compress-debug-sections=",
3023 .syntax = .joined,
3024 .zig_equivalent = .other,
3025 .pd1 = true,
3026 .pd2 = true,
3027 .psl = false,
3028},
3029.{2236.{
3030 .name = "config",2237 .name = "config",
3031 .syntax = .separate,2238 .syntax = .separate,
...@@ -3034,22 +2241,6 @@ flagpd1("compiler-options-dump"),...@@ -3034,22 +2241,6 @@ flagpd1("compiler-options-dump"),
3034 .pd2 = true,2241 .pd2 = true,
3035 .psl = false,2242 .psl = false,
3036},2243},
3037.{
3038 .name = "config-system-dir=",
3039 .syntax = .joined,
3040 .zig_equivalent = .other,
3041 .pd1 = false,
3042 .pd2 = true,
3043 .psl = false,
3044},
3045.{
3046 .name = "config-user-dir=",
3047 .syntax = .joined,
3048 .zig_equivalent = .other,
3049 .pd1 = false,
3050 .pd2 = true,
3051 .psl = false,
3052},
3053.{2244.{
3054 .name = "coverage",2245 .name = "coverage",
3055 .syntax = .flag,2246 .syntax = .flag,
...@@ -3060,12 +2251,9 @@ flagpd1("compiler-options-dump"),...@@ -3060,12 +2251,9 @@ flagpd1("compiler-options-dump"),
3060},2251},
3061flagpd1("coverage-cfg-checksum"),2252flagpd1("coverage-cfg-checksum"),
3062sepd1("coverage-data-file"),2253sepd1("coverage-data-file"),
3063joinpd1("coverage-data-file="),
3064flagpd1("coverage-exit-block-before-body"),2254flagpd1("coverage-exit-block-before-body"),
3065flagpd1("coverage-no-function-names-in-data"),2255flagpd1("coverage-no-function-names-in-data"),
3066sepd1("coverage-notes-file"),2256sepd1("coverage-notes-file"),
3067joinpd1("coverage-notes-file="),
3068joinpd1("coverage-version="),
3069flagpd1("cpp"),2257flagpd1("cpp"),
3070flagpd1("cpp-precomp"),2258flagpd1("cpp-precomp"),
3071flagpd1("fcray-pointer"),2259flagpd1("fcray-pointer"),
...@@ -3086,14 +2274,6 @@ flagpd1("fno-cray-pointer"),...@@ -3086,14 +2274,6 @@ flagpd1("fno-cray-pointer"),
3086 .pd2 = true,2274 .pd2 = true,
3087 .psl = false,2275 .psl = false,
3088},2276},
3089.{
3090 .name = "cuda-gpu-arch=",
3091 .syntax = .joined,
3092 .zig_equivalent = .other,
3093 .pd1 = false,
3094 .pd2 = true,
3095 .psl = false,
3096},
3097.{2277.{
3098 .name = "cuda-host-only",2278 .name = "cuda-host-only",
3099 .syntax = .flag,2279 .syntax = .flag,
...@@ -3102,14 +2282,6 @@ flagpd1("fno-cray-pointer"),...@@ -3102,14 +2282,6 @@ flagpd1("fno-cray-pointer"),
3102 .pd2 = true,2282 .pd2 = true,
3103 .psl = false,2283 .psl = false,
3104},2284},
3105.{
3106 .name = "cuda-include-ptx=",
3107 .syntax = .joined,
3108 .zig_equivalent = .other,
3109 .pd1 = false,
3110 .pd2 = true,
3111 .psl = false,
3112},
3113.{2285.{
3114 .name = "cuda-noopt-device-debug",2286 .name = "cuda-noopt-device-debug",
3115 .syntax = .flag,2287 .syntax = .flag,
...@@ -3118,14 +2290,6 @@ flagpd1("fno-cray-pointer"),...@@ -3118,14 +2290,6 @@ flagpd1("fno-cray-pointer"),
3118 .pd2 = true,2290 .pd2 = true,
3119 .psl = false,2291 .psl = false,
3120},2292},
3121.{
3122 .name = "cuda-path=",
3123 .syntax = .joined,
3124 .zig_equivalent = .other,
3125 .pd1 = false,
3126 .pd2 = true,
3127 .psl = false,
3128},
3129.{2293.{
3130 .name = "cuda-path-ignore-env",2294 .name = "cuda-path-ignore-env",
3131 .syntax = .flag,2295 .syntax = .flag,
...@@ -3134,23 +2298,18 @@ flagpd1("fno-cray-pointer"),...@@ -3134,23 +2298,18 @@ flagpd1("fno-cray-pointer"),
3134 .pd2 = true,2298 .pd2 = true,
3135 .psl = false,2299 .psl = false,
3136},2300},
3137jspd1("current_version"),
3138jspd1("cxx-isystem"),
3139flagpd1("dA"),2301flagpd1("dA"),
3140flagpd1("dD"),2302flagpd1("dD"),
3141flagpd1("dI"),2303flagpd1("dI"),
3142flagpd1("dM"),2304flagpd1("dM"),
3143flagpd1("d"),2305flagpd1("d"),
3144joinpd1("d"),
3145flagpd1("fd-lines-as-code"),2306flagpd1("fd-lines-as-code"),
3146flagpd1("fno-d-lines-as-code"),2307flagpd1("fno-d-lines-as-code"),
3147flagpd1("fd-lines-as-comments"),2308flagpd1("fd-lines-as-comments"),
3148flagpd1("fno-d-lines-as-comments"),2309flagpd1("fno-d-lines-as-comments"),
3149flagpd1("dead_strip"),2310flagpd1("dead_strip"),
3150flagpd1("debug-forward-template-params"),2311flagpd1("debug-forward-template-params"),
3151joinpd1("debug-info-kind="),
3152flagpd1("debug-info-macro"),2312flagpd1("debug-info-macro"),
3153joinpd1("debugger-tuning="),
3154flagpd1("fdefault-double-8"),2313flagpd1("fdefault-double-8"),
3155flagpd1("fno-default-double-8"),2314flagpd1("fno-default-double-8"),
3156sepd1("default-function-attr"),2315sepd1("default-function-attr"),
...@@ -3163,14 +2322,6 @@ flagpd1("fno-default-real-8"),...@@ -3163,14 +2322,6 @@ flagpd1("fno-default-real-8"),
3163sepd1("defsym"),2322sepd1("defsym"),
3164sepd1("dependency-dot"),2323sepd1("dependency-dot"),
3165sepd1("dependency-file"),2324sepd1("dependency-file"),
3166.{
3167 .name = "dependent-lib=",
3168 .syntax = .joined,
3169 .zig_equivalent = .other,
3170 .pd1 = false,
3171 .pd2 = true,
3172 .psl = false,
3173},
3174flagpd1("detailed-preprocessing-record"),2325flagpd1("detailed-preprocessing-record"),
3175flagpd1("fdevirtualize"),2326flagpd1("fdevirtualize"),
3176flagpd1("fno-devirtualize"),2327flagpd1("fno-devirtualize"),
...@@ -3190,14 +2341,6 @@ flagpd1("disable-red-zone"),...@@ -3190,14 +2341,6 @@ flagpd1("disable-red-zone"),
3190flagpd1("discard-value-names"),2341flagpd1("discard-value-names"),
3191flagpd1("fdollar-ok"),2342flagpd1("fdollar-ok"),
3192flagpd1("fno-dollar-ok"),2343flagpd1("fno-dollar-ok"),
3193.{
3194 .name = "driver-mode=",
3195 .syntax = .joined,
3196 .zig_equivalent = .other,
3197 .pd1 = false,
3198 .pd2 = true,
3199 .psl = false,
3200},
3201flagpd1("dump-coverage-mapping"),2344flagpd1("dump-coverage-mapping"),
3202flagpd1("dump-deserialized-decls"),2345flagpd1("dump-deserialized-decls"),
3203flagpd1("fdump-fortran-optimized"),2346flagpd1("fdump-fortran-optimized"),
...@@ -3216,13 +2359,10 @@ sepd1("dwarf-debug-flags"),...@@ -3216,13 +2359,10 @@ sepd1("dwarf-debug-flags"),
3216sepd1("dwarf-debug-producer"),2359sepd1("dwarf-debug-producer"),
3217flagpd1("dwarf-explicit-import"),2360flagpd1("dwarf-explicit-import"),
3218flagpd1("dwarf-ext-refs"),2361flagpd1("dwarf-ext-refs"),
3219joinpd1("dwarf-version="),
3220sepd1("dylib_file"),2362sepd1("dylib_file"),
3221flagpd1("dylinker"),2363flagpd1("dylinker"),
3222jspd1("dylinker_install_name"),
3223flagpd1("dynamic"),2364flagpd1("dynamic"),
3224flagpd1("dynamiclib"),2365flagpd1("dynamiclib"),
3225jspd1("e"),
3226flagpd1("feliminate-unused-debug-types"),2366flagpd1("feliminate-unused-debug-types"),
3227flagpd1("fno-eliminate-unused-debug-types"),2367flagpd1("fno-eliminate-unused-debug-types"),
3228flagpd1("emit-ast"),2368flagpd1("emit-ast"),
...@@ -3241,24 +2381,24 @@ flagpd1("emit-obj"),...@@ -3241,24 +2381,24 @@ flagpd1("emit-obj"),
3241flagpd1("emit-pch"),2381flagpd1("emit-pch"),
3242flagpd1("enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang"),2382flagpd1("enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang"),
3243sepd1("error-on-deserialized-decl"),2383sepd1("error-on-deserialized-decl"),
3244joinpd1("error-on-deserialized-decl="),
3245sepd1("exported_symbols_list"),2384sepd1("exported_symbols_list"),
3246flagpd1("fexternal-blas"),2385flagpd1("fexternal-blas"),
3247flagpd1("fno-external-blas"),2386flagpd1("fno-external-blas"),
3248flagpd1("ff2c"),2387flagpd1("ff2c"),
3249flagpd1("fno-f2c"),2388flagpd1("fno-f2c"),
3250flagpd1("fPIC"),2389.{
2390 .name = "fPIC",
2391 .syntax = .flag,
2392 .zig_equivalent = .pic,
2393 .pd1 = true,
2394 .pd2 = false,
2395 .psl = false,
2396},
3251flagpd1("fPIE"),2397flagpd1("fPIE"),
3252flagpd1("faccess-control"),2398flagpd1("faccess-control"),
3253joinpd1("faddress-space-map-mangling="),
3254flagpd1("faddrsig"),2399flagpd1("faddrsig"),
3255flagpd1("falign-functions"),2400flagpd1("falign-functions"),
3256joinpd1("falign-functions="),
3257joinpd1("falign-jumps="),
3258joinpd1("falign-labels="),
3259joinpd1("falign-loops="),
3260flagpd1("faligned-allocation"),2401flagpd1("faligned-allocation"),
3261joinpd1("faligned-new="),
3262flagpd1("fallow-editor-placeholders"),2402flagpd1("fallow-editor-placeholders"),
3263flagpd1("fallow-half-arguments-and-returns"),2403flagpd1("fallow-half-arguments-and-returns"),
3264flagpd1("fallow-pch-with-compiler-errors"),2404flagpd1("fallow-pch-with-compiler-errors"),
...@@ -3281,18 +2421,12 @@ flagpd1("fasynchronous-unwind-tables"),...@@ -3281,18 +2421,12 @@ flagpd1("fasynchronous-unwind-tables"),
3281flagpd1("ffat-lto-objects"),2421flagpd1("ffat-lto-objects"),
3282flagpd1("fno-fat-lto-objects"),2422flagpd1("fno-fat-lto-objects"),
3283flagpd1("fauto-profile"),2423flagpd1("fauto-profile"),
3284joinpd1("fauto-profile="),
3285flagpd1("fauto-profile-accurate"),2424flagpd1("fauto-profile-accurate"),
3286flagpd1("fautolink"),2425flagpd1("fautolink"),
3287joinpd1("fblas-matmul-limit="),
3288flagpd1("fblocks"),2426flagpd1("fblocks"),
3289flagpd1("fblocks-runtime-optional"),2427flagpd1("fblocks-runtime-optional"),
3290joinpd1("fbootclasspath="),
3291flagpd1("fborland-extensions"),2428flagpd1("fborland-extensions"),
3292sepd1("fbracket-depth"),2429sepd1("fbracket-depth"),
3293joinpd1("fbracket-depth="),
3294joinpd1("fbuild-session-file="),
3295joinpd1("fbuild-session-timestamp="),
3296flagpd1("fbuiltin"),2430flagpd1("fbuiltin"),
3297flagpd1("fbuiltin-module-map"),2431flagpd1("fbuiltin-module-map"),
3298flagpd1("fcall-saved-x10"),2432flagpd1("fcall-saved-x10"),
...@@ -3307,46 +2441,24 @@ flagpd1("fcall-saved-x9"),...@@ -3307,46 +2441,24 @@ flagpd1("fcall-saved-x9"),
3307flagpd1("fcaret-diagnostics"),2441flagpd1("fcaret-diagnostics"),
3308sepd1("fcaret-diagnostics-max-lines"),2442sepd1("fcaret-diagnostics-max-lines"),
3309flagpd1("fcf-protection"),2443flagpd1("fcf-protection"),
3310joinpd1("fcf-protection="),
3311joinpd1("fcf-runtime-abi="),
3312flagpd1("fchar8_t"),2444flagpd1("fchar8_t"),
3313joinpd1("fcheck="),
3314flagpd1("fcheck-new"),2445flagpd1("fcheck-new"),
3315flagpd1("fno-check-new"),2446flagpd1("fno-check-new"),
3316joinpd1("fclang-abi-compat="),
3317joinpd1("fclasspath="),
3318joinpd1("fcoarray="),
3319flagpd1("fcolor-diagnostics"),2447flagpd1("fcolor-diagnostics"),
3320.{
3321 .name = "fcomment-block-commands=",
3322 .syntax = .comma_joined,
3323 .zig_equivalent = .other,
3324 .pd1 = true,
3325 .pd2 = false,
3326 .psl = false,
3327},
3328flagpd1("fcommon"),2448flagpd1("fcommon"),
3329joinpd1("fcompile-resource="),
3330flagpd1("fcomplete-member-pointers"),2449flagpd1("fcomplete-member-pointers"),
3331flagpd1("fconcepts-ts"),2450flagpd1("fconcepts-ts"),
3332flagpd1("fconst-strings"),2451flagpd1("fconst-strings"),
3333flagpd1("fconstant-cfstrings"),2452flagpd1("fconstant-cfstrings"),
3334sepd1("fconstant-string-class"),2453sepd1("fconstant-string-class"),
3335joinpd1("fconstant-string-class="),
3336sepd1("fconstexpr-backtrace-limit"),2454sepd1("fconstexpr-backtrace-limit"),
3337joinpd1("fconstexpr-backtrace-limit="),
3338sepd1("fconstexpr-depth"),2455sepd1("fconstexpr-depth"),
3339joinpd1("fconstexpr-depth="),
3340sepd1("fconstexpr-steps"),2456sepd1("fconstexpr-steps"),
3341joinpd1("fconstexpr-steps="),
3342flagpd1("fconvergent-functions"),2457flagpd1("fconvergent-functions"),
3343joinpd1("fconvert="),
3344flagpd1("fcoroutines-ts"),2458flagpd1("fcoroutines-ts"),
3345flagpd1("fcoverage-mapping"),2459flagpd1("fcoverage-mapping"),
3346joinpd1("fcrash-diagnostics-dir="),
3347flagpd1("fcreate-profile"),2460flagpd1("fcreate-profile"),
3348flagpd1("fcs-profile-generate"),2461flagpd1("fcs-profile-generate"),
3349joinpd1("fcs-profile-generate="),
3350flagpd1("fcuda-allow-variadic-functions"),2462flagpd1("fcuda-allow-variadic-functions"),
3351flagpd1("fcuda-approx-transcendentals"),2463flagpd1("fcuda-approx-transcendentals"),
3352flagpd1("fcuda-flush-denormals-to-zero"),2464flagpd1("fcuda-flush-denormals-to-zero"),
...@@ -3358,14 +2470,11 @@ flagpd1("fcxx-modules"),...@@ -3358,14 +2470,11 @@ flagpd1("fcxx-modules"),
3358flagpd1("fc++-static-destructors"),2470flagpd1("fc++-static-destructors"),
3359flagpd1("fdata-sections"),2471flagpd1("fdata-sections"),
3360sepd1("fdebug-compilation-dir"),2472sepd1("fdebug-compilation-dir"),
3361joinpd1("fdebug-compilation-dir="),
3362joinpd1("fdebug-default-version="),
3363flagpd1("fdebug-info-for-profiling"),2473flagpd1("fdebug-info-for-profiling"),
3364flagpd1("fdebug-macro"),2474flagpd1("fdebug-macro"),
3365flagpd1("fdebug-pass-arguments"),2475flagpd1("fdebug-pass-arguments"),
3366flagpd1("fdebug-pass-manager"),2476flagpd1("fdebug-pass-manager"),
3367flagpd1("fdebug-pass-structure"),2477flagpd1("fdebug-pass-structure"),
3368joinpd1("fdebug-prefix-map="),
3369flagpd1("fdebug-ranges-base-address"),2478flagpd1("fdebug-ranges-base-address"),
3370flagpd1("fdebug-types-section"),2479flagpd1("fdebug-types-section"),
3371flagpd1("fdebugger-cast-result-to-id"),2480flagpd1("fdebugger-cast-result-to-id"),
...@@ -3373,25 +2482,17 @@ flagpd1("fdebugger-objc-literal"),...@@ -3373,25 +2482,17 @@ flagpd1("fdebugger-objc-literal"),
3373flagpd1("fdebugger-support"),2482flagpd1("fdebugger-support"),
3374flagpd1("fdeclare-opencl-builtins"),2483flagpd1("fdeclare-opencl-builtins"),
3375flagpd1("fdeclspec"),2484flagpd1("fdeclspec"),
3376joinpd1("fdefault-calling-conv="),
3377flagpd1("fdelayed-template-parsing"),2485flagpd1("fdelayed-template-parsing"),
3378flagpd1("fdelete-null-pointer-checks"),2486flagpd1("fdelete-null-pointer-checks"),
3379joinpd1("fdenormal-fp-math="),
3380joinpd1("fdepfile-entry="),
3381flagpd1("fdeprecated-macro"),2487flagpd1("fdeprecated-macro"),
3382flagpd1("fdiagnostics-absolute-paths"),2488flagpd1("fdiagnostics-absolute-paths"),
3383flagpd1("fdiagnostics-color"),2489flagpd1("fdiagnostics-color"),
3384joinpd1("fdiagnostics-color="),
3385flagpd1("fdiagnostics-fixit-info"),2490flagpd1("fdiagnostics-fixit-info"),
3386sepd1("fdiagnostics-format"),2491sepd1("fdiagnostics-format"),
3387joinpd1("fdiagnostics-format="),
3388joinpd1("fdiagnostics-hotness-threshold="),
3389flagpd1("fdiagnostics-parseable-fixits"),2492flagpd1("fdiagnostics-parseable-fixits"),
3390flagpd1("fdiagnostics-print-source-range-info"),2493flagpd1("fdiagnostics-print-source-range-info"),
3391sepd1("fdiagnostics-show-category"),2494sepd1("fdiagnostics-show-category"),
3392joinpd1("fdiagnostics-show-category="),
3393flagpd1("fdiagnostics-show-hotness"),2495flagpd1("fdiagnostics-show-hotness"),
3394joinpd1("fdiagnostics-show-location="),
3395flagpd1("fdiagnostics-show-note-include-stack"),2496flagpd1("fdiagnostics-show-note-include-stack"),
3396flagpd1("fdiagnostics-show-option"),2497flagpd1("fdiagnostics-show-option"),
3397flagpd1("fdiagnostics-show-template-tree"),2498flagpd1("fdiagnostics-show-template-tree"),
...@@ -3409,7 +2510,6 @@ flagpd1("fdwarf-exceptions"),...@@ -3409,7 +2510,6 @@ flagpd1("fdwarf-exceptions"),
3409flagpd1("felide-constructors"),2510flagpd1("felide-constructors"),
3410flagpd1("feliminate-unused-debug-symbols"),2511flagpd1("feliminate-unused-debug-symbols"),
3411flagpd1("fembed-bitcode"),2512flagpd1("fembed-bitcode"),
3412joinpd1("fembed-bitcode="),
3413flagpd1("fembed-bitcode-marker"),2513flagpd1("fembed-bitcode-marker"),
3414flagpd1("femit-all-decls"),2514flagpd1("femit-all-decls"),
3415flagpd1("femit-coverage-data"),2515flagpd1("femit-coverage-data"),
...@@ -3417,24 +2517,17 @@ flagpd1("femit-coverage-notes"),...@@ -3417,24 +2517,17 @@ flagpd1("femit-coverage-notes"),
3417flagpd1("femit-debug-entry-values"),2517flagpd1("femit-debug-entry-values"),
3418flagpd1("femulated-tls"),2518flagpd1("femulated-tls"),
3419flagpd1("fencode-extended-block-signature"),2519flagpd1("fencode-extended-block-signature"),
3420joinpd1("fencoding="),
3421sepd1("ferror-limit"),2520sepd1("ferror-limit"),
3422joinpd1("ferror-limit="),
3423flagpd1("fescaping-block-tail-calls"),2521flagpd1("fescaping-block-tail-calls"),
3424flagpd1("fexceptions"),2522flagpd1("fexceptions"),
3425joinpd1("fexcess-precision="),
3426joinpd1("fexec-charset="),
3427flagpd1("fexperimental-isel"),2523flagpd1("fexperimental-isel"),
3428flagpd1("fexperimental-new-constant-interpreter"),2524flagpd1("fexperimental-new-constant-interpreter"),
3429flagpd1("fexperimental-new-pass-manager"),2525flagpd1("fexperimental-new-pass-manager"),
3430joinpd1("fextdirs="),
3431flagpd1("fexternc-nounwind"),2526flagpd1("fexternc-nounwind"),
3432flagpd1("ffake-address-space-map"),2527flagpd1("ffake-address-space-map"),
3433flagpd1("ffast-math"),2528flagpd1("ffast-math"),
3434joinpd1("ffile-prefix-map="),
3435flagpd1("ffine-grained-bitfield-accesses"),2529flagpd1("ffine-grained-bitfield-accesses"),
3436flagpd1("ffinite-math-only"),2530flagpd1("ffinite-math-only"),
3437joinpd1("ffixed-line-length-"),
3438flagpd1("ffixed-point"),2531flagpd1("ffixed-point"),
3439flagpd1("ffixed-r19"),2532flagpd1("ffixed-r19"),
3440flagpd1("ffixed-r9"),2533flagpd1("ffixed-r9"),
...@@ -3474,18 +2567,12 @@ flagpd1("fforbid-guard-variables"),...@@ -3474,18 +2567,12 @@ flagpd1("fforbid-guard-variables"),
3474flagpd1("fforce-dwarf-frame"),2567flagpd1("fforce-dwarf-frame"),
3475flagpd1("fforce-emit-vtables"),2568flagpd1("fforce-emit-vtables"),
3476flagpd1("fforce-enable-int128"),2569flagpd1("fforce-enable-int128"),
3477joinpd1("ffp-contract="),
3478joinpd1("ffp-exception-behavior="),
3479joinpd1("ffp-model="),
3480joinpd1("ffpe-trap="),
3481joinpd1("ffree-line-length-"),
3482flagpd1("ffreestanding"),2570flagpd1("ffreestanding"),
3483flagpd1("ffunction-sections"),2571flagpd1("ffunction-sections"),
3484flagpd1("fgnu89-inline"),2572flagpd1("fgnu89-inline"),
3485flagpd1("fgnu-inline-asm"),2573flagpd1("fgnu-inline-asm"),
3486flagpd1("fgnu-keywords"),2574flagpd1("fgnu-keywords"),
3487flagpd1("fgnu-runtime"),2575flagpd1("fgnu-runtime"),
3488joinpd1("fgnuc-version="),
3489flagpd1("fgpu-allow-device-init"),2576flagpd1("fgpu-allow-device-init"),
3490flagpd1("fgpu-rdc"),2577flagpd1("fgpu-rdc"),
3491flagpd1("fheinous-gnu-extensions"),2578flagpd1("fheinous-gnu-extensions"),
...@@ -3499,17 +2586,11 @@ sepd1("filetype"),...@@ -3499,17 +2586,11 @@ sepd1("filetype"),
3499flagpd1("fimplicit-module-maps"),2586flagpd1("fimplicit-module-maps"),
3500flagpd1("fimplicit-modules"),2587flagpd1("fimplicit-modules"),
3501flagpd1("finclude-default-header"),2588flagpd1("finclude-default-header"),
3502joinpd1("finit-character="),
3503joinpd1("finit-integer="),
3504joinpd1("finit-logical="),
3505joinpd1("finit-real="),
3506flagpd1("finline"),2589flagpd1("finline"),
3507flagpd1("finline-functions"),2590flagpd1("finline-functions"),
3508flagpd1("finline-hint-functions"),2591flagpd1("finline-hint-functions"),
3509joinpd1("finline-limit="),
3510flagpd1("finline-limit"),2592flagpd1("finline-limit"),
3511flagpd1("fno-inline-limit"),2593flagpd1("fno-inline-limit"),
3512joinpd1("finput-charset="),
3513flagpd1("finstrument-function-entry-bare"),2594flagpd1("finstrument-function-entry-bare"),
3514flagpd1("finstrument-functions"),2595flagpd1("finstrument-functions"),
3515flagpd1("finstrument-functions-after-inlining"),2596flagpd1("finstrument-functions-after-inlining"),
...@@ -3520,59 +2601,36 @@ flagpd1("fix-what-you-can"),...@@ -3520,59 +2601,36 @@ flagpd1("fix-what-you-can"),
3520flagpd1("ffixed-form"),2601flagpd1("ffixed-form"),
3521flagpd1("fno-fixed-form"),2602flagpd1("fno-fixed-form"),
3522flagpd1("fixit"),2603flagpd1("fixit"),
3523joinpd1("fixit="),
3524flagpd1("fixit-recompile"),2604flagpd1("fixit-recompile"),
3525flagpd1("fixit-to-temporary"),2605flagpd1("fixit-to-temporary"),
3526flagpd1("fjump-tables"),2606flagpd1("fjump-tables"),
3527flagpd1("fkeep-static-consts"),2607flagpd1("fkeep-static-consts"),
3528flagpd1("flat_namespace"),2608flagpd1("flat_namespace"),
3529flagpd1("flax-vector-conversions"),2609flagpd1("flax-vector-conversions"),
3530joinpd1("flax-vector-conversions="),
3531flagpd1("flimit-debug-info"),2610flagpd1("flimit-debug-info"),
3532joinpd1("flimited-precision="),
3533flagpd1("ffloat-store"),2611flagpd1("ffloat-store"),
3534flagpd1("fno-float-store"),2612flagpd1("fno-float-store"),
3535flagpd1("flto"),2613flagpd1("flto"),
3536joinpd1("flto="),
3537joinpd1("flto-jobs="),
3538flagpd1("flto-unit"),2614flagpd1("flto-unit"),
3539flagpd1("flto-visibility-public-std"),2615flagpd1("flto-visibility-public-std"),
3540sepd1("fmacro-backtrace-limit"),2616sepd1("fmacro-backtrace-limit"),
3541joinpd1("fmacro-backtrace-limit="),
3542joinpd1("fmacro-prefix-map="),
3543flagpd1("fmath-errno"),2617flagpd1("fmath-errno"),
3544joinpd1("fmax-array-constructor="),
3545joinpd1("fmax-errors="),
3546joinpd1("fmax-stack-var-size="),
3547joinpd1("fmax-subrecord-length="),
3548joinpd1("fmax-type-align="),
3549flagpd1("fmerge-all-constants"),2618flagpd1("fmerge-all-constants"),
3550flagpd1("fmerge-functions"),2619flagpd1("fmerge-functions"),
3551sepd1("fmessage-length"),2620sepd1("fmessage-length"),
3552joinpd1("fmessage-length="),
3553sepd1("fmodule-feature"),2621sepd1("fmodule-feature"),
3554joinpd1("fmodule-file="),
3555flagpd1("fmodule-file-deps"),2622flagpd1("fmodule-file-deps"),
3556joinpd1("fmodule-format="),
3557sepd1("fmodule-implementation-of"),2623sepd1("fmodule-implementation-of"),
3558joinpd1("fmodule-map-file="),
3559flagpd1("fmodule-map-file-home-is-cwd"),2624flagpd1("fmodule-map-file-home-is-cwd"),
3560flagpd1("fmodule-maps"),2625flagpd1("fmodule-maps"),
3561sepd1("fmodule-name"),2626sepd1("fmodule-name"),
3562joinpd1("fmodule-name="),
3563flagpd1("fmodules"),2627flagpd1("fmodules"),
3564joinpd1("fmodules-cache-path="),
3565flagpd1("fmodules-codegen"),2628flagpd1("fmodules-codegen"),
3566flagpd1("fmodules-debuginfo"),2629flagpd1("fmodules-debuginfo"),
3567flagpd1("fmodules-decluse"),2630flagpd1("fmodules-decluse"),
3568flagpd1("fmodules-disable-diagnostic-validation"),2631flagpd1("fmodules-disable-diagnostic-validation"),
3569joinpd1("fmodules-embed-all-files"),
3570joinpd1("fmodules-embed-file="),
3571flagpd1("fmodules-hash-content"),2632flagpd1("fmodules-hash-content"),
3572joinpd1("fmodules-ignore-macro="),
3573flagpd1("fmodules-local-submodule-visibility"),2633flagpd1("fmodules-local-submodule-visibility"),
3574joinpd1("fmodules-prune-after="),
3575joinpd1("fmodules-prune-interval="),
3576flagpd1("fmodules-search-all"),2634flagpd1("fmodules-search-all"),
3577flagpd1("fmodules-strict-context-hash"),2635flagpd1("fmodules-strict-context-hash"),
3578flagpd1("fmodules-strict-decluse"),2636flagpd1("fmodules-strict-decluse"),
...@@ -3582,19 +2640,22 @@ flagpd1("fmodules-validate-input-files-content"),...@@ -3582,19 +2640,22 @@ flagpd1("fmodules-validate-input-files-content"),
3582flagpd1("fmodules-validate-once-per-build-session"),2640flagpd1("fmodules-validate-once-per-build-session"),
3583flagpd1("fmodules-validate-system-headers"),2641flagpd1("fmodules-validate-system-headers"),
3584flagpd1("fms-compatibility"),2642flagpd1("fms-compatibility"),
3585joinpd1("fms-compatibility-version="),
3586flagpd1("fms-extensions"),2643flagpd1("fms-extensions"),
3587joinpd1("fms-memptr-rep="),
3588flagpd1("fms-volatile"),2644flagpd1("fms-volatile"),
3589joinpd1("fmsc-version="),
3590flagpd1("fmudflap"),2645flagpd1("fmudflap"),
3591flagpd1("fmudflapth"),2646flagpd1("fmudflapth"),
3592flagpd1("fnative-half-arguments-and-returns"),2647flagpd1("fnative-half-arguments-and-returns"),
3593flagpd1("fnative-half-type"),2648flagpd1("fnative-half-type"),
3594flagpd1("fnested-functions"),2649flagpd1("fnested-functions"),
3595joinpd1("fnew-alignment="),
3596flagpd1("fnext-runtime"),2650flagpd1("fnext-runtime"),
3597flagpd1("fno-PIC"),2651.{
2652 .name = "fno-PIC",
2653 .syntax = .flag,
2654 .zig_equivalent = .no_pic,
2655 .pd1 = true,
2656 .pd2 = false,
2657 .psl = false,
2658},
3598flagpd1("fno-PIE"),2659flagpd1("fno-PIE"),
3599flagpd1("fno-access-control"),2660flagpd1("fno-access-control"),
3600flagpd1("fno-addrsig"),2661flagpd1("fno-addrsig"),
...@@ -3616,7 +2677,6 @@ flagpd1("fno-bitfield-type-align"),...@@ -3616,7 +2677,6 @@ flagpd1("fno-bitfield-type-align"),
3616flagpd1("fno-blocks"),2677flagpd1("fno-blocks"),
3617flagpd1("fno-borland-extensions"),2678flagpd1("fno-borland-extensions"),
3618flagpd1("fno-builtin"),2679flagpd1("fno-builtin"),
3619joinpd1("fno-builtin-"),
3620flagpd1("fno-caret-diagnostics"),2680flagpd1("fno-caret-diagnostics"),
3621flagpd1("fno-char8_t"),2681flagpd1("fno-char8_t"),
3622flagpd1("fno-color-diagnostics"),2682flagpd1("fno-color-diagnostics"),
...@@ -3755,54 +2815,22 @@ flagpd1("fno-rtlib-add-rpath"),...@@ -3755,54 +2815,22 @@ flagpd1("fno-rtlib-add-rpath"),
3755flagpd1("fno-rtti"),2815flagpd1("fno-rtti"),
3756flagpd1("fno-rtti-data"),2816flagpd1("fno-rtti-data"),
3757flagpd1("fno-rwpi"),2817flagpd1("fno-rwpi"),
3758.{
3759 .name = "fno-sanitize=",
3760 .syntax = .comma_joined,
3761 .zig_equivalent = .other,
3762 .pd1 = true,
3763 .pd2 = false,
3764 .psl = false,
3765},
3766flagpd1("fno-sanitize-address-poison-custom-array-cookie"),2818flagpd1("fno-sanitize-address-poison-custom-array-cookie"),
3767flagpd1("fno-sanitize-address-use-after-scope"),2819flagpd1("fno-sanitize-address-use-after-scope"),
3768flagpd1("fno-sanitize-address-use-odr-indicator"),2820flagpd1("fno-sanitize-address-use-odr-indicator"),
3769flagpd1("fno-sanitize-blacklist"),2821flagpd1("fno-sanitize-blacklist"),
3770flagpd1("fno-sanitize-cfi-canonical-jump-tables"),2822flagpd1("fno-sanitize-cfi-canonical-jump-tables"),
3771flagpd1("fno-sanitize-cfi-cross-dso"),2823flagpd1("fno-sanitize-cfi-cross-dso"),
3772.{
3773 .name = "fno-sanitize-coverage=",
3774 .syntax = .comma_joined,
3775 .zig_equivalent = .other,
3776 .pd1 = true,
3777 .pd2 = false,
3778 .psl = false,
3779},
3780flagpd1("fno-sanitize-link-c++-runtime"),2824flagpd1("fno-sanitize-link-c++-runtime"),
3781flagpd1("fno-sanitize-link-runtime"),2825flagpd1("fno-sanitize-link-runtime"),
3782flagpd1("fno-sanitize-memory-track-origins"),2826flagpd1("fno-sanitize-memory-track-origins"),
3783flagpd1("fno-sanitize-memory-use-after-dtor"),2827flagpd1("fno-sanitize-memory-use-after-dtor"),
3784flagpd1("fno-sanitize-minimal-runtime"),2828flagpd1("fno-sanitize-minimal-runtime"),
3785flagpd1("fno-sanitize-recover"),2829flagpd1("fno-sanitize-recover"),
3786.{
3787 .name = "fno-sanitize-recover=",
3788 .syntax = .comma_joined,
3789 .zig_equivalent = .other,
3790 .pd1 = true,
3791 .pd2 = false,
3792 .psl = false,
3793},
3794flagpd1("fno-sanitize-stats"),2830flagpd1("fno-sanitize-stats"),
3795flagpd1("fno-sanitize-thread-atomics"),2831flagpd1("fno-sanitize-thread-atomics"),
3796flagpd1("fno-sanitize-thread-func-entry-exit"),2832flagpd1("fno-sanitize-thread-func-entry-exit"),
3797flagpd1("fno-sanitize-thread-memory-access"),2833flagpd1("fno-sanitize-thread-memory-access"),
3798.{
3799 .name = "fno-sanitize-trap=",
3800 .syntax = .comma_joined,
3801 .zig_equivalent = .other,
3802 .pd1 = true,
3803 .pd2 = false,
3804 .psl = false,
3805},
3806flagpd1("fno-sanitize-undefined-trap-on-error"),2834flagpd1("fno-sanitize-undefined-trap-on-error"),
3807flagpd1("fno-save-optimization-record"),2835flagpd1("fno-save-optimization-record"),
3808flagpd1("fno-short-enums"),2836flagpd1("fno-short-enums"),
...@@ -3858,14 +2886,11 @@ flagpd1("fno-xray-always-emit-customevents"),...@@ -3858,14 +2886,11 @@ flagpd1("fno-xray-always-emit-customevents"),
3858flagpd1("fno-xray-always-emit-typedevents"),2886flagpd1("fno-xray-always-emit-typedevents"),
3859flagpd1("fno-xray-instrument"),2887flagpd1("fno-xray-instrument"),
3860flagpd1("fnoxray-link-deps"),2888flagpd1("fnoxray-link-deps"),
3861joinpd1("fobjc-abi-version="),
3862flagpd1("fobjc-arc"),2889flagpd1("fobjc-arc"),
3863joinpd1("fobjc-arc-cxxlib="),
3864flagpd1("fobjc-arc-exceptions"),2890flagpd1("fobjc-arc-exceptions"),
3865flagpd1("fobjc-atdefs"),2891flagpd1("fobjc-atdefs"),
3866flagpd1("fobjc-call-cxx-cdtors"),2892flagpd1("fobjc-call-cxx-cdtors"),
3867flagpd1("fobjc-convert-messages-to-runtime-calls"),2893flagpd1("fobjc-convert-messages-to-runtime-calls"),
3868joinpd1("fobjc-dispatch-method="),
3869flagpd1("fobjc-exceptions"),2894flagpd1("fobjc-exceptions"),
3870flagpd1("fobjc-gc"),2895flagpd1("fobjc-gc"),
3871flagpd1("fobjc-gc-only"),2896flagpd1("fobjc-gc-only"),
...@@ -3874,91 +2899,50 @@ flagpd1("fobjc-legacy-dispatch"),...@@ -3874,91 +2899,50 @@ flagpd1("fobjc-legacy-dispatch"),
3874flagpd1("fobjc-link-runtime"),2899flagpd1("fobjc-link-runtime"),
3875flagpd1("fobjc-new-property"),2900flagpd1("fobjc-new-property"),
3876flagpd1("fobjc-nonfragile-abi"),2901flagpd1("fobjc-nonfragile-abi"),
3877joinpd1("fobjc-nonfragile-abi-version="),
3878joinpd1("fobjc-runtime="),
3879flagpd1("fobjc-runtime-has-weak"),2902flagpd1("fobjc-runtime-has-weak"),
3880flagpd1("fobjc-sender-dependent-dispatch"),2903flagpd1("fobjc-sender-dependent-dispatch"),
3881flagpd1("fobjc-subscripting-legacy-runtime"),2904flagpd1("fobjc-subscripting-legacy-runtime"),
3882flagpd1("fobjc-weak"),2905flagpd1("fobjc-weak"),
3883flagpd1("fomit-frame-pointer"),2906flagpd1("fomit-frame-pointer"),
3884flagpd1("fopenmp"),2907flagpd1("fopenmp"),
3885joinpd1("fopenmp="),
3886joinpd1("fopenmp-cuda-blocks-per-sm="),
3887flagpd1("fopenmp-cuda-force-full-runtime"),2908flagpd1("fopenmp-cuda-force-full-runtime"),
3888flagpd1("fopenmp-cuda-mode"),2909flagpd1("fopenmp-cuda-mode"),
3889joinpd1("fopenmp-cuda-number-of-sm="),
3890joinpd1("fopenmp-cuda-teams-reduction-recs-num="),
3891flagpd1("fopenmp-enable-irbuilder"),2910flagpd1("fopenmp-enable-irbuilder"),
3892sepd1("fopenmp-host-ir-file-path"),2911sepd1("fopenmp-host-ir-file-path"),
3893flagpd1("fopenmp-is-device"),2912flagpd1("fopenmp-is-device"),
3894flagpd1("fopenmp-optimistic-collapse"),2913flagpd1("fopenmp-optimistic-collapse"),
3895flagpd1("fopenmp-relocatable-target"),2914flagpd1("fopenmp-relocatable-target"),
3896flagpd1("fopenmp-simd"),2915flagpd1("fopenmp-simd"),
3897.{
3898 .name = "fopenmp-targets=",
3899 .syntax = .comma_joined,
3900 .zig_equivalent = .other,
3901 .pd1 = true,
3902 .pd2 = false,
3903 .psl = false,
3904},
3905flagpd1("fopenmp-use-tls"),2916flagpd1("fopenmp-use-tls"),
3906joinpd1("fopenmp-version="),
3907sepd1("foperator-arrow-depth"),2917sepd1("foperator-arrow-depth"),
3908joinpd1("foperator-arrow-depth="),
3909joinpd1("foptimization-record-file="),
3910joinpd1("foptimization-record-passes="),
3911flagpd1("foptimize-sibling-calls"),2918flagpd1("foptimize-sibling-calls"),
3912flagpd1("force_cpusubtype_ALL"),2919flagpd1("force_cpusubtype_ALL"),
3913flagpd1("force_flat_namespace"),2920flagpd1("force_flat_namespace"),
3914sepd1("force_load"),2921sepd1("force_load"),
3915joinpd1("fforce-addr"),
3916flagpd1("forder-file-instrumentation"),2922flagpd1("forder-file-instrumentation"),
3917joinpd1("foutput-class-dir="),
3918joinpd1("foverride-record-layout="),
3919flagpd1("fpack-struct"),2923flagpd1("fpack-struct"),
3920joinpd1("fpack-struct="),
3921flagpd1("fpadding-on-unsigned-fixed-point"),2924flagpd1("fpadding-on-unsigned-fixed-point"),
3922flagpd1("fparse-all-comments"),2925flagpd1("fparse-all-comments"),
3923flagpd1("fpascal-strings"),2926flagpd1("fpascal-strings"),
3924joinpd1("fpass-plugin="),
3925joinpd1("fpatchable-function-entry="),
3926joinpd1("fpatchable-function-entry-offset="),
3927flagpd1("fpcc-struct-return"),2927flagpd1("fpcc-struct-return"),
3928flagpd1("fpch-preprocess"),2928flagpd1("fpch-preprocess"),
3929flagpd1("fpch-validate-input-files-content"),2929flagpd1("fpch-validate-input-files-content"),
3930flagpd1("fpic"),2930flagpd1("fpic"),
3931flagpd1("fpie"),2931flagpd1("fpie"),
3932flagpd1("fplt"),2932flagpd1("fplt"),
3933joinpd1("fplugin="),
3934joinpd1("fprebuilt-module-path="),
3935flagpd1("fpreserve-as-comments"),2933flagpd1("fpreserve-as-comments"),
3936flagpd1("fpreserve-vec3-type"),2934flagpd1("fpreserve-vec3-type"),
3937flagpd1("fprofile-arcs"),2935flagpd1("fprofile-arcs"),
3938joinpd1("fprofile-dir="),
3939joinpd1("fprofile-exclude-files="),
3940joinpd1("fprofile-filter-files="),
3941flagpd1("fprofile-generate"),2936flagpd1("fprofile-generate"),
3942joinpd1("fprofile-generate="),
3943flagpd1("fprofile-instr-generate"),2937flagpd1("fprofile-instr-generate"),
3944joinpd1("fprofile-instr-generate="),
3945flagpd1("fprofile-instr-use"),2938flagpd1("fprofile-instr-use"),
3946joinpd1("fprofile-instr-use="),
3947joinpd1("fprofile-instrument="),
3948joinpd1("fprofile-instrument-path="),
3949joinpd1("fprofile-instrument-use-path="),
3950sepd1("fprofile-remapping-file"),2939sepd1("fprofile-remapping-file"),
3951joinpd1("fprofile-remapping-file="),
3952flagpd1("fprofile-sample-accurate"),2940flagpd1("fprofile-sample-accurate"),
3953flagpd1("fprofile-sample-use"),2941flagpd1("fprofile-sample-use"),
3954joinpd1("fprofile-sample-use="),
3955flagpd1("fprofile-use"),2942flagpd1("fprofile-use"),
3956joinpd1("fprofile-use="),
3957sepd1("framework"),2943sepd1("framework"),
3958joinpd1("frandom-seed="),
3959flagpd1("freciprocal-math"),2944flagpd1("freciprocal-math"),
3960flagpd1("frecord-command-line"),2945flagpd1("frecord-command-line"),
3961joinpd1("frecord-marker="),
3962flagpd1("ffree-form"),2946flagpd1("ffree-form"),
3963flagpd1("fno-free-form"),2947flagpd1("fno-free-form"),
3964flagpd1("freg-struct-return"),2948flagpd1("freg-struct-return"),
...@@ -3969,7 +2953,6 @@ flagpd1("fretain-comments-from-system-headers"),...@@ -3969,7 +2953,6 @@ flagpd1("fretain-comments-from-system-headers"),
3969flagpd1("frewrite-imports"),2953flagpd1("frewrite-imports"),
3970flagpd1("frewrite-includes"),2954flagpd1("frewrite-includes"),
3971sepd1("frewrite-map-file"),2955sepd1("frewrite-map-file"),
3972joinpd1("frewrite-map-file="),
3973flagpd1("ffriend-injection"),2956flagpd1("ffriend-injection"),
3974flagpd1("fno-friend-injection"),2957flagpd1("fno-friend-injection"),
3975flagpd1("ffrontend-optimize"),2958flagpd1("ffrontend-optimize"),
...@@ -3979,31 +2962,13 @@ flagpd1("frounding-math"),...@@ -3979,31 +2962,13 @@ flagpd1("frounding-math"),
3979flagpd1("frtlib-add-rpath"),2962flagpd1("frtlib-add-rpath"),
3980flagpd1("frtti"),2963flagpd1("frtti"),
3981flagpd1("frwpi"),2964flagpd1("frwpi"),
3982.{
3983 .name = "fsanitize=",
3984 .syntax = .comma_joined,
3985 .zig_equivalent = .other,
3986 .pd1 = true,
3987 .pd2 = false,
3988 .psl = false,
3989},
3990joinpd1("fsanitize-address-field-padding="),
3991flagpd1("fsanitize-address-globals-dead-stripping"),2965flagpd1("fsanitize-address-globals-dead-stripping"),
3992flagpd1("fsanitize-address-poison-custom-array-cookie"),2966flagpd1("fsanitize-address-poison-custom-array-cookie"),
3993flagpd1("fsanitize-address-use-after-scope"),2967flagpd1("fsanitize-address-use-after-scope"),
3994flagpd1("fsanitize-address-use-odr-indicator"),2968flagpd1("fsanitize-address-use-odr-indicator"),
3995joinpd1("fsanitize-blacklist="),
3996flagpd1("fsanitize-cfi-canonical-jump-tables"),2969flagpd1("fsanitize-cfi-canonical-jump-tables"),
3997flagpd1("fsanitize-cfi-cross-dso"),2970flagpd1("fsanitize-cfi-cross-dso"),
3998flagpd1("fsanitize-cfi-icall-generalize-pointers"),2971flagpd1("fsanitize-cfi-icall-generalize-pointers"),
3999.{
4000 .name = "fsanitize-coverage=",
4001 .syntax = .comma_joined,
4002 .zig_equivalent = .other,
4003 .pd1 = true,
4004 .pd2 = false,
4005 .psl = false,
4006},
4007flagpd1("fsanitize-coverage-8bit-counters"),2972flagpd1("fsanitize-coverage-8bit-counters"),
4008flagpd1("fsanitize-coverage-indirect-calls"),2973flagpd1("fsanitize-coverage-indirect-calls"),
4009flagpd1("fsanitize-coverage-inline-8bit-counters"),2974flagpd1("fsanitize-coverage-inline-8bit-counters"),
...@@ -4016,45 +2981,22 @@ flagpd1("fsanitize-coverage-trace-div"),...@@ -4016,45 +2981,22 @@ flagpd1("fsanitize-coverage-trace-div"),
4016flagpd1("fsanitize-coverage-trace-gep"),2981flagpd1("fsanitize-coverage-trace-gep"),
4017flagpd1("fsanitize-coverage-trace-pc"),2982flagpd1("fsanitize-coverage-trace-pc"),
4018flagpd1("fsanitize-coverage-trace-pc-guard"),2983flagpd1("fsanitize-coverage-trace-pc-guard"),
4019joinpd1("fsanitize-coverage-type="),
4020joinpd1("fsanitize-hwaddress-abi="),
4021flagpd1("fsanitize-link-c++-runtime"),2984flagpd1("fsanitize-link-c++-runtime"),
4022flagpd1("fsanitize-link-runtime"),2985flagpd1("fsanitize-link-runtime"),
4023flagpd1("fsanitize-memory-track-origins"),2986flagpd1("fsanitize-memory-track-origins"),
4024joinpd1("fsanitize-memory-track-origins="),
4025flagpd1("fsanitize-memory-use-after-dtor"),2987flagpd1("fsanitize-memory-use-after-dtor"),
4026flagpd1("fsanitize-minimal-runtime"),2988flagpd1("fsanitize-minimal-runtime"),
4027flagpd1("fsanitize-recover"),2989flagpd1("fsanitize-recover"),
4028.{
4029 .name = "fsanitize-recover=",
4030 .syntax = .comma_joined,
4031 .zig_equivalent = .other,
4032 .pd1 = true,
4033 .pd2 = false,
4034 .psl = false,
4035},
4036flagpd1("fsanitize-stats"),2990flagpd1("fsanitize-stats"),
4037joinpd1("fsanitize-system-blacklist="),
4038flagpd1("fsanitize-thread-atomics"),2991flagpd1("fsanitize-thread-atomics"),
4039flagpd1("fsanitize-thread-func-entry-exit"),2992flagpd1("fsanitize-thread-func-entry-exit"),
4040flagpd1("fsanitize-thread-memory-access"),2993flagpd1("fsanitize-thread-memory-access"),
4041.{
4042 .name = "fsanitize-trap=",
4043 .syntax = .comma_joined,
4044 .zig_equivalent = .other,
4045 .pd1 = true,
4046 .pd2 = false,
4047 .psl = false,
4048},
4049joinpd1("fsanitize-undefined-strip-path-components="),
4050flagpd1("fsanitize-undefined-trap-on-error"),2994flagpd1("fsanitize-undefined-trap-on-error"),
4051flagpd1("fsave-optimization-record"),2995flagpd1("fsave-optimization-record"),
4052joinpd1("fsave-optimization-record="),
4053flagpd1("fseh-exceptions"),2996flagpd1("fseh-exceptions"),
4054flagpd1("fshort-enums"),2997flagpd1("fshort-enums"),
4055flagpd1("fshort-wchar"),2998flagpd1("fshort-wchar"),
4056flagpd1("fshow-column"),2999flagpd1("fshow-column"),
4057joinpd1("fshow-overloads="),
4058flagpd1("fshow-source-location"),3000flagpd1("fshow-source-location"),
4059flagpd1("fsignaling-math"),3001flagpd1("fsignaling-math"),
4060flagpd1("fsigned-bitfields"),3002flagpd1("fsigned-bitfields"),
...@@ -4066,7 +3008,6 @@ flagpd1("fsjlj-exceptions"),...@@ -4066,7 +3008,6 @@ flagpd1("fsjlj-exceptions"),
4066flagpd1("fslp-vectorize"),3008flagpd1("fslp-vectorize"),
4067flagpd1("fspell-checking"),3009flagpd1("fspell-checking"),
4068sepd1("fspell-checking-limit"),3010sepd1("fspell-checking-limit"),
4069joinpd1("fspell-checking-limit="),
4070flagpd1("fsplit-dwarf-inlining"),3011flagpd1("fsplit-dwarf-inlining"),
4071flagpd1("fsplit-lto-unit"),3012flagpd1("fsplit-lto-unit"),
4072flagpd1("fsplit-stack"),3013flagpd1("fsplit-stack"),
...@@ -4083,31 +3024,18 @@ flagpd1("fstrict-return"),...@@ -4083,31 +3024,18 @@ flagpd1("fstrict-return"),
4083flagpd1("fstrict-vtable-pointers"),3024flagpd1("fstrict-vtable-pointers"),
4084flagpd1("fstruct-path-tbaa"),3025flagpd1("fstruct-path-tbaa"),
4085flagpd1("fsycl-is-device"),3026flagpd1("fsycl-is-device"),
4086joinpd1("fsymbol-partition="),
4087flagpd1("fsyntax-only"),3027flagpd1("fsyntax-only"),
4088sepd1("ftabstop"),3028sepd1("ftabstop"),
4089joinpd1("ftabstop="),
4090sepd1("ftemplate-backtrace-limit"),3029sepd1("ftemplate-backtrace-limit"),
4091joinpd1("ftemplate-backtrace-limit="),
4092sepd1("ftemplate-depth"),3030sepd1("ftemplate-depth"),
4093joinpd1("ftemplate-depth-"),
4094joinpd1("ftemplate-depth="),
4095flagpd1("ftest-coverage"),3031flagpd1("ftest-coverage"),
4096joinpd1("ftest-module-file-extension="),
4097joinpd1("fthin-link-bitcode="),
4098joinpd1("fthinlto-index="),
4099flagpd1("fthreadsafe-statics"),3032flagpd1("fthreadsafe-statics"),
4100flagpd1("ftime-report"),3033flagpd1("ftime-report"),
4101flagpd1("ftime-trace"),3034flagpd1("ftime-trace"),
4102joinpd1("ftime-trace-granularity="),
4103joinpd1("ftls-model="),
4104joinpd1("ftrap-function="),
4105flagpd1("ftrapping-math"),3035flagpd1("ftrapping-math"),
4106flagpd1("ftrapv"),3036flagpd1("ftrapv"),
4107sepd1("ftrapv-handler"),3037sepd1("ftrapv-handler"),
4108joinpd1("ftrapv-handler="),
4109flagpd1("ftrigraphs"),3038flagpd1("ftrigraphs"),
4110joinpd1("ftrivial-auto-var-init="),
4111sepd1("ftype-visibility"),3039sepd1("ftype-visibility"),
4112sepd1("function-alignment"),3040sepd1("function-alignment"),
4113flagpd1("ffunction-attribute-list"),3041flagpd1("ffunction-attribute-list"),
...@@ -4122,35 +3050,24 @@ flagpd1("funsigned-char"),...@@ -4122,35 +3050,24 @@ flagpd1("funsigned-char"),
4122flagpd1("funwind-tables"),3050flagpd1("funwind-tables"),
4123flagpd1("fuse-cxa-atexit"),3051flagpd1("fuse-cxa-atexit"),
4124flagpd1("fuse-init-array"),3052flagpd1("fuse-init-array"),
4125joinpd1("fuse-ld="),
4126flagpd1("fuse-line-directives"),3053flagpd1("fuse-line-directives"),
4127flagpd1("fuse-register-sized-bitfield-access"),3054flagpd1("fuse-register-sized-bitfield-access"),
4128flagpd1("fvalidate-ast-input-files-content"),3055flagpd1("fvalidate-ast-input-files-content"),
4129joinpd1("fveclib="),
4130flagpd1("fvectorize"),3056flagpd1("fvectorize"),
4131flagpd1("fverbose-asm"),3057flagpd1("fverbose-asm"),
4132flagpd1("fvirtual-function-elimination"),3058flagpd1("fvirtual-function-elimination"),
4133sepd1("fvisibility"),3059sepd1("fvisibility"),
4134joinpd1("fvisibility="),
4135flagpd1("fvisibility-global-new-delete-hidden"),3060flagpd1("fvisibility-global-new-delete-hidden"),
4136flagpd1("fvisibility-inlines-hidden"),3061flagpd1("fvisibility-inlines-hidden"),
4137flagpd1("fvisibility-ms-compat"),3062flagpd1("fvisibility-ms-compat"),
4138flagpd1("fwasm-exceptions"),3063flagpd1("fwasm-exceptions"),
4139joinpd1("fwchar-type="),
4140flagpd1("fwhole-program-vtables"),3064flagpd1("fwhole-program-vtables"),
4141flagpd1("fwrapv"),3065flagpd1("fwrapv"),
4142flagpd1("fwritable-strings"),3066flagpd1("fwritable-strings"),
4143flagpd1("fxray-always-emit-customevents"),3067flagpd1("fxray-always-emit-customevents"),
4144flagpd1("fxray-always-emit-typedevents"),3068flagpd1("fxray-always-emit-typedevents"),
4145jspd1("fxray-always-instrument="),
4146jspd1("fxray-attr-list="),
4147jspd1("fxray-instruction-threshold"),
4148jspd1("fxray-instruction-threshold="),
4149flagpd1("fxray-instrument"),3069flagpd1("fxray-instrument"),
4150jspd1("fxray-instrumentation-bundle="),
4151flagpd1("fxray-link-deps"),3070flagpd1("fxray-link-deps"),
4152jspd1("fxray-modes="),
4153jspd1("fxray-never-instrument="),
4154flagpd1("fzero-initialized-in-bss"),3071flagpd1("fzero-initialized-in-bss"),
4155flagpd1("fzvector"),3072flagpd1("fzvector"),
4156flagpd1("g0"),3073flagpd1("g0"),
...@@ -4158,18 +3075,9 @@ flagpd1("g1"),...@@ -4158,18 +3075,9 @@ flagpd1("g1"),
4158flagpd1("g2"),3075flagpd1("g2"),
4159flagpd1("g3"),3076flagpd1("g3"),
4160flagpd1("g"),3077flagpd1("g"),
4161.{
4162 .name = "gcc-toolchain=",
4163 .syntax = .joined,
4164 .zig_equivalent = .other,
4165 .pd1 = false,
4166 .pd2 = true,
4167 .psl = false,
4168},
4169sepd1("gcc-toolchain"),3078sepd1("gcc-toolchain"),
4170flagpd1("gcodeview"),3079flagpd1("gcodeview"),
4171flagpd1("gcodeview-ghash"),3080flagpd1("gcodeview-ghash"),
4172joinpd1("gcoff"),
4173flagpd1("gcolumn-info"),3081flagpd1("gcolumn-info"),
4174flagpd1("fgcse-after-reload"),3082flagpd1("fgcse-after-reload"),
4175flagpd1("fno-gcse-after-reload"),3083flagpd1("fno-gcse-after-reload"),
...@@ -4211,53 +3119,23 @@ flagpd1("gno-record-command-line"),...@@ -4211,53 +3119,23 @@ flagpd1("gno-record-command-line"),
4211flagpd1("gno-strict-dwarf"),3119flagpd1("gno-strict-dwarf"),
4212flagpd1("fgnu"),3120flagpd1("fgnu"),
4213flagpd1("fno-gnu"),3121flagpd1("fno-gnu"),
4214.{
4215 .name = "gpu-max-threads-per-block=",
4216 .syntax = .joined,
4217 .zig_equivalent = .other,
4218 .pd1 = false,
4219 .pd2 = true,
4220 .psl = false,
4221},
4222flagpd1("gpubnames"),3122flagpd1("gpubnames"),
4223flagpd1("grecord-command-line"),3123flagpd1("grecord-command-line"),
4224flagpd1("gsce"),3124flagpd1("gsce"),
4225flagpd1("gsplit-dwarf"),3125flagpd1("gsplit-dwarf"),
4226joinpd1("gsplit-dwarf="),
4227joinpd1("gstabs"),
4228flagpd1("gstrict-dwarf"),3126flagpd1("gstrict-dwarf"),
4229flagpd1("gtoggle"),3127flagpd1("gtoggle"),
4230flagpd1("gused"),3128flagpd1("gused"),
4231joinpd1("gvms"),
4232joinpd1("gxcoff"),
4233flagpd1("gz"),3129flagpd1("gz"),
4234joinpd1("gz="),
4235sepd1("header-include-file"),3130sepd1("header-include-file"),
4236joinpd1("headerpad_max_install_names"),
4237.{3131.{
4238 .name = "help",3132 .name = "help",
4239 .syntax = .flag,3133 .syntax = .flag,
4240 .zig_equivalent = .other,3134 .zig_equivalent = .passthrough,
4241 .pd1 = true,3135 .pd1 = true,
4242 .pd2 = true,3136 .pd2 = true,
4243 .psl = false,3137 .psl = false,
4244},3138},
4245.{
4246 .name = "hip-device-lib=",
4247 .syntax = .joined,
4248 .zig_equivalent = .other,
4249 .pd1 = false,
4250 .pd2 = true,
4251 .psl = false,
4252},
4253.{
4254 .name = "hip-device-lib-path=",
4255 .syntax = .joined,
4256 .zig_equivalent = .other,
4257 .pd1 = false,
4258 .pd2 = true,
4259 .psl = false,
4260},
4261.{3139.{
4262 .name = "hip-link",3140 .name = "hip-link",
4263 .syntax = .flag,3141 .syntax = .flag,
...@@ -4266,17 +3144,6 @@ joinpd1("headerpad_max_install_names"),...@@ -4266,17 +3144,6 @@ joinpd1("headerpad_max_install_names"),
4266 .pd2 = true,3144 .pd2 = true,
4267 .psl = false,3145 .psl = false,
4268},3146},
4269jspd1("idirafter"),
4270jspd1("iframework"),
4271jspd1("iframeworkwithsysroot"),
4272.{
4273 .name = "imacros",
4274 .syntax = .joined_or_separate,
4275 .zig_equivalent = .other,
4276 .pd1 = true,
4277 .pd2 = true,
4278 .psl = false,
4279},
4280sepd1("image_base"),3147sepd1("image_base"),
4281flagpd1("fimplement-inlines"),3148flagpd1("fimplement-inlines"),
4282flagpd1("fno-implement-inlines"),3149flagpd1("fno-implement-inlines"),
...@@ -4285,14 +3152,6 @@ flagpd1("fno-implicit-none"),...@@ -4285,14 +3152,6 @@ flagpd1("fno-implicit-none"),
4285flagpd1("fimplicit-templates"),3152flagpd1("fimplicit-templates"),
4286flagpd1("fno-implicit-templates"),3153flagpd1("fno-implicit-templates"),
4287sepd1("imultilib"),3154sepd1("imultilib"),
4288.{
4289 .name = "include",
4290 .syntax = .joined_or_separate,
4291 .zig_equivalent = .other,
4292 .pd1 = true,
4293 .pd2 = true,
4294 .psl = false,
4295},
4296sepd1("include-pch"),3155sepd1("include-pch"),
4297flagpd1("index-header-map"),3156flagpd1("index-header-map"),
4298sepd1("init"),3157sepd1("init"),
...@@ -4306,51 +3165,15 @@ flagpd1("fno-inline-small-functions"),...@@ -4306,51 +3165,15 @@ flagpd1("fno-inline-small-functions"),
4306sepd1("install_name"),3165sepd1("install_name"),
4307flagpd1("finteger-4-integer-8"),3166flagpd1("finteger-4-integer-8"),
4308flagpd1("fno-integer-4-integer-8"),3167flagpd1("fno-integer-4-integer-8"),
4309jspd1("interface-stub-version="),
4310jspd1("internal-externc-isystem"),
4311jspd1("internal-isystem"),
4312flagpd1("fintrinsic-modules-path"),3168flagpd1("fintrinsic-modules-path"),
4313flagpd1("fno-intrinsic-modules-path"),3169flagpd1("fno-intrinsic-modules-path"),
4314flagpd1("fipa-cp"),3170flagpd1("fipa-cp"),
4315flagpd1("fno-ipa-cp"),3171flagpd1("fno-ipa-cp"),
4316jspd1("iprefix"),
4317jspd1("iquote"),
4318jspd1("isysroot"),
4319jspd1("isystem"),
4320jspd1("isystem-after"),
4321jspd1("ivfsoverlay"),
4322flagpd1("fivopts"),3172flagpd1("fivopts"),
4323flagpd1("fno-ivopts"),3173flagpd1("fno-ivopts"),
4324jspd1("iwithprefix"),
4325jspd1("iwithprefixbefore"),
4326jspd1("iwithsysroot"),
4327flagpd1("keep_private_externs"),3174flagpd1("keep_private_externs"),
4328.{
4329 .name = "l",
4330 .syntax = .joined_or_separate,
4331 .zig_equivalent = .l,
4332 .pd1 = true,
4333 .pd2 = false,
4334 .psl = false,
4335},
4336sepd1("lazy_framework"),3175sepd1("lazy_framework"),
4337sepd1("lazy_library"),3176sepd1("lazy_library"),
4338.{
4339 .name = "libomptarget-nvptx-path=",
4340 .syntax = .joined,
4341 .zig_equivalent = .other,
4342 .pd1 = false,
4343 .pd2 = true,
4344 .psl = false,
4345},
4346.{
4347 .name = "linker-option=",
4348 .syntax = .joined,
4349 .zig_equivalent = .other,
4350 .pd1 = false,
4351 .pd2 = true,
4352 .psl = false,
4353},
4354sepd1("load"),3177sepd1("load"),
4355flagpd1("m16"),3178flagpd1("m16"),
4356flagpd1("m32"),3179flagpd1("m32"),
...@@ -4358,34 +3181,14 @@ flagpd1("m3dnow"),...@@ -4358,34 +3181,14 @@ flagpd1("m3dnow"),
4358flagpd1("m3dnowa"),3181flagpd1("m3dnowa"),
4359flagpd1("m64"),3182flagpd1("m64"),
4360flagpd1("m80387"),3183flagpd1("m80387"),
4361joinpd1("mabi="),
4362flagpd1("mabi=ieeelongdouble"),3184flagpd1("mabi=ieeelongdouble"),
4363flagpd1("mabicalls"),3185flagpd1("mabicalls"),
4364joinpd1("mabs="),
4365flagpd1("madx"),3186flagpd1("madx"),
4366flagpd1("maes"),3187flagpd1("maes"),
4367sepd1("main-file-name"),3188sepd1("main-file-name"),
4368.{
4369 .name = "malign-branch=",
4370 .syntax = .comma_joined,
4371 .zig_equivalent = .other,
4372 .pd1 = true,
4373 .pd2 = false,
4374 .psl = false,
4375},
4376joinpd1("malign-branch-boundary="),
4377joinpd1("malign-branch-prefix-size="),
4378flagpd1("malign-double"),3189flagpd1("malign-double"),
4379joinpd1("malign-functions="),
4380joinpd1("malign-jumps="),
4381joinpd1("malign-loops="),
4382flagpd1("maltivec"),3190flagpd1("maltivec"),
4383joinpd1("mamdgpu-debugger-abi="),
4384joinpd1("mappletvos-version-min="),
4385joinpd1("mappletvsimulator-version-min="),
4386joinpd1("march="),
4387flagpd1("marm"),3191flagpd1("marm"),
4388joinpd1("masm="),
4389flagpd1("masm-verbose"),3192flagpd1("masm-verbose"),
4390flagpd1("massembler-fatal-warnings"),3193flagpd1("massembler-fatal-warnings"),
4391flagpd1("massembler-no-warn"),3194flagpd1("massembler-no-warn"),
...@@ -4414,7 +3217,6 @@ flagpd1("mbig-endian"),...@@ -4414,7 +3217,6 @@ flagpd1("mbig-endian"),
4414flagpd1("mbmi"),3217flagpd1("mbmi"),
4415flagpd1("mbmi2"),3218flagpd1("mbmi2"),
4416flagpd1("mbranch-likely"),3219flagpd1("mbranch-likely"),
4417joinpd1("mbranch-protection="),
4418flagpd1("mbranch-target-enforce"),3220flagpd1("mbranch-target-enforce"),
4419flagpd1("mbranches-within-32B-boundaries"),3221flagpd1("mbranches-within-32B-boundaries"),
4420flagpd1("mbulk-memory"),3222flagpd1("mbulk-memory"),
...@@ -4423,32 +3225,25 @@ flagpd1("mcldemote"),...@@ -4423,32 +3225,25 @@ flagpd1("mcldemote"),
4423flagpd1("mclflushopt"),3225flagpd1("mclflushopt"),
4424flagpd1("mclwb"),3226flagpd1("mclwb"),
4425flagpd1("mclzero"),3227flagpd1("mclzero"),
4426joinpd1("mcmodel="),
4427flagpd1("mcmodel=medany"),3228flagpd1("mcmodel=medany"),
4428flagpd1("mcmodel=medlow"),3229flagpd1("mcmodel=medlow"),
4429flagpd1("mcmpb"),3230flagpd1("mcmpb"),
4430flagpd1("mcmse"),3231flagpd1("mcmse"),
4431sepd1("mcode-model"),3232sepd1("mcode-model"),
4432flagpd1("mcode-object-v3"),3233flagpd1("mcode-object-v3"),
4433joinpd1("mcompact-branches="),
4434joinpd1("mconsole"),
4435flagpd1("mconstant-cfstrings"),3234flagpd1("mconstant-cfstrings"),
4436flagpd1("mconstructor-aliases"),3235flagpd1("mconstructor-aliases"),
4437joinpd1("mcpu="),
4438flagpd1("mcpu=?"),3236flagpd1("mcpu=?"),
4439flagpd1("mcrbits"),3237flagpd1("mcrbits"),
4440flagpd1("mcrc"),3238flagpd1("mcrc"),
4441flagpd1("mcumode"),3239flagpd1("mcumode"),
4442flagpd1("mcx16"),3240flagpd1("mcx16"),
4443sepd1("mdebug-pass"),3241sepd1("mdebug-pass"),
4444joinpd1("mdefault-build-attributes"),
4445flagpd1("mdirect-move"),3242flagpd1("mdirect-move"),
4446flagpd1("mdisable-tail-calls"),3243flagpd1("mdisable-tail-calls"),
4447joinpd1("mdll"),
4448flagpd1("mdouble-float"),3244flagpd1("mdouble-float"),
4449flagpd1("mdsp"),3245flagpd1("mdsp"),
4450flagpd1("mdspr2"),3246flagpd1("mdspr2"),
4451joinpd1("mdynamic-no-pic"),
4452sepd1("meabi"),3247sepd1("meabi"),
4453flagpd1("membedded-data"),3248flagpd1("membedded-data"),
4454flagpd1("menable-no-infs"),3249flagpd1("menable-no-infs"),
...@@ -4467,17 +3262,13 @@ flagpd1("mfix-and-continue"),...@@ -4467,17 +3262,13 @@ flagpd1("mfix-and-continue"),
4467flagpd1("mfix-cortex-a53-835769"),3262flagpd1("mfix-cortex-a53-835769"),
4468flagpd1("mfloat128"),3263flagpd1("mfloat128"),
4469sepd1("mfloat-abi"),3264sepd1("mfloat-abi"),
4470joinpd1("mfloat-abi="),
4471flagpd1("mfma"),3265flagpd1("mfma"),
4472flagpd1("mfma4"),3266flagpd1("mfma4"),
4473flagpd1("mfp32"),3267flagpd1("mfp32"),
4474flagpd1("mfp64"),3268flagpd1("mfp64"),
4475sepd1("mfpmath"),3269sepd1("mfpmath"),
4476joinpd1("mfpmath="),
4477flagpd1("mfprnd"),3270flagpd1("mfprnd"),
4478joinpd1("mfpu="),
4479flagpd1("mfpxx"),3271flagpd1("mfpxx"),
4480joinpd1("mframe-pointer="),
4481flagpd1("mfsgsbase"),3272flagpd1("mfsgsbase"),
4482flagpd1("mfxsr"),3273flagpd1("mfxsr"),
4483flagpd1("mgeneral-regs-only"),3274flagpd1("mgeneral-regs-only"),
...@@ -4488,11 +3279,7 @@ flagpd1("mglobal-merge"),...@@ -4488,11 +3279,7 @@ flagpd1("mglobal-merge"),
4488flagpd1("mgpopt"),3279flagpd1("mgpopt"),
4489flagpd1("mhard-float"),3280flagpd1("mhard-float"),
4490flagpd1("mhvx"),3281flagpd1("mhvx"),
4491joinpd1("mhvx="),
4492joinpd1("mhvx-length="),
4493flagpd1("mhtm"),3282flagpd1("mhtm"),
4494joinpd1("mhwdiv="),
4495joinpd1("mhwmult="),
4496flagpd1("miamcu"),3283flagpd1("miamcu"),
4497flagpd1("mieee-fp"),3284flagpd1("mieee-fp"),
4498flagpd1("mieee-rnd-near"),3285flagpd1("mieee-rnd-near"),
...@@ -4500,16 +3287,10 @@ flagpd1("migrate"),...@@ -4500,16 +3287,10 @@ flagpd1("migrate"),
4500flagpd1("no-finalize-removal"),3287flagpd1("no-finalize-removal"),
4501flagpd1("no-ns-alloc-error"),3288flagpd1("no-ns-alloc-error"),
4502flagpd1("mimplicit-float"),3289flagpd1("mimplicit-float"),
4503joinpd1("mimplicit-it="),
4504flagpd1("mincremental-linker-compatible"),3290flagpd1("mincremental-linker-compatible"),
4505joinpd1("mindirect-jump="),
4506flagpd1("minline-all-stringops"),3291flagpd1("minline-all-stringops"),
4507flagpd1("minvariant-function-descriptors"),3292flagpd1("minvariant-function-descriptors"),
4508flagpd1("minvpcid"),3293flagpd1("minvpcid"),
4509joinpd1("mios-simulator-version-min="),
4510joinpd1("mios-version-min="),
4511joinpd1("miphoneos-version-min="),
4512joinpd1("miphonesimulator-version-min="),
4513flagpd1("mips1"),3294flagpd1("mips1"),
4514flagpd1("mips16"),3295flagpd1("mips16"),
4515flagpd1("mips2"),3296flagpd1("mips2"),
...@@ -4533,7 +3314,6 @@ sepd1("mlimit-float-precision"),...@@ -4533,7 +3314,6 @@ sepd1("mlimit-float-precision"),
4533sepd1("mlink-bitcode-file"),3314sepd1("mlink-bitcode-file"),
4534sepd1("mlink-builtin-bitcode"),3315sepd1("mlink-builtin-bitcode"),
4535sepd1("mlink-cuda-bitcode"),3316sepd1("mlink-cuda-bitcode"),
4536joinpd1("mlinker-version="),
4537flagpd1("mlittle-endian"),3317flagpd1("mlittle-endian"),
4538sepd1("mllvm"),3318sepd1("mllvm"),
4539flagpd1("mlocal-sdata"),3319flagpd1("mlocal-sdata"),
...@@ -4544,10 +3324,7 @@ flagpd1("mlong-double-80"),...@@ -4544,10 +3324,7 @@ flagpd1("mlong-double-80"),
4544flagpd1("mlongcall"),3324flagpd1("mlongcall"),
4545flagpd1("mlwp"),3325flagpd1("mlwp"),
4546flagpd1("mlzcnt"),3326flagpd1("mlzcnt"),
4547joinpd1("mmacos-version-min="),
4548joinpd1("mmacosx-version-min="),
4549flagpd1("mmadd4"),3327flagpd1("mmadd4"),
4550joinpd1("mmcu="),
4551flagpd1("mmemops"),3328flagpd1("mmemops"),
4552flagpd1("mmfcrf"),3329flagpd1("mmfcrf"),
4553flagpd1("mmfocrf"),3330flagpd1("mmfocrf"),
...@@ -4563,7 +3340,6 @@ flagpd1("mmt"),...@@ -4563,7 +3340,6 @@ flagpd1("mmt"),
4563flagpd1("mmultivalue"),3340flagpd1("mmultivalue"),
4564flagpd1("mmutable-globals"),3341flagpd1("mmutable-globals"),
4565flagpd1("mmwaitx"),3342flagpd1("mmwaitx"),
4566joinpd1("mnan="),
4567flagpd1("mno-3dnow"),3343flagpd1("mno-3dnow"),
4568flagpd1("mno-3dnowa"),3344flagpd1("mno-3dnowa"),
4569flagpd1("mno-80387"),3345flagpd1("mno-80387"),
...@@ -4606,7 +3382,6 @@ flagpd1("mno-crbits"),...@@ -4606,7 +3382,6 @@ flagpd1("mno-crbits"),
4606flagpd1("mno-crc"),3382flagpd1("mno-crc"),
4607flagpd1("mno-cumode"),3383flagpd1("mno-cumode"),
4608flagpd1("mno-cx16"),3384flagpd1("mno-cx16"),
4609joinpd1("mno-default-build-attributes"),
4610flagpd1("mno-dsp"),3385flagpd1("mno-dsp"),
4611flagpd1("mno-dspr2"),3386flagpd1("mno-dspr2"),
4612flagpd1("mno-embedded-data"),3387flagpd1("mno-embedded-data"),
...@@ -4761,7 +3536,6 @@ flagpd1("fno-modulo-sched-allow-regmoves"),...@@ -4761,7 +3536,6 @@ flagpd1("fno-modulo-sched-allow-regmoves"),
4761flagpd1("fmodulo-sched"),3536flagpd1("fmodulo-sched"),
4762flagpd1("fno-modulo-sched"),3537flagpd1("fno-modulo-sched"),
4763flagpd1("momit-leaf-frame-pointer"),3538flagpd1("momit-leaf-frame-pointer"),
4764joinpd1("moslib="),
4765flagpd1("moutline"),3539flagpd1("moutline"),
4766flagpd1("mpacked-stack"),3540flagpd1("mpacked-stack"),
4767flagpd1("mpackets"),3541flagpd1("mpackets"),
...@@ -4775,7 +3549,6 @@ flagpd1("mpopcntd"),...@@ -4775,7 +3549,6 @@ flagpd1("mpopcntd"),
4775flagpd1("mcrypto"),3549flagpd1("mcrypto"),
4776flagpd1("mpower8-vector"),3550flagpd1("mpower8-vector"),
4777flagpd1("mpower9-vector"),3551flagpd1("mpower9-vector"),
4778joinpd1("mprefer-vector-width="),
4779flagpd1("mprefetchwt1"),3552flagpd1("mprefetchwt1"),
4780flagpd1("mprfchw"),3553flagpd1("mprfchw"),
4781flagpd1("mptwrite"),3554flagpd1("mptwrite"),
...@@ -4787,19 +3560,10 @@ flagpd1("mrdrnd"),...@@ -4787,19 +3560,10 @@ flagpd1("mrdrnd"),
4787flagpd1("mrdseed"),3560flagpd1("mrdseed"),
4788flagpd1("mreassociate"),3561flagpd1("mreassociate"),
4789flagpd1("mrecip"),3562flagpd1("mrecip"),
4790.{
4791 .name = "mrecip=",
4792 .syntax = .comma_joined,
4793 .zig_equivalent = .other,
4794 .pd1 = true,
4795 .pd2 = false,
4796 .psl = false,
4797},
4798flagpd1("mrecord-mcount"),3563flagpd1("mrecord-mcount"),
4799flagpd1("mred-zone"),3564flagpd1("mred-zone"),
4800flagpd1("mreference-types"),3565flagpd1("mreference-types"),
4801sepd1("mregparm"),3566sepd1("mregparm"),
4802joinpd1("mregparm="),
4803flagpd1("mrelax"),3567flagpd1("mrelax"),
4804flagpd1("mrelax-all"),3568flagpd1("mrelax-all"),
4805flagpd1("mrelax-pic-calls"),3569flagpd1("mrelax-pic-calls"),
...@@ -4825,11 +3589,8 @@ flagpd1("msgx"),...@@ -4825,11 +3589,8 @@ flagpd1("msgx"),
4825flagpd1("msha"),3589flagpd1("msha"),
4826flagpd1("mshstk"),3590flagpd1("mshstk"),
4827flagpd1("msign-ext"),3591flagpd1("msign-ext"),
4828joinpd1("msign-return-address="),
4829joinpd1("msign-return-address-key="),
4830flagpd1("msimd128"),3592flagpd1("msimd128"),
4831flagpd1("msingle-float"),3593flagpd1("msingle-float"),
4832joinpd1("msmall-data-threshold="),
4833flagpd1("msoft-float"),3594flagpd1("msoft-float"),
4834flagpd1("mspe"),3595flagpd1("mspe"),
4835flagpd1("mspeculative-load-hardening"),3596flagpd1("mspeculative-load-hardening"),
...@@ -4842,31 +3603,22 @@ flagpd1("msse4.1"),...@@ -4842,31 +3603,22 @@ flagpd1("msse4.1"),
4842flagpd1("msse4.2"),3603flagpd1("msse4.2"),
4843flagpd1("msse4a"),3604flagpd1("msse4a"),
4844flagpd1("mssse3"),3605flagpd1("mssse3"),
4845joinpd1("mstack-alignment="),
4846flagpd1("mstack-arg-probe"),3606flagpd1("mstack-arg-probe"),
4847joinpd1("mstack-probe-size="),
4848flagpd1("mstackrealign"),3607flagpd1("mstackrealign"),
4849flagpd1("mstrict-align"),3608flagpd1("mstrict-align"),
4850sepd1("mt-migrate-directory"),3609sepd1("mt-migrate-directory"),
4851flagpd1("mtail-call"),3610flagpd1("mtail-call"),
4852flagpd1("mtbm"),3611flagpd1("mtbm"),
4853sepd1("mthread-model"),3612sepd1("mthread-model"),
4854joinpd1("mthreads"),
4855flagpd1("mthumb"),3613flagpd1("mthumb"),
4856flagpd1("mtls-direct-seg-refs"),3614flagpd1("mtls-direct-seg-refs"),
4857joinpd1("mtls-size="),
4858sepd1("mtp"),3615sepd1("mtp"),
4859joinpd1("mtp="),
4860joinpd1("mtune="),
4861flagpd1("mtune=?"),3616flagpd1("mtune=?"),
4862joinpd1("mtvos-simulator-version-min="),
4863joinpd1("mtvos-version-min="),
4864flagpd1("muclibc"),3617flagpd1("muclibc"),
4865flagpd1("multi_module"),3618flagpd1("multi_module"),
4866sepd1("multiply_defined"),3619sepd1("multiply_defined"),
4867sepd1("multiply_defined_unused"),3620sepd1("multiply_defined_unused"),
4868flagpd1("munaligned-access"),3621flagpd1("munaligned-access"),
4869joinpd1("municode"),
4870flagpd1("munimplemented-simd128"),3622flagpd1("munimplemented-simd128"),
4871flagpd1("munwind-tables"),3623flagpd1("munwind-tables"),
4872flagpd1("mv5"),3624flagpd1("mv5"),
...@@ -4883,12 +3635,8 @@ flagpd1("mvx"),...@@ -4883,12 +3635,8 @@ flagpd1("mvx"),
4883flagpd1("mvzeroupper"),3635flagpd1("mvzeroupper"),
4884flagpd1("mwaitpkg"),3636flagpd1("mwaitpkg"),
4885flagpd1("mwarn-nonportable-cfstrings"),3637flagpd1("mwarn-nonportable-cfstrings"),
4886joinpd1("mwatchos-simulator-version-min="),
4887joinpd1("mwatchos-version-min="),
4888joinpd1("mwatchsimulator-version-min="),
4889flagpd1("mwavefrontsize64"),3638flagpd1("mwavefrontsize64"),
4890flagpd1("mwbnoinvd"),3639flagpd1("mwbnoinvd"),
4891joinpd1("mwindows"),
4892flagpd1("mx32"),3640flagpd1("mx32"),
4893flagpd1("mx87"),3641flagpd1("mx87"),
4894flagpd1("mxgot"),3642flagpd1("mxgot"),
...@@ -4906,22 +3654,6 @@ flagpd1("no-canonical-prefixes"),...@@ -4906,22 +3654,6 @@ flagpd1("no-canonical-prefixes"),
4906flagpd1("no-code-completion-globals"),3654flagpd1("no-code-completion-globals"),
4907flagpd1("no-code-completion-ns-level-decls"),3655flagpd1("no-code-completion-ns-level-decls"),
4908flagpd1("no-cpp-precomp"),3656flagpd1("no-cpp-precomp"),
4909.{
4910 .name = "no-cuda-gpu-arch=",
4911 .syntax = .joined,
4912 .zig_equivalent = .other,
4913 .pd1 = false,
4914 .pd2 = true,
4915 .psl = false,
4916},
4917.{
4918 .name = "no-cuda-include-ptx=",
4919 .syntax = .joined,
4920 .zig_equivalent = .other,
4921 .pd1 = false,
4922 .pd2 = true,
4923 .psl = false,
4924},
4925.{3657.{
4926 .name = "no-cuda-noopt-device-debug",3658 .name = "no-cuda-noopt-device-debug",
4927 .syntax = .flag,3659 .syntax = .flag,
...@@ -4959,14 +3691,6 @@ flagpd1("no-implicit-float"),...@@ -4959,14 +3691,6 @@ flagpd1("no-implicit-float"),
4959flagpd1("no-pie"),3691flagpd1("no-pie"),
4960flagpd1("no-pthread"),3692flagpd1("no-pthread"),
4961flagpd1("no-struct-path-tbaa"),3693flagpd1("no-struct-path-tbaa"),
4962.{
4963 .name = "no-system-header-prefix=",
4964 .syntax = .joined,
4965 .zig_equivalent = .other,
4966 .pd1 = false,
4967 .pd2 = true,
4968 .psl = false,
4969},
4970flagpd1("nobuiltininc"),3694flagpd1("nobuiltininc"),
4971flagpd1("nocpp"),3695flagpd1("nocpp"),
4972flagpd1("nocudainc"),3696flagpd1("nocudainc"),
...@@ -4984,19 +3708,17 @@ flagpd1("noseglinkedit"),...@@ -4984,19 +3708,17 @@ flagpd1("noseglinkedit"),
4984flagpd1("nostartfiles"),3708flagpd1("nostartfiles"),
4985flagpd1("nostdinc"),3709flagpd1("nostdinc"),
4986flagpd1("nostdinc++"),3710flagpd1("nostdinc++"),
4987flagpd1("nostdlib"),
4988flagpd1("nostdlibinc"),
4989flagpd1("nostdlib++"),
4990flagpd1("nostdsysteminc"),
4991.{3711.{
4992 .name = "o",3712 .name = "nostdlib",
4993 .syntax = .joined_or_separate,3713 .syntax = .flag,
4994 .zig_equivalent = .o,3714 .zig_equivalent = .nostdlib,
4995 .pd1 = true,3715 .pd1 = true,
4996 .pd2 = false,3716 .pd2 = false,
4997 .psl = false,3717 .psl = false,
4998},3718},
4999jspd1("objc-isystem"),3719flagpd1("nostdlibinc"),
3720flagpd1("nostdlib++"),
3721flagpd1("nostdsysteminc"),
5000flagpd1("objcmt-atomic-property"),3722flagpd1("objcmt-atomic-property"),
5001flagpd1("objcmt-migrate-all"),3723flagpd1("objcmt-migrate-all"),
5002flagpd1("objcmt-migrate-annotation"),3724flagpd1("objcmt-migrate-annotation"),
...@@ -5012,8 +3734,6 @@ flagpd1("objcmt-migrate-readwrite-property"),...@@ -5012,8 +3734,6 @@ flagpd1("objcmt-migrate-readwrite-property"),
5012flagpd1("objcmt-migrate-subscripting"),3734flagpd1("objcmt-migrate-subscripting"),
5013flagpd1("objcmt-ns-nonatomic-iosonly"),3735flagpd1("objcmt-ns-nonatomic-iosonly"),
5014flagpd1("objcmt-returns-innerpointer-property"),3736flagpd1("objcmt-returns-innerpointer-property"),
5015joinpd1("objcmt-whitelist-dir-path="),
5016jspd1("objcxx-isystem"),
5017flagpd1("object"),3737flagpd1("object"),
5018sepd1("opt-record-file"),3738sepd1("opt-record-file"),
5019sepd1("opt-record-format"),3739sepd1("opt-record-format"),
...@@ -5022,7 +3742,6 @@ sepd1("output-asm-variant"),...@@ -5022,7 +3742,6 @@ sepd1("output-asm-variant"),
5022flagpd1("p"),3742flagpd1("p"),
5023flagpd1("fpack-derived"),3743flagpd1("fpack-derived"),
5024flagpd1("fno-pack-derived"),3744flagpd1("fno-pack-derived"),
5025jspd1("pagezero_size"),
5026.{3745.{
5027 .name = "pass-exit-codes",3746 .name = "pass-exit-codes",
5028 .syntax = .flag,3747 .syntax = .flag,
...@@ -5033,7 +3752,6 @@ jspd1("pagezero_size"),...@@ -5033,7 +3752,6 @@ jspd1("pagezero_size"),
5033},3752},
5034flagpd1("pch-through-hdrstop-create"),3753flagpd1("pch-through-hdrstop-create"),
5035flagpd1("pch-through-hdrstop-use"),3754flagpd1("pch-through-hdrstop-use"),
5036joinpd1("pch-through-header="),
5037.{3755.{
5038 .name = "pedantic",3756 .name = "pedantic",
5039 .syntax = .flag,3757 .syntax = .flag,
...@@ -5061,21 +3779,12 @@ flagpd1("pie"),...@@ -5061,21 +3779,12 @@ flagpd1("pie"),
5061.{3779.{
5062 .name = "pipe",3780 .name = "pipe",
5063 .syntax = .flag,3781 .syntax = .flag,
5064 .zig_equivalent = .other,3782 .zig_equivalent = .ignore,
5065 .pd1 = true,3783 .pd1 = true,
5066 .pd2 = true,3784 .pd2 = true,
5067 .psl = false,3785 .psl = false,
5068},3786},
5069sepd1("plugin"),3787sepd1("plugin"),
5070.{
5071 .name = "plugin-arg-",
5072 .syntax = .joined_and_separate,
5073 .zig_equivalent = .other,
5074 .pd1 = true,
5075 .pd2 = false,
5076 .psl = false,
5077},
5078joinpd1("preamble-bytes="),
5079flagpd1("prebind"),3788flagpd1("prebind"),
5080flagpd1("prebind_all_twolevel_modules"),3789flagpd1("prebind_all_twolevel_modules"),
5081flagpd1("fprefetch-loop-arrays"),3790flagpd1("fprefetch-loop-arrays"),
...@@ -5090,14 +3799,6 @@ flagpd1("print-dependency-directives-minimized-source"),...@@ -5090,14 +3799,6 @@ flagpd1("print-dependency-directives-minimized-source"),
5090 .pd2 = true,3799 .pd2 = true,
5091 .psl = false,3800 .psl = false,
5092},3801},
5093.{
5094 .name = "print-file-name=",
5095 .syntax = .joined,
5096 .zig_equivalent = .other,
5097 .pd1 = true,
5098 .pd2 = true,
5099 .psl = false,
5100},
5101flagpd1("print-ivar-layout"),3802flagpd1("print-ivar-layout"),
5102.{3803.{
5103 .name = "print-libgcc-file-name",3804 .name = "print-libgcc-file-name",
...@@ -5132,14 +3833,6 @@ flagpd1("print-ivar-layout"),...@@ -5132,14 +3833,6 @@ flagpd1("print-ivar-layout"),
5132 .psl = false,3833 .psl = false,
5133},3834},
5134flagpd1("print-preamble"),3835flagpd1("print-preamble"),
5135.{
5136 .name = "print-prog-name=",
5137 .syntax = .joined,
5138 .zig_equivalent = .other,
5139 .pd1 = true,
5140 .pd2 = true,
5141 .psl = false,
5142},
5143.{3836.{
5144 .name = "print-resource-dir",3837 .name = "print-resource-dir",
5145 .syntax = .flag,3838 .syntax = .flag,
...@@ -5190,18 +3883,17 @@ flagpd1("fprotect-parens"),...@@ -5190,18 +3883,17 @@ flagpd1("fprotect-parens"),
5190flagpd1("fno-protect-parens"),3883flagpd1("fno-protect-parens"),
5191flagpd1("pthread"),3884flagpd1("pthread"),
5192flagpd1("pthreads"),3885flagpd1("pthreads"),
5193.{
5194 .name = "ptxas-path=",
5195 .syntax = .joined,
5196 .zig_equivalent = .other,
5197 .pd1 = false,
5198 .pd2 = true,
5199 .psl = false,
5200},
5201flagpd1("r"),3886flagpd1("r"),
5202flagpd1("frange-check"),3887flagpd1("frange-check"),
5203flagpd1("fno-range-check"),3888flagpd1("fno-range-check"),
5204flagpd1("rdynamic"),3889.{
3890 .name = "rdynamic",
3891 .syntax = .flag,
3892 .zig_equivalent = .rdynamic,
3893 .pd1 = true,
3894 .pd2 = false,
3895 .psl = false,
3896},
5205sepd1("read_only_relocs"),3897sepd1("read_only_relocs"),
5206flagpd1("freal-4-real-10"),3898flagpd1("freal-4-real-10"),
5207flagpd1("fno-real-4-real-10"),3899flagpd1("fno-real-4-real-10"),
...@@ -5240,7 +3932,6 @@ flagpd1("fno-reorder-blocks"),...@@ -5240,7 +3932,6 @@ flagpd1("fno-reorder-blocks"),
5240flagpd1("frepack-arrays"),3932flagpd1("frepack-arrays"),
5241flagpd1("fno-repack-arrays"),3933flagpd1("fno-repack-arrays"),
5242sepd1("resource-dir"),3934sepd1("resource-dir"),
5243joinpd1("resource-dir="),
5244flagpd1("rewrite-legacy-objc"),3935flagpd1("rewrite-legacy-objc"),
5245flagpd1("rewrite-macros"),3936flagpd1("rewrite-macros"),
5246flagpd1("rewrite-objc"),3937flagpd1("rewrite-objc"),
...@@ -5248,22 +3939,6 @@ flagpd1("rewrite-test"),...@@ -5248,22 +3939,6 @@ flagpd1("rewrite-test"),
5248flagpd1("fripa"),3939flagpd1("fripa"),
5249flagpd1("fno-ripa"),3940flagpd1("fno-ripa"),
5250sepd1("rpath"),3941sepd1("rpath"),
5251.{
5252 .name = "rsp-quoting=",
5253 .syntax = .joined,
5254 .zig_equivalent = .other,
5255 .pd1 = false,
5256 .pd2 = true,
5257 .psl = false,
5258},
5259.{
5260 .name = "rtlib=",
5261 .syntax = .joined,
5262 .zig_equivalent = .other,
5263 .pd1 = true,
5264 .pd2 = true,
5265 .psl = false,
5266},
5267flagpd1("s"),3942flagpd1("s"),
5268.{3943.{
5269 .name = "save-stats",3944 .name = "save-stats",
...@@ -5273,14 +3948,6 @@ flagpd1("s"),...@@ -5273,14 +3948,6 @@ flagpd1("s"),
5273 .pd2 = true,3948 .pd2 = true,
5274 .psl = false,3949 .psl = false,
5275},3950},
5276.{
5277 .name = "save-stats=",
5278 .syntax = .joined,
5279 .zig_equivalent = .other,
5280 .pd1 = true,
5281 .pd2 = true,
5282 .psl = false,
5283},
5284.{3951.{
5285 .name = "save-temps",3952 .name = "save-temps",
5286 .syntax = .flag,3953 .syntax = .flag,
...@@ -5289,14 +3956,6 @@ flagpd1("s"),...@@ -5289,14 +3956,6 @@ flagpd1("s"),
5289 .pd2 = true,3956 .pd2 = true,
5290 .psl = false,3957 .psl = false,
5291},3958},
5292.{
5293 .name = "save-temps=",
5294 .syntax = .joined,
5295 .zig_equivalent = .other,
5296 .pd1 = true,
5297 .pd2 = true,
5298 .psl = false,
5299},
5300flagpd1("fschedule-insns2"),3959flagpd1("fschedule-insns2"),
5301flagpd1("fno-schedule-insns2"),3960flagpd1("fno-schedule-insns2"),
5302flagpd1("fschedule-insns"),3961flagpd1("fschedule-insns"),
...@@ -5305,7 +3964,7 @@ flagpd1("fsecond-underscore"),...@@ -5305,7 +3964,7 @@ flagpd1("fsecond-underscore"),
5305flagpd1("fno-second-underscore"),3964flagpd1("fno-second-underscore"),
5306.{3965.{
5307 .name = "sectalign",3966 .name = "sectalign",
5308 .syntax = .{ .multi_arg = 3 },3967 .syntax = .{.multi_arg=3},
5309 .zig_equivalent = .other,3968 .zig_equivalent = .other,
5310 .pd1 = true,3969 .pd1 = true,
5311 .pd2 = false,3970 .pd2 = false,
...@@ -5313,7 +3972,7 @@ flagpd1("fno-second-underscore"),...@@ -5313,7 +3972,7 @@ flagpd1("fno-second-underscore"),
5313},3972},
5314.{3973.{
5315 .name = "sectcreate",3974 .name = "sectcreate",
5316 .syntax = .{ .multi_arg = 3 },3975 .syntax = .{.multi_arg=3},
5317 .zig_equivalent = .other,3976 .zig_equivalent = .other,
5318 .pd1 = true,3977 .pd1 = true,
5319 .pd2 = false,3978 .pd2 = false,
...@@ -5321,7 +3980,7 @@ flagpd1("fno-second-underscore"),...@@ -5321,7 +3980,7 @@ flagpd1("fno-second-underscore"),
5321},3980},
5322.{3981.{
5323 .name = "sectobjectsymbols",3982 .name = "sectobjectsymbols",
5324 .syntax = .{ .multi_arg = 2 },3983 .syntax = .{.multi_arg=2},
5325 .zig_equivalent = .other,3984 .zig_equivalent = .other,
5326 .pd1 = true,3985 .pd1 = true,
5327 .pd2 = false,3986 .pd2 = false,
...@@ -5329,7 +3988,7 @@ flagpd1("fno-second-underscore"),...@@ -5329,7 +3988,7 @@ flagpd1("fno-second-underscore"),
5329},3988},
5330.{3989.{
5331 .name = "sectorder",3990 .name = "sectorder",
5332 .syntax = .{ .multi_arg = 3 },3991 .syntax = .{.multi_arg=3},
5333 .zig_equivalent = .other,3992 .zig_equivalent = .other,
5334 .pd1 = true,3993 .pd1 = true,
5335 .pd2 = false,3994 .pd2 = false,
...@@ -5337,12 +3996,11 @@ flagpd1("fno-second-underscore"),...@@ -5337,12 +3996,11 @@ flagpd1("fno-second-underscore"),
5337},3996},
5338flagpd1("fsee"),3997flagpd1("fsee"),
5339flagpd1("fno-see"),3998flagpd1("fno-see"),
5340jspd1("seg1addr"),
5341sepd1("seg_addr_table"),3999sepd1("seg_addr_table"),
5342sepd1("seg_addr_table_filename"),4000sepd1("seg_addr_table_filename"),
5343.{4001.{
5344 .name = "segaddr",4002 .name = "segaddr",
5345 .syntax = .{ .multi_arg = 2 },4003 .syntax = .{.multi_arg=2},
5346 .zig_equivalent = .other,4004 .zig_equivalent = .other,
5347 .pd1 = true,4005 .pd1 = true,
5348 .pd2 = false,4006 .pd2 = false,
...@@ -5350,7 +4008,7 @@ sepd1("seg_addr_table_filename"),...@@ -5350,7 +4008,7 @@ sepd1("seg_addr_table_filename"),
5350},4008},
5351.{4009.{
5352 .name = "segcreate",4010 .name = "segcreate",
5353 .syntax = .{ .multi_arg = 3 },4011 .syntax = .{.multi_arg=3},
5354 .zig_equivalent = .other,4012 .zig_equivalent = .other,
5355 .pd1 = true,4013 .pd1 = true,
5356 .pd2 = false,4014 .pd2 = false,
...@@ -5359,20 +4017,19 @@ sepd1("seg_addr_table_filename"),...@@ -5359,20 +4017,19 @@ sepd1("seg_addr_table_filename"),
5359flagpd1("seglinkedit"),4017flagpd1("seglinkedit"),
5360.{4018.{
5361 .name = "segprot",4019 .name = "segprot",
5362 .syntax = .{ .multi_arg = 3 },4020 .syntax = .{.multi_arg=3},
5363 .zig_equivalent = .other,4021 .zig_equivalent = .other,
5364 .pd1 = true,4022 .pd1 = true,
5365 .pd2 = false,4023 .pd2 = false,
5366 .psl = false,4024 .psl = false,
5367},4025},
5368joinpd1("segs_read_"),
5369sepd1("segs_read_only_addr"),4026sepd1("segs_read_only_addr"),
5370sepd1("segs_read_write_addr"),4027sepd1("segs_read_write_addr"),
5371flagpd1("setup-static-analyzer"),4028flagpd1("setup-static-analyzer"),
5372.{4029.{
5373 .name = "shared",4030 .name = "shared",
5374 .syntax = .flag,4031 .syntax = .flag,
5375 .zig_equivalent = .other,4032 .zig_equivalent = .shared,
5376 .pd1 = true,4033 .pd1 = true,
5377 .pd2 = true,4034 .pd2 = true,
5378 .psl = false,4035 .psl = false,
...@@ -5406,14 +4063,6 @@ flagpd1("fno-spec-constr-count"),...@@ -5406,14 +4063,6 @@ flagpd1("fno-spec-constr-count"),
5406 .pd2 = true,4063 .pd2 = true,
5407 .psl = false,4064 .psl = false,
5408},4065},
5409.{
5410 .name = "specs=",
5411 .syntax = .joined,
5412 .zig_equivalent = .other,
5413 .pd1 = true,
5414 .pd2 = true,
5415 .psl = false,
5416},
5417sepd1("split-dwarf-file"),4066sepd1("split-dwarf-file"),
5418sepd1("split-dwarf-output"),4067sepd1("split-dwarf-output"),
5419flagpd1("split-stacks"),4068flagpd1("split-stacks"),
...@@ -5438,47 +4087,10 @@ flagpd1("static-libsan"),...@@ -5438,47 +4087,10 @@ flagpd1("static-libsan"),
5438flagpd1("static-libstdc++"),4087flagpd1("static-libstdc++"),
5439flagpd1("static-openmp"),4088flagpd1("static-openmp"),
5440flagpd1("static-pie"),4089flagpd1("static-pie"),
5441joinpd1("stats-file="),
5442.{
5443 .name = "std=",
5444 .syntax = .joined,
5445 .zig_equivalent = .other,
5446 .pd1 = true,
5447 .pd2 = true,
5448 .psl = false,
5449},
5450joinpd1("std-default="),
5451.{
5452 .name = "stdlib=",
5453 .syntax = .joined,
5454 .zig_equivalent = .other,
5455 .pd1 = true,
5456 .pd2 = true,
5457 .psl = false,
5458},
5459jspd1("stdlib++-isystem"),
5460flagpd1("fstrength-reduce"),4090flagpd1("fstrength-reduce"),
5461flagpd1("fno-strength-reduce"),4091flagpd1("fno-strength-reduce"),
5462jspd1("sub_library"),
5463jspd1("sub_umbrella"),
5464flagpd1("sys-header-deps"),4092flagpd1("sys-header-deps"),
5465.{
5466 .name = "system-header-prefix=",
5467 .syntax = .joined,
5468 .zig_equivalent = .other,
5469 .pd1 = false,
5470 .pd2 = true,
5471 .psl = false,
5472},
5473flagpd1("t"),4093flagpd1("t"),
5474.{
5475 .name = "target=",
5476 .syntax = .joined,
5477 .zig_equivalent = .target,
5478 .pd1 = false,
5479 .pd2 = true,
5480 .psl = false,
5481},
5482sepd1("target-abi"),4094sepd1("target-abi"),
5483sepd1("target-cpu"),4095sepd1("target-cpu"),
5484sepd1("target-feature"),4096sepd1("target-feature"),
...@@ -5491,7 +4103,6 @@ sepd1("target-feature"),...@@ -5491,7 +4103,6 @@ sepd1("target-feature"),
5491 .psl = false,4103 .psl = false,
5492},4104},
5493sepd1("target-linker-version"),4105sepd1("target-linker-version"),
5494joinpd1("target-sdk-version="),
5495flagpd1("templight-dump"),4106flagpd1("templight-dump"),
5496flagpd1("test-coverage"),4107flagpd1("test-coverage"),
5497flagpd1("time"),4108flagpd1("time"),
...@@ -5541,13 +4152,10 @@ flagpd1("fno-tree-vrp"),...@@ -5541,13 +4152,10 @@ flagpd1("fno-tree-vrp"),
5541},4152},
5542flagpd1("trim-egraph"),4153flagpd1("trim-egraph"),
5543sepd1("triple"),4154sepd1("triple"),
5544joinpd1("triple="),
5545flagpd1("twolevel_namespace"),4155flagpd1("twolevel_namespace"),
5546flagpd1("twolevel_namespace_hints"),4156flagpd1("twolevel_namespace_hints"),
5547jspd1("u"),
5548sepd1("umbrella"),4157sepd1("umbrella"),
5549flagpd1("undef"),4158flagpd1("undef"),
5550jspd1("undefined"),
5551flagpd1("funderscoring"),4159flagpd1("funderscoring"),
5552flagpd1("fno-underscoring"),4160flagpd1("fno-underscoring"),
5553sepd1("unexported_symbols_list"),4161sepd1("unexported_symbols_list"),
...@@ -5557,14 +4165,6 @@ flagpd1("funsafe-loop-optimizations"),...@@ -5557,14 +4165,6 @@ flagpd1("funsafe-loop-optimizations"),
5557flagpd1("fno-unsafe-loop-optimizations"),4165flagpd1("fno-unsafe-loop-optimizations"),
5558flagpd1("funswitch-loops"),4166flagpd1("funswitch-loops"),
5559flagpd1("fno-unswitch-loops"),4167flagpd1("fno-unswitch-loops"),
5560.{
5561 .name = "unwindlib=",
5562 .syntax = .joined,
5563 .zig_equivalent = .other,
5564 .pd1 = true,
5565 .pd2 = true,
5566 .psl = false,
5567},
5568flagpd1("fuse-linker-plugin"),4168flagpd1("fuse-linker-plugin"),
5569flagpd1("fno-use-linker-plugin"),4169flagpd1("fno-use-linker-plugin"),
5570flagpd1("v"),4170flagpd1("v"),
...@@ -5575,14 +4175,6 @@ flagpd1("fno-vect-cost-model"),...@@ -5575,14 +4175,6 @@ flagpd1("fno-vect-cost-model"),
5575flagpd1("vectorize-loops"),4175flagpd1("vectorize-loops"),
5576flagpd1("vectorize-slp"),4176flagpd1("vectorize-slp"),
5577flagpd1("verify"),4177flagpd1("verify"),
5578.{
5579 .name = "verify=",
5580 .syntax = .comma_joined,
5581 .zig_equivalent = .other,
5582 .pd1 = true,
5583 .pd2 = false,
5584 .psl = false,
5585},
5586.{4178.{
5587 .name = "verify-debug-info",4179 .name = "verify-debug-info",
5588 .syntax = .flag,4180 .syntax = .flag,
...@@ -5592,14 +4184,6 @@ flagpd1("verify"),...@@ -5592,14 +4184,6 @@ flagpd1("verify"),
5592 .psl = false,4184 .psl = false,
5593},4185},
5594flagpd1("verify-ignore-unexpected"),4186flagpd1("verify-ignore-unexpected"),
5595.{
5596 .name = "verify-ignore-unexpected=",
5597 .syntax = .comma_joined,
5598 .zig_equivalent = .other,
5599 .pd1 = true,
5600 .pd2 = false,
5601 .psl = false,
5602},
5603flagpd1("verify-pch"),4187flagpd1("verify-pch"),
5604flagpd1("version"),4188flagpd1("version"),
5605.{4189.{
...@@ -5610,12 +4194,10 @@ flagpd1("version"),...@@ -5610,12 +4194,10 @@ flagpd1("version"),
5610 .pd2 = true,4194 .pd2 = true,
5611 .psl = false,4195 .psl = false,
5612},4196},
5613joinpd1("vtordisp-mode="),
5614flagpd1("w"),4197flagpd1("w"),
5615sepd1("weak_framework"),4198sepd1("weak_framework"),
5616sepd1("weak_library"),4199sepd1("weak_library"),
5617sepd1("weak_reference_mismatches"),4200sepd1("weak_reference_mismatches"),
5618joinpd1("weak-l"),
5619flagpd1("fweb"),4201flagpd1("fweb"),
5620flagpd1("fno-web"),4202flagpd1("fno-web"),
5621flagpd1("whatsloaded"),4203flagpd1("whatsloaded"),
...@@ -5624,9 +4206,1455 @@ flagpd1("fno-whole-file"),...@@ -5624,9 +4206,1455 @@ flagpd1("fno-whole-file"),
5624flagpd1("fwhole-program"),4206flagpd1("fwhole-program"),
5625flagpd1("fno-whole-program"),4207flagpd1("fno-whole-program"),
5626flagpd1("whyload"),4208flagpd1("whyload"),
5627jspd1("working-directory"),
5628joinpd1("working-directory="),
5629jspd1("x"),
5630joinpd1("y"),
5631sepd1("z"),4209sepd1("z"),
4210joinpd1("fsanitize-undefined-strip-path-components="),
4211joinpd1("fopenmp-cuda-teams-reduction-recs-num="),
4212joinpd1("analyzer-config-compatibility-mode="),
4213joinpd1("fpatchable-function-entry-offset="),
4214joinpd1("analyzer-inline-max-stack-depth="),
4215joinpd1("fsanitize-address-field-padding="),
4216joinpd1("fdiagnostics-hotness-threshold="),
4217joinpd1("fsanitize-memory-track-origins="),
4218joinpd1("mwatchos-simulator-version-min="),
4219joinpd1("mappletvsimulator-version-min="),
4220joinpd1("fobjc-nonfragile-abi-version="),
4221joinpd1("fprofile-instrument-use-path="),
4222jspd1("fxray-instrumentation-bundle="),
4223joinpd1("miphonesimulator-version-min="),
4224joinpd1("faddress-space-map-mangling="),
4225joinpd1("foptimization-record-passes="),
4226joinpd1("ftest-module-file-extension="),
4227jspd1("fxray-instruction-threshold="),
4228joinpd1("mno-default-build-attributes"),
4229joinpd1("mtvos-simulator-version-min="),
4230joinpd1("mwatchsimulator-version-min="),
4231.{
4232 .name = "include-with-prefix-before=",
4233 .syntax = .joined,
4234 .zig_equivalent = .other,
4235 .pd1 = false,
4236 .pd2 = true,
4237 .psl = false,
4238},
4239joinpd1("objcmt-white-list-dir-path="),
4240joinpd1("error-on-deserialized-decl="),
4241joinpd1("fconstexpr-backtrace-limit="),
4242joinpd1("fdiagnostics-show-category="),
4243joinpd1("fdiagnostics-show-location="),
4244joinpd1("fopenmp-cuda-blocks-per-sm="),
4245joinpd1("fsanitize-system-blacklist="),
4246jspd1("fxray-instruction-threshold"),
4247joinpd1("headerpad_max_install_names"),
4248joinpd1("mios-simulator-version-min="),
4249.{
4250 .name = "include-with-prefix-after=",
4251 .syntax = .joined,
4252 .zig_equivalent = .other,
4253 .pd1 = false,
4254 .pd2 = true,
4255 .psl = false,
4256},
4257joinpd1("fms-compatibility-version="),
4258joinpd1("fopenmp-cuda-number-of-sm="),
4259joinpd1("foptimization-record-file="),
4260joinpd1("fpatchable-function-entry="),
4261joinpd1("fsave-optimization-record="),
4262joinpd1("ftemplate-backtrace-limit="),
4263.{
4264 .name = "gpu-max-threads-per-block=",
4265 .syntax = .joined,
4266 .zig_equivalent = .other,
4267 .pd1 = false,
4268 .pd2 = true,
4269 .psl = false,
4270},
4271joinpd1("malign-branch-prefix-size="),
4272joinpd1("objcmt-whitelist-dir-path="),
4273joinpd1("Wno-nonportable-cfstrings"),
4274joinpd1("analyzer-disable-checker="),
4275joinpd1("fbuild-session-timestamp="),
4276joinpd1("fprofile-instrument-path="),
4277joinpd1("mdefault-build-attributes"),
4278joinpd1("msign-return-address-key="),
4279.{
4280 .name = "verify-ignore-unexpected=",
4281 .syntax = .comma_joined,
4282 .zig_equivalent = .other,
4283 .pd1 = true,
4284 .pd2 = false,
4285 .psl = false,
4286},
4287.{
4288 .name = "include-directory-after=",
4289 .syntax = .joined,
4290 .zig_equivalent = .other,
4291 .pd1 = false,
4292 .pd2 = true,
4293 .psl = false,
4294},
4295.{
4296 .name = "compress-debug-sections=",
4297 .syntax = .joined,
4298 .zig_equivalent = .other,
4299 .pd1 = true,
4300 .pd2 = true,
4301 .psl = false,
4302},
4303.{
4304 .name = "fcomment-block-commands=",
4305 .syntax = .comma_joined,
4306 .zig_equivalent = .other,
4307 .pd1 = true,
4308 .pd2 = false,
4309 .psl = false,
4310},
4311joinpd1("flax-vector-conversions="),
4312joinpd1("fmodules-embed-all-files"),
4313joinpd1("fmodules-prune-interval="),
4314joinpd1("foverride-record-layout="),
4315joinpd1("fprofile-instr-generate="),
4316joinpd1("fprofile-remapping-file="),
4317joinpd1("fsanitize-coverage-type="),
4318joinpd1("fsanitize-hwaddress-abi="),
4319joinpd1("ftime-trace-granularity="),
4320jspd1("fxray-always-instrument="),
4321jspd1("internal-externc-isystem"),
4322.{
4323 .name = "libomptarget-nvptx-path=",
4324 .syntax = .joined,
4325 .zig_equivalent = .other,
4326 .pd1 = false,
4327 .pd2 = true,
4328 .psl = false,
4329},
4330.{
4331 .name = "no-system-header-prefix=",
4332 .syntax = .joined,
4333 .zig_equivalent = .other,
4334 .pd1 = false,
4335 .pd2 = true,
4336 .psl = false,
4337},
4338.{
4339 .name = "output-class-directory=",
4340 .syntax = .joined,
4341 .zig_equivalent = .other,
4342 .pd1 = false,
4343 .pd2 = true,
4344 .psl = false,
4345},
4346joinpd1("analyzer-inlining-mode="),
4347joinpd1("fconstant-string-class="),
4348joinpd1("fcrash-diagnostics-dir="),
4349joinpd1("fdebug-compilation-dir="),
4350joinpd1("fdebug-default-version="),
4351joinpd1("ffp-exception-behavior="),
4352joinpd1("fmacro-backtrace-limit="),
4353joinpd1("fmax-array-constructor="),
4354joinpd1("fprofile-exclude-files="),
4355joinpd1("ftrivial-auto-var-init="),
4356jspd1("fxray-never-instrument="),
4357jspd1("interface-stub-version="),
4358joinpd1("malign-branch-boundary="),
4359joinpd1("mappletvos-version-min="),
4360joinpd1("Wnonportable-cfstrings"),
4361joinpd1("fdefault-calling-conv="),
4362joinpd1("fmax-subrecord-length="),
4363joinpd1("fmodules-ignore-macro="),
4364.{
4365 .name = "fno-sanitize-coverage=",
4366 .syntax = .comma_joined,
4367 .zig_equivalent = .other,
4368 .pd1 = true,
4369 .pd2 = false,
4370 .psl = false,
4371},
4372joinpd1("fobjc-dispatch-method="),
4373joinpd1("foperator-arrow-depth="),
4374joinpd1("fprebuilt-module-path="),
4375joinpd1("fprofile-filter-files="),
4376joinpd1("fspell-checking-limit="),
4377joinpd1("miphoneos-version-min="),
4378joinpd1("msmall-data-threshold="),
4379joinpd1("Wlarge-by-value-copy="),
4380joinpd1("analyzer-constraints="),
4381joinpd1("analyzer-dump-egraph="),
4382jspd1("compatibility_version"),
4383jspd1("dylinker_install_name"),
4384joinpd1("fcs-profile-generate="),
4385joinpd1("fmodules-prune-after="),
4386.{
4387 .name = "fno-sanitize-recover=",
4388 .syntax = .comma_joined,
4389 .zig_equivalent = .other,
4390 .pd1 = true,
4391 .pd2 = false,
4392 .psl = false,
4393},
4394jspd1("iframeworkwithsysroot"),
4395joinpd1("mamdgpu-debugger-abi="),
4396joinpd1("mprefer-vector-width="),
4397joinpd1("msign-return-address="),
4398joinpd1("mwatchos-version-min="),
4399.{
4400 .name = "system-header-prefix=",
4401 .syntax = .joined,
4402 .zig_equivalent = .other,
4403 .pd1 = false,
4404 .pd2 = true,
4405 .psl = false,
4406},
4407.{
4408 .name = "include-with-prefix=",
4409 .syntax = .joined,
4410 .zig_equivalent = .other,
4411 .pd1 = false,
4412 .pd2 = true,
4413 .psl = false,
4414},
4415joinpd1("coverage-notes-file="),
4416joinpd1("fbuild-session-file="),
4417joinpd1("fdiagnostics-format="),
4418joinpd1("fmax-stack-var-size="),
4419joinpd1("fmodules-cache-path="),
4420joinpd1("fmodules-embed-file="),
4421joinpd1("fprofile-instrument="),
4422joinpd1("fprofile-sample-use="),
4423joinpd1("fsanitize-blacklist="),
4424.{
4425 .name = "hip-device-lib-path=",
4426 .syntax = .joined,
4427 .zig_equivalent = .other,
4428 .pd1 = false,
4429 .pd2 = true,
4430 .psl = false,
4431},
4432joinpd1("mmacosx-version-min="),
4433.{
4434 .name = "no-cuda-include-ptx=",
4435 .syntax = .joined,
4436 .zig_equivalent = .other,
4437 .pd1 = false,
4438 .pd2 = true,
4439 .psl = false,
4440},
4441joinpd1("Wframe-larger-than="),
4442joinpd1("code-completion-at="),
4443joinpd1("coverage-data-file="),
4444joinpd1("fblas-matmul-limit="),
4445joinpd1("fdiagnostics-color="),
4446joinpd1("ffixed-line-length-"),
4447joinpd1("flimited-precision="),
4448joinpd1("fprofile-instr-use="),
4449.{
4450 .name = "fsanitize-coverage=",
4451 .syntax = .comma_joined,
4452 .zig_equivalent = .other,
4453 .pd1 = true,
4454 .pd2 = false,
4455 .psl = false,
4456},
4457joinpd1("fthin-link-bitcode="),
4458joinpd1("mbranch-protection="),
4459joinpd1("mmacos-version-min="),
4460joinpd1("pch-through-header="),
4461joinpd1("target-sdk-version="),
4462.{
4463 .name = "execution-charset:",
4464 .syntax = .joined,
4465 .zig_equivalent = .other,
4466 .pd1 = true,
4467 .pd2 = false,
4468 .psl = true,
4469},
4470.{
4471 .name = "include-directory=",
4472 .syntax = .joined,
4473 .zig_equivalent = .other,
4474 .pd1 = false,
4475 .pd2 = true,
4476 .psl = false,
4477},
4478.{
4479 .name = "library-directory=",
4480 .syntax = .joined,
4481 .zig_equivalent = .other,
4482 .pd1 = false,
4483 .pd2 = true,
4484 .psl = false,
4485},
4486.{
4487 .name = "config-system-dir=",
4488 .syntax = .joined,
4489 .zig_equivalent = .other,
4490 .pd1 = false,
4491 .pd2 = true,
4492 .psl = false,
4493},
4494joinpd1("fclang-abi-compat="),
4495joinpd1("fcompile-resource="),
4496joinpd1("fdebug-prefix-map="),
4497joinpd1("fdenormal-fp-math="),
4498joinpd1("fexcess-precision="),
4499joinpd1("ffree-line-length-"),
4500joinpd1("fmacro-prefix-map="),
4501.{
4502 .name = "fno-sanitize-trap=",
4503 .syntax = .comma_joined,
4504 .zig_equivalent = .other,
4505 .pd1 = true,
4506 .pd2 = false,
4507 .psl = false,
4508},
4509joinpd1("fobjc-abi-version="),
4510joinpd1("foutput-class-dir="),
4511joinpd1("fprofile-generate="),
4512joinpd1("frewrite-map-file="),
4513.{
4514 .name = "fsanitize-recover=",
4515 .syntax = .comma_joined,
4516 .zig_equivalent = .other,
4517 .pd1 = true,
4518 .pd2 = false,
4519 .psl = false,
4520},
4521joinpd1("fsymbol-partition="),
4522joinpd1("mcompact-branches="),
4523joinpd1("mstack-probe-size="),
4524joinpd1("mtvos-version-min="),
4525joinpd1("working-directory="),
4526joinpd1("analyze-function="),
4527joinpd1("analyzer-checker="),
4528joinpd1("coverage-version="),
4529.{
4530 .name = "cuda-include-ptx=",
4531 .syntax = .joined,
4532 .zig_equivalent = .other,
4533 .pd1 = false,
4534 .pd2 = true,
4535 .psl = false,
4536},
4537joinpd1("falign-functions="),
4538joinpd1("fconstexpr-depth="),
4539joinpd1("fconstexpr-steps="),
4540joinpd1("ffile-prefix-map="),
4541joinpd1("fmodule-map-file="),
4542joinpd1("fobjc-arc-cxxlib="),
4543jspd1("iwithprefixbefore"),
4544joinpd1("malign-functions="),
4545joinpd1("mios-version-min="),
4546joinpd1("mstack-alignment="),
4547.{
4548 .name = "no-cuda-gpu-arch=",
4549 .syntax = .joined,
4550 .zig_equivalent = .other,
4551 .pd1 = false,
4552 .pd2 = true,
4553 .psl = false,
4554},
4555jspd1("working-directory"),
4556joinpd1("analyzer-output="),
4557.{
4558 .name = "config-user-dir=",
4559 .syntax = .joined,
4560 .zig_equivalent = .other,
4561 .pd1 = false,
4562 .pd2 = true,
4563 .psl = false,
4564},
4565joinpd1("debug-info-kind="),
4566joinpd1("debugger-tuning="),
4567joinpd1("fcf-runtime-abi="),
4568joinpd1("finit-character="),
4569joinpd1("fmax-type-align="),
4570joinpd1("fmessage-length="),
4571.{
4572 .name = "fopenmp-targets=",
4573 .syntax = .comma_joined,
4574 .zig_equivalent = .other,
4575 .pd1 = true,
4576 .pd2 = false,
4577 .psl = false,
4578},
4579joinpd1("fopenmp-version="),
4580joinpd1("fshow-overloads="),
4581joinpd1("ftemplate-depth-"),
4582joinpd1("ftemplate-depth="),
4583jspd1("fxray-attr-list="),
4584jspd1("internal-isystem"),
4585joinpd1("mlinker-version="),
4586.{
4587 .name = "print-file-name=",
4588 .syntax = .joined,
4589 .zig_equivalent = .other,
4590 .pd1 = true,
4591 .pd2 = true,
4592 .psl = false,
4593},
4594.{
4595 .name = "print-prog-name=",
4596 .syntax = .joined,
4597 .zig_equivalent = .other,
4598 .pd1 = true,
4599 .pd2 = true,
4600 .psl = false,
4601},
4602jspd1("stdlib++-isystem"),
4603joinpd1("Rpass-analysis="),
4604.{
4605 .name = "Xopenmp-target=",
4606 .syntax = .joined_and_separate,
4607 .zig_equivalent = .other,
4608 .pd1 = true,
4609 .pd2 = false,
4610 .psl = false,
4611},
4612.{
4613 .name = "source-charset:",
4614 .syntax = .joined,
4615 .zig_equivalent = .other,
4616 .pd1 = true,
4617 .pd2 = false,
4618 .psl = true,
4619},
4620.{
4621 .name = "analyzer-output",
4622 .syntax = .joined_or_separate,
4623 .zig_equivalent = .other,
4624 .pd1 = false,
4625 .pd2 = true,
4626 .psl = false,
4627},
4628.{
4629 .name = "include-prefix=",
4630 .syntax = .joined,
4631 .zig_equivalent = .other,
4632 .pd1 = false,
4633 .pd2 = true,
4634 .psl = false,
4635},
4636.{
4637 .name = "undefine-macro=",
4638 .syntax = .joined,
4639 .zig_equivalent = .other,
4640 .pd1 = false,
4641 .pd2 = true,
4642 .psl = false,
4643},
4644joinpd1("analyzer-purge="),
4645joinpd1("analyzer-store="),
4646jspd1("current_version"),
4647joinpd1("fbootclasspath="),
4648joinpd1("fbracket-depth="),
4649joinpd1("fcf-protection="),
4650joinpd1("fdepfile-entry="),
4651joinpd1("fembed-bitcode="),
4652joinpd1("finput-charset="),
4653joinpd1("fmodule-format="),
4654joinpd1("fms-memptr-rep="),
4655joinpd1("fnew-alignment="),
4656joinpd1("frecord-marker="),
4657.{
4658 .name = "fsanitize-trap=",
4659 .syntax = .comma_joined,
4660 .zig_equivalent = .other,
4661 .pd1 = true,
4662 .pd2 = false,
4663 .psl = false,
4664},
4665joinpd1("fthinlto-index="),
4666joinpd1("ftrap-function="),
4667joinpd1("ftrapv-handler="),
4668.{
4669 .name = "hip-device-lib=",
4670 .syntax = .joined,
4671 .zig_equivalent = .other,
4672 .pd1 = false,
4673 .pd2 = true,
4674 .psl = false,
4675},
4676joinpd1("mdynamic-no-pic"),
4677joinpd1("mframe-pointer="),
4678joinpd1("mindirect-jump="),
4679joinpd1("preamble-bytes="),
4680.{
4681 .name = "bootclasspath=",
4682 .syntax = .joined,
4683 .zig_equivalent = .other,
4684 .pd1 = false,
4685 .pd2 = true,
4686 .psl = false,
4687},
4688.{
4689 .name = "cuda-gpu-arch=",
4690 .syntax = .joined,
4691 .zig_equivalent = .other,
4692 .pd1 = false,
4693 .pd2 = true,
4694 .psl = false,
4695},
4696.{
4697 .name = "dependent-lib=",
4698 .syntax = .joined,
4699 .zig_equivalent = .other,
4700 .pd1 = false,
4701 .pd2 = true,
4702 .psl = false,
4703},
4704joinpd1("dwarf-version="),
4705joinpd1("falign-labels="),
4706joinpd1("fauto-profile="),
4707joinpd1("fexec-charset="),
4708joinpd1("fgnuc-version="),
4709joinpd1("finit-integer="),
4710joinpd1("finit-logical="),
4711joinpd1("finline-limit="),
4712joinpd1("fobjc-runtime="),
4713.{
4714 .name = "gcc-toolchain=",
4715 .syntax = .joined,
4716 .zig_equivalent = .other,
4717 .pd1 = false,
4718 .pd2 = true,
4719 .psl = false,
4720},
4721.{
4722 .name = "linker-option=",
4723 .syntax = .joined,
4724 .zig_equivalent = .other,
4725 .pd1 = false,
4726 .pd2 = true,
4727 .psl = false,
4728},
4729.{
4730 .name = "malign-branch=",
4731 .syntax = .comma_joined,
4732 .zig_equivalent = .other,
4733 .pd1 = true,
4734 .pd2 = false,
4735 .psl = false,
4736},
4737jspd1("objcxx-isystem"),
4738joinpd1("vtordisp-mode="),
4739joinpd1("Rpass-missed="),
4740joinpd1("Wlarger-than-"),
4741joinpd1("Wlarger-than="),
4742.{
4743 .name = "define-macro=",
4744 .syntax = .joined,
4745 .zig_equivalent = .other,
4746 .pd1 = false,
4747 .pd2 = true,
4748 .psl = false,
4749},
4750joinpd1("ast-dump-all="),
4751.{
4752 .name = "autocomplete=",
4753 .syntax = .joined,
4754 .zig_equivalent = .other,
4755 .pd1 = false,
4756 .pd2 = true,
4757 .psl = false,
4758},
4759joinpd1("falign-jumps="),
4760joinpd1("falign-loops="),
4761joinpd1("faligned-new="),
4762joinpd1("ferror-limit="),
4763joinpd1("ffp-contract="),
4764joinpd1("fmodule-file="),
4765joinpd1("fmodule-name="),
4766joinpd1("fmsc-version="),
4767.{
4768 .name = "fno-sanitize=",
4769 .syntax = .comma_joined,
4770 .zig_equivalent = .other,
4771 .pd1 = true,
4772 .pd2 = false,
4773 .psl = false,
4774},
4775joinpd1("fpack-struct="),
4776joinpd1("fpass-plugin="),
4777joinpd1("fprofile-dir="),
4778joinpd1("fprofile-use="),
4779joinpd1("frandom-seed="),
4780joinpd1("gsplit-dwarf="),
4781jspd1("isystem-after"),
4782joinpd1("malign-jumps="),
4783joinpd1("malign-loops="),
4784joinpd1("mimplicit-it="),
4785jspd1("pagezero_size"),
4786joinpd1("resource-dir="),
4787.{
4788 .name = "dyld-prefix=",
4789 .syntax = .joined,
4790 .zig_equivalent = .other,
4791 .pd1 = false,
4792 .pd2 = true,
4793 .psl = false,
4794},
4795.{
4796 .name = "driver-mode=",
4797 .syntax = .joined,
4798 .zig_equivalent = .other,
4799 .pd1 = false,
4800 .pd2 = true,
4801 .psl = false,
4802},
4803joinpd1("fmax-errors="),
4804joinpd1("fno-builtin-"),
4805joinpd1("fvisibility="),
4806joinpd1("fwchar-type="),
4807jspd1("fxray-modes="),
4808jspd1("iwithsysroot"),
4809joinpd1("mhvx-length="),
4810jspd1("objc-isystem"),
4811.{
4812 .name = "rsp-quoting=",
4813 .syntax = .joined,
4814 .zig_equivalent = .other,
4815 .pd1 = false,
4816 .pd2 = true,
4817 .psl = false,
4818},
4819joinpd1("std-default="),
4820jspd1("sub_umbrella"),
4821.{
4822 .name = "Qpar-report",
4823 .syntax = .joined,
4824 .zig_equivalent = .other,
4825 .pd1 = true,
4826 .pd2 = false,
4827 .psl = true,
4828},
4829.{
4830 .name = "Qvec-report",
4831 .syntax = .joined,
4832 .zig_equivalent = .other,
4833 .pd1 = true,
4834 .pd2 = false,
4835 .psl = true,
4836},
4837.{
4838 .name = "errorReport",
4839 .syntax = .joined,
4840 .zig_equivalent = .other,
4841 .pd1 = true,
4842 .pd2 = false,
4843 .psl = true,
4844},
4845.{
4846 .name = "for-linker=",
4847 .syntax = .joined,
4848 .zig_equivalent = .other,
4849 .pd1 = false,
4850 .pd2 = true,
4851 .psl = false,
4852},
4853.{
4854 .name = "force-link=",
4855 .syntax = .joined,
4856 .zig_equivalent = .other,
4857 .pd1 = false,
4858 .pd2 = true,
4859 .psl = false,
4860},
4861jspd1("client_name"),
4862jspd1("cxx-isystem"),
4863joinpd1("fclasspath="),
4864joinpd1("finit-real="),
4865joinpd1("fforce-addr"),
4866joinpd1("ftls-model="),
4867jspd1("ivfsoverlay"),
4868jspd1("iwithprefix"),
4869joinpd1("mfloat-abi="),
4870.{
4871 .name = "plugin-arg-",
4872 .syntax = .joined_and_separate,
4873 .zig_equivalent = .other,
4874 .pd1 = true,
4875 .pd2 = false,
4876 .psl = false,
4877},
4878.{
4879 .name = "ptxas-path=",
4880 .syntax = .joined,
4881 .zig_equivalent = .other,
4882 .pd1 = false,
4883 .pd2 = true,
4884 .psl = false,
4885},
4886.{
4887 .name = "save-stats=",
4888 .syntax = .joined,
4889 .zig_equivalent = .other,
4890 .pd1 = true,
4891 .pd2 = true,
4892 .psl = false,
4893},
4894.{
4895 .name = "save-temps=",
4896 .syntax = .joined,
4897 .zig_equivalent = .other,
4898 .pd1 = true,
4899 .pd2 = true,
4900 .psl = false,
4901},
4902joinpd1("stats-file="),
4903jspd1("sub_library"),
4904.{
4905 .name = "CLASSPATH=",
4906 .syntax = .joined,
4907 .zig_equivalent = .other,
4908 .pd1 = false,
4909 .pd2 = true,
4910 .psl = false,
4911},
4912.{
4913 .name = "constexpr:",
4914 .syntax = .joined,
4915 .zig_equivalent = .other,
4916 .pd1 = true,
4917 .pd2 = false,
4918 .psl = true,
4919},
4920.{
4921 .name = "classpath=",
4922 .syntax = .joined,
4923 .zig_equivalent = .other,
4924 .pd1 = false,
4925 .pd2 = true,
4926 .psl = false,
4927},
4928.{
4929 .name = "cuda-path=",
4930 .syntax = .joined,
4931 .zig_equivalent = .other,
4932 .pd1 = false,
4933 .pd2 = true,
4934 .psl = false,
4935},
4936joinpd1("fencoding="),
4937joinpd1("ffp-model="),
4938joinpd1("ffpe-trap="),
4939joinpd1("flto-jobs="),
4940.{
4941 .name = "fsanitize=",
4942 .syntax = .comma_joined,
4943 .zig_equivalent = .other,
4944 .pd1 = true,
4945 .pd2 = false,
4946 .psl = false,
4947},
4948jspd1("iframework"),
4949joinpd1("mtls-size="),
4950joinpd1("segs_read_"),
4951.{
4952 .name = "unwindlib=",
4953 .syntax = .joined,
4954 .zig_equivalent = .other,
4955 .pd1 = true,
4956 .pd2 = true,
4957 .psl = false,
4958},
4959.{
4960 .name = "cgthreads",
4961 .syntax = .joined,
4962 .zig_equivalent = .other,
4963 .pd1 = true,
4964 .pd2 = false,
4965 .psl = true,
4966},
4967.{
4968 .name = "encoding=",
4969 .syntax = .joined,
4970 .zig_equivalent = .other,
4971 .pd1 = false,
4972 .pd2 = true,
4973 .psl = false,
4974},
4975.{
4976 .name = "language=",
4977 .syntax = .joined,
4978 .zig_equivalent = .other,
4979 .pd1 = false,
4980 .pd2 = true,
4981 .psl = false,
4982},
4983.{
4984 .name = "optimize=",
4985 .syntax = .joined,
4986 .zig_equivalent = .other,
4987 .pd1 = false,
4988 .pd2 = true,
4989 .psl = false,
4990},
4991.{
4992 .name = "resource=",
4993 .syntax = .joined,
4994 .zig_equivalent = .other,
4995 .pd1 = false,
4996 .pd2 = true,
4997 .psl = false,
4998},
4999joinpd1("ast-dump="),
5000jspd1("c-isystem"),
5001joinpd1("fcoarray="),
5002joinpd1("fconvert="),
5003joinpd1("fextdirs="),
5004joinpd1("ftabstop="),
5005jspd1("idirafter"),
5006joinpd1("mregparm="),
5007jspd1("undefined"),
5008.{
5009 .name = "extdirs=",
5010 .syntax = .joined,
5011 .zig_equivalent = .other,
5012 .pd1 = false,
5013 .pd2 = true,
5014 .psl = false,
5015},
5016.{
5017 .name = "imacros=",
5018 .syntax = .joined,
5019 .zig_equivalent = .other,
5020 .pd1 = false,
5021 .pd2 = true,
5022 .psl = false,
5023},
5024.{
5025 .name = "include=",
5026 .syntax = .joined,
5027 .zig_equivalent = .other,
5028 .pd1 = false,
5029 .pd2 = true,
5030 .psl = false,
5031},
5032.{
5033 .name = "sysroot=",
5034 .syntax = .joined,
5035 .zig_equivalent = .other,
5036 .pd1 = false,
5037 .pd2 = true,
5038 .psl = false,
5039},
5040joinpd1("fopenmp="),
5041joinpd1("fplugin="),
5042joinpd1("fuse-ld="),
5043joinpd1("fveclib="),
5044jspd1("isysroot"),
5045joinpd1("mcmodel="),
5046joinpd1("mconsole"),
5047joinpd1("mfpmath="),
5048joinpd1("mhwmult="),
5049joinpd1("mthreads"),
5050joinpd1("municode"),
5051joinpd1("mwindows"),
5052jspd1("seg1addr"),
5053.{
5054 .name = "assert=",
5055 .syntax = .joined,
5056 .zig_equivalent = .other,
5057 .pd1 = false,
5058 .pd2 = true,
5059 .psl = false,
5060},
5061.{
5062 .name = "mhwdiv=",
5063 .syntax = .joined,
5064 .zig_equivalent = .other,
5065 .pd1 = false,
5066 .pd2 = true,
5067 .psl = false,
5068},
5069.{
5070 .name = "output=",
5071 .syntax = .joined,
5072 .zig_equivalent = .other,
5073 .pd1 = false,
5074 .pd2 = true,
5075 .psl = false,
5076},
5077.{
5078 .name = "prefix=",
5079 .syntax = .joined,
5080 .zig_equivalent = .other,
5081 .pd1 = false,
5082 .pd2 = true,
5083 .psl = false,
5084},
5085.{
5086 .name = "cl-ext=",
5087 .syntax = .comma_joined,
5088 .zig_equivalent = .other,
5089 .pd1 = true,
5090 .pd2 = false,
5091 .psl = false,
5092},
5093joinpd1("cl-std="),
5094joinpd1("fcheck="),
5095.{
5096 .name = "imacros",
5097 .syntax = .joined_or_separate,
5098 .zig_equivalent = .other,
5099 .pd1 = true,
5100 .pd2 = true,
5101 .psl = false,
5102},
5103.{
5104 .name = "include",
5105 .syntax = .joined_or_separate,
5106 .zig_equivalent = .other,
5107 .pd1 = true,
5108 .pd2 = true,
5109 .psl = false,
5110},
5111jspd1("iprefix"),
5112jspd1("isystem"),
5113joinpd1("mhwdiv="),
5114joinpd1("moslib="),
5115.{
5116 .name = "mrecip=",
5117 .syntax = .comma_joined,
5118 .zig_equivalent = .other,
5119 .pd1 = true,
5120 .pd2 = false,
5121 .psl = false,
5122},
5123.{
5124 .name = "stdlib=",
5125 .syntax = .joined,
5126 .zig_equivalent = .other,
5127 .pd1 = true,
5128 .pd2 = true,
5129 .psl = false,
5130},
5131.{
5132 .name = "target=",
5133 .syntax = .joined,
5134 .zig_equivalent = .target,
5135 .pd1 = false,
5136 .pd2 = true,
5137 .psl = false,
5138},
5139joinpd1("triple="),
5140.{
5141 .name = "verify=",
5142 .syntax = .comma_joined,
5143 .zig_equivalent = .other,
5144 .pd1 = true,
5145 .pd2 = false,
5146 .psl = false,
5147},
5148joinpd1("Rpass="),
5149.{
5150 .name = "Xarch_",
5151 .syntax = .joined_and_separate,
5152 .zig_equivalent = .other,
5153 .pd1 = true,
5154 .pd2 = false,
5155 .psl = false,
5156},
5157.{
5158 .name = "clang:",
5159 .syntax = .joined,
5160 .zig_equivalent = .other,
5161 .pd1 = true,
5162 .pd2 = false,
5163 .psl = true,
5164},
5165.{
5166 .name = "guard:",
5167 .syntax = .joined,
5168 .zig_equivalent = .other,
5169 .pd1 = true,
5170 .pd2 = false,
5171 .psl = true,
5172},
5173.{
5174 .name = "debug=",
5175 .syntax = .joined,
5176 .zig_equivalent = .other,
5177 .pd1 = false,
5178 .pd2 = true,
5179 .psl = false,
5180},
5181.{
5182 .name = "param=",
5183 .syntax = .joined,
5184 .zig_equivalent = .other,
5185 .pd1 = false,
5186 .pd2 = true,
5187 .psl = false,
5188},
5189.{
5190 .name = "warn-=",
5191 .syntax = .joined,
5192 .zig_equivalent = .other,
5193 .pd1 = false,
5194 .pd2 = true,
5195 .psl = false,
5196},
5197joinpd1("fixit="),
5198joinpd1("gstabs"),
5199joinpd1("gxcoff"),
5200jspd1("iquote"),
5201joinpd1("march="),
5202joinpd1("mtune="),
5203.{
5204 .name = "rtlib=",
5205 .syntax = .joined,
5206 .zig_equivalent = .other,
5207 .pd1 = true,
5208 .pd2 = true,
5209 .psl = false,
5210},
5211.{
5212 .name = "specs=",
5213 .syntax = .joined,
5214 .zig_equivalent = .other,
5215 .pd1 = true,
5216 .pd2 = true,
5217 .psl = false,
5218},
5219joinpd1("weak-l"),
5220joinpd1("Ofast"),
5221jspd1("Tdata"),
5222jspd1("Ttext"),
5223.{
5224 .name = "arch:",
5225 .syntax = .joined,
5226 .zig_equivalent = .other,
5227 .pd1 = true,
5228 .pd2 = false,
5229 .psl = true,
5230},
5231.{
5232 .name = "favor",
5233 .syntax = .joined,
5234 .zig_equivalent = .other,
5235 .pd1 = true,
5236 .pd2 = false,
5237 .psl = true,
5238},
5239.{
5240 .name = "imsvc",
5241 .syntax = .joined_or_separate,
5242 .zig_equivalent = .other,
5243 .pd1 = true,
5244 .pd2 = false,
5245 .psl = true,
5246},
5247.{
5248 .name = "warn-",
5249 .syntax = .joined,
5250 .zig_equivalent = .other,
5251 .pd1 = false,
5252 .pd2 = true,
5253 .psl = false,
5254},
5255joinpd1("flto="),
5256joinpd1("gcoff"),
5257joinpd1("mabi="),
5258joinpd1("mabs="),
5259joinpd1("masm="),
5260joinpd1("mcpu="),
5261joinpd1("mfpu="),
5262joinpd1("mhvx="),
5263joinpd1("mmcu="),
5264joinpd1("mnan="),
5265jspd1("Tbss"),
5266.{
5267 .name = "link",
5268 .syntax = .remaining_args_joined,
5269 .zig_equivalent = .other,
5270 .pd1 = true,
5271 .pd2 = false,
5272 .psl = true,
5273},
5274.{
5275 .name = "std:",
5276 .syntax = .joined,
5277 .zig_equivalent = .other,
5278 .pd1 = true,
5279 .pd2 = false,
5280 .psl = true,
5281},
5282joinpd1("ccc-"),
5283joinpd1("gvms"),
5284joinpd1("mdll"),
5285joinpd1("mtp="),
5286.{
5287 .name = "std=",
5288 .syntax = .joined,
5289 .zig_equivalent = .other,
5290 .pd1 = true,
5291 .pd2 = true,
5292 .psl = false,
5293},
5294.{
5295 .name = "Wa,",
5296 .syntax = .comma_joined,
5297 .zig_equivalent = .other,
5298 .pd1 = true,
5299 .pd2 = false,
5300 .psl = false,
5301},
5302.{
5303 .name = "Wl,",
5304 .syntax = .comma_joined,
5305 .zig_equivalent = .wl,
5306 .pd1 = true,
5307 .pd2 = false,
5308 .psl = false,
5309},
5310.{
5311 .name = "Wp,",
5312 .syntax = .comma_joined,
5313 .zig_equivalent = .other,
5314 .pd1 = true,
5315 .pd2 = false,
5316 .psl = false,
5317},
5318.{
5319 .name = "RTC",
5320 .syntax = .joined,
5321 .zig_equivalent = .other,
5322 .pd1 = true,
5323 .pd2 = false,
5324 .psl = true,
5325},
5326.{
5327 .name = "Zc:",
5328 .syntax = .joined,
5329 .zig_equivalent = .other,
5330 .pd1 = true,
5331 .pd2 = false,
5332 .psl = true,
5333},
5334.{
5335 .name = "clr",
5336 .syntax = .joined,
5337 .zig_equivalent = .other,
5338 .pd1 = true,
5339 .pd2 = false,
5340 .psl = true,
5341},
5342.{
5343 .name = "doc",
5344 .syntax = .joined,
5345 .zig_equivalent = .other,
5346 .pd1 = true,
5347 .pd2 = false,
5348 .psl = true,
5349},
5350joinpd1("gz="),
5351joinpd1("A-"),
5352joinpd1("G="),
5353jspd1("MF"),
5354jspd1("MJ"),
5355jspd1("MQ"),
5356jspd1("MT"),
5357.{
5358 .name = "AI",
5359 .syntax = .joined_or_separate,
5360 .zig_equivalent = .other,
5361 .pd1 = true,
5362 .pd2 = false,
5363 .psl = true,
5364},
5365.{
5366 .name = "EH",
5367 .syntax = .joined,
5368 .zig_equivalent = .other,
5369 .pd1 = true,
5370 .pd2 = false,
5371 .psl = true,
5372},
5373.{
5374 .name = "FA",
5375 .syntax = .joined,
5376 .zig_equivalent = .other,
5377 .pd1 = true,
5378 .pd2 = false,
5379 .psl = true,
5380},
5381.{
5382 .name = "FI",
5383 .syntax = .joined_or_separate,
5384 .zig_equivalent = .other,
5385 .pd1 = true,
5386 .pd2 = false,
5387 .psl = true,
5388},
5389.{
5390 .name = "FR",
5391 .syntax = .joined,
5392 .zig_equivalent = .other,
5393 .pd1 = true,
5394 .pd2 = false,
5395 .psl = true,
5396},
5397.{
5398 .name = "FU",
5399 .syntax = .joined_or_separate,
5400 .zig_equivalent = .other,
5401 .pd1 = true,
5402 .pd2 = false,
5403 .psl = true,
5404},
5405.{
5406 .name = "Fa",
5407 .syntax = .joined,
5408 .zig_equivalent = .other,
5409 .pd1 = true,
5410 .pd2 = false,
5411 .psl = true,
5412},
5413.{
5414 .name = "Fd",
5415 .syntax = .joined,
5416 .zig_equivalent = .other,
5417 .pd1 = true,
5418 .pd2 = false,
5419 .psl = true,
5420},
5421.{
5422 .name = "Fe",
5423 .syntax = .joined,
5424 .zig_equivalent = .other,
5425 .pd1 = true,
5426 .pd2 = false,
5427 .psl = true,
5428},
5429.{
5430 .name = "Fi",
5431 .syntax = .joined,
5432 .zig_equivalent = .other,
5433 .pd1 = true,
5434 .pd2 = false,
5435 .psl = true,
5436},
5437.{
5438 .name = "Fm",
5439 .syntax = .joined,
5440 .zig_equivalent = .other,
5441 .pd1 = true,
5442 .pd2 = false,
5443 .psl = true,
5444},
5445.{
5446 .name = "Fo",
5447 .syntax = .joined,
5448 .zig_equivalent = .other,
5449 .pd1 = true,
5450 .pd2 = false,
5451 .psl = true,
5452},
5453.{
5454 .name = "Fp",
5455 .syntax = .joined,
5456 .zig_equivalent = .other,
5457 .pd1 = true,
5458 .pd2 = false,
5459 .psl = true,
5460},
5461.{
5462 .name = "Fr",
5463 .syntax = .joined,
5464 .zig_equivalent = .other,
5465 .pd1 = true,
5466 .pd2 = false,
5467 .psl = true,
5468},
5469.{
5470 .name = "Gs",
5471 .syntax = .joined,
5472 .zig_equivalent = .other,
5473 .pd1 = true,
5474 .pd2 = false,
5475 .psl = true,
5476},
5477.{
5478 .name = "MP",
5479 .syntax = .joined,
5480 .zig_equivalent = .other,
5481 .pd1 = true,
5482 .pd2 = false,
5483 .psl = true,
5484},
5485.{
5486 .name = "Tc",
5487 .syntax = .joined_or_separate,
5488 .zig_equivalent = .other,
5489 .pd1 = true,
5490 .pd2 = false,
5491 .psl = true,
5492},
5493.{
5494 .name = "Tp",
5495 .syntax = .joined_or_separate,
5496 .zig_equivalent = .other,
5497 .pd1 = true,
5498 .pd2 = false,
5499 .psl = true,
5500},
5501.{
5502 .name = "Yc",
5503 .syntax = .joined,
5504 .zig_equivalent = .other,
5505 .pd1 = true,
5506 .pd2 = false,
5507 .psl = true,
5508},
5509.{
5510 .name = "Yl",
5511 .syntax = .joined,
5512 .zig_equivalent = .other,
5513 .pd1 = true,
5514 .pd2 = false,
5515 .psl = true,
5516},
5517.{
5518 .name = "Yu",
5519 .syntax = .joined,
5520 .zig_equivalent = .other,
5521 .pd1 = true,
5522 .pd2 = false,
5523 .psl = true,
5524},
5525.{
5526 .name = "ZW",
5527 .syntax = .joined,
5528 .zig_equivalent = .other,
5529 .pd1 = true,
5530 .pd2 = false,
5531 .psl = true,
5532},
5533.{
5534 .name = "Zm",
5535 .syntax = .joined,
5536 .zig_equivalent = .other,
5537 .pd1 = true,
5538 .pd2 = false,
5539 .psl = true,
5540},
5541.{
5542 .name = "Zp",
5543 .syntax = .joined,
5544 .zig_equivalent = .other,
5545 .pd1 = true,
5546 .pd2 = false,
5547 .psl = true,
5548},
5549.{
5550 .name = "d2",
5551 .syntax = .joined,
5552 .zig_equivalent = .other,
5553 .pd1 = true,
5554 .pd2 = false,
5555 .psl = true,
5556},
5557.{
5558 .name = "vd",
5559 .syntax = .joined,
5560 .zig_equivalent = .other,
5561 .pd1 = true,
5562 .pd2 = false,
5563 .psl = true,
5564},
5565jspd1("A"),
5566jspd1("B"),
5567jspd1("D"),
5568jspd1("F"),
5569jspd1("G"),
5570jspd1("I"),
5571jspd1("J"),
5572jspd1("L"),
5573joinpd1("O"),
5574joinpd1("R"),
5575jspd1("T"),
5576jspd1("U"),
5577jspd1("V"),
5578joinpd1("W"),
5579joinpd1("X"),
5580joinpd1("Z"),
5581.{
5582 .name = "D",
5583 .syntax = .joined_or_separate,
5584 .zig_equivalent = .other,
5585 .pd1 = true,
5586 .pd2 = false,
5587 .psl = true,
5588},
5589.{
5590 .name = "F",
5591 .syntax = .joined_or_separate,
5592 .zig_equivalent = .other,
5593 .pd1 = true,
5594 .pd2 = false,
5595 .psl = true,
5596},
5597.{
5598 .name = "I",
5599 .syntax = .joined_or_separate,
5600 .zig_equivalent = .other,
5601 .pd1 = true,
5602 .pd2 = false,
5603 .psl = true,
5604},
5605.{
5606 .name = "O",
5607 .syntax = .joined,
5608 .zig_equivalent = .other,
5609 .pd1 = true,
5610 .pd2 = false,
5611 .psl = true,
5612},
5613.{
5614 .name = "U",
5615 .syntax = .joined_or_separate,
5616 .zig_equivalent = .other,
5617 .pd1 = true,
5618 .pd2 = false,
5619 .psl = true,
5620},
5621.{
5622 .name = "o",
5623 .syntax = .joined_or_separate,
5624 .zig_equivalent = .o,
5625 .pd1 = true,
5626 .pd2 = false,
5627 .psl = true,
5628},
5629.{
5630 .name = "w",
5631 .syntax = .joined,
5632 .zig_equivalent = .other,
5633 .pd1 = true,
5634 .pd2 = false,
5635 .psl = true,
5636},
5637joinpd1("a"),
5638jspd1("b"),
5639joinpd1("d"),
5640jspd1("e"),
5641.{
5642 .name = "l",
5643 .syntax = .joined_or_separate,
5644 .zig_equivalent = .l,
5645 .pd1 = true,
5646 .pd2 = false,
5647 .psl = false,
5648},
5649.{
5650 .name = "o",
5651 .syntax = .joined_or_separate,
5652 .zig_equivalent = .o,
5653 .pd1 = true,
5654 .pd2 = false,
5655 .psl = false,
5656},
5657jspd1("u"),
5658jspd1("x"),
5659joinpd1("y"),
5632};};5660};};
src-self-hosted/stage2.zig+10-1
...@@ -1239,6 +1239,14 @@ pub const ClangArgIterator = extern struct {...@@ -1239,6 +1239,14 @@ pub const ClangArgIterator = extern struct {
1239 other,1239 other,
1240 positional,1240 positional,
1241 l,1241 l,
1242 ignore,
1243 passthrough,
1244 pic,
1245 no_pic,
1246 nostdlib,
1247 shared,
1248 rdynamic,
1249 wl,
1242 };1250 };
12431251
1244 fn init(argv: []const [*:0]const u8) ClangArgIterator {1252 fn init(argv: []const [*:0]const u8) ClangArgIterator {
...@@ -1282,7 +1290,8 @@ pub const ClangArgIterator = extern struct {...@@ -1282,7 +1290,8 @@ pub const ClangArgIterator = extern struct {
1282 break :find_clang_arg;1290 break :find_clang_arg;
1283 },1291 },
1284 .joined, .comma_joined => {1292 .joined, .comma_joined => {
1285 // Example: --target=foo1293 // joined example: --target=foo
1294 // comma_joined example: -Wl,-soname,libsoundio.so.2
1286 const prefix_len = clang_arg.matchStartsWith(arg);1295 const prefix_len = clang_arg.matchStartsWith(arg);
1287 if (prefix_len != 0) {1296 if (prefix_len != 0) {
1288 self.zig_equivalent = clang_arg.zig_equivalent;1297 self.zig_equivalent = clang_arg.zig_equivalent;
src/main.cpp+140-9
...@@ -430,6 +430,7 @@ static int main0(int argc, char **argv) {...@@ -430,6 +430,7 @@ static int main0(int argc, char **argv) {
430 bool enable_dump_analysis = false;430 bool enable_dump_analysis = false;
431 bool enable_doc_generation = false;431 bool enable_doc_generation = false;
432 bool emit_bin = true;432 bool emit_bin = true;
433 const char *emit_bin_override_path = nullptr;
433 bool emit_asm = false;434 bool emit_asm = false;
434 bool emit_llvm_ir = false;435 bool emit_llvm_ir = false;
435 bool emit_h = false;436 bool emit_h = false;
...@@ -451,6 +452,7 @@ static int main0(int argc, char **argv) {...@@ -451,6 +452,7 @@ static int main0(int argc, char **argv) {
451 bool function_sections = false;452 bool function_sections = false;
452 const char *mcpu = nullptr;453 const char *mcpu = nullptr;
453 CodeModel code_model = CodeModelDefault;454 CodeModel code_model = CodeModelDefault;
455 const char *override_soname = nullptr;
454456
455 ZigList<const char *> llvm_argv = {0};457 ZigList<const char *> llvm_argv = {0};
456 llvm_argv.append("zig (LLVM option parsing)");458 llvm_argv.append("zig (LLVM option parsing)");
...@@ -576,10 +578,14 @@ static int main0(int argc, char **argv) {...@@ -576,10 +578,14 @@ static int main0(int argc, char **argv) {
576 } else if (argc >= 2 && strcmp(argv[1], "fmt") == 0) {578 } else if (argc >= 2 && strcmp(argv[1], "fmt") == 0) {
577 return stage2_fmt(argc, argv);579 return stage2_fmt(argc, argv);
578 } else if (argc >= 2 && strcmp(argv[1], "cc") == 0) {580 } else if (argc >= 2 && strcmp(argv[1], "cc") == 0) {
579 const char *o_arg = nullptr;581 emit_h = false;
582
580 bool c_arg = false;583 bool c_arg = false;
581 Stage2ClangArgIterator it;584 Stage2ClangArgIterator it;
582 stage2_clang_arg_iterator(&it, argc, argv);585 stage2_clang_arg_iterator(&it, argc, argv);
586 bool nostdlib = false;
587 bool is_shared_lib = false;
588 ZigList<Buf *> linker_args = {};
583 while (it.has_next) {589 while (it.has_next) {
584 if ((err = stage2_clang_arg_next(&it))) {590 if ((err = stage2_clang_arg_next(&it))) {
585 fprintf(stderr, "unable to parse command line parameters: %s\n", err_str(err));591 fprintf(stderr, "unable to parse command line parameters: %s\n", err_str(err));
...@@ -590,7 +596,8 @@ static int main0(int argc, char **argv) {...@@ -590,7 +596,8 @@ static int main0(int argc, char **argv) {
590 target_string = it.only_arg;596 target_string = it.only_arg;
591 break;597 break;
592 case Stage2ClangArgO: // -o598 case Stage2ClangArgO: // -o
593 o_arg = it.only_arg;599 emit_bin_override_path = it.only_arg;
600 enable_cache = CacheOptOn;
594 break;601 break;
595 case Stage2ClangArgC: // -c602 case Stage2ClangArgC: // -c
596 c_arg = true;603 c_arg = true;
...@@ -601,9 +608,17 @@ static int main0(int argc, char **argv) {...@@ -601,9 +608,17 @@ static int main0(int argc, char **argv) {
601 }608 }
602 break;609 break;
603 case Stage2ClangArgPositional: {610 case Stage2ClangArgPositional: {
604 CFile *c_file = heap::c_allocator.create<CFile>();611 Buf *arg_buf = buf_create_from_str(it.only_arg);
605 c_file->source_path = it.only_arg;612 if (buf_ends_with_str(arg_buf, ".c") ||
606 c_source_files.append(c_file);613 buf_ends_with_str(arg_buf, ".cpp") ||
614 buf_ends_with_str(arg_buf, ".s"))
615 {
616 CFile *c_file = heap::c_allocator.create<CFile>();
617 c_file->source_path = it.only_arg;
618 c_source_files.append(c_file);
619 } else {
620 objects.append(it.only_arg);
621 }
607 break;622 break;
608 }623 }
609 case Stage2ClangArgL: // -l624 case Stage2ClangArgL: // -l
...@@ -611,18 +626,111 @@ static int main0(int argc, char **argv) {...@@ -611,18 +626,111 @@ static int main0(int argc, char **argv) {
611 have_libc = true;626 have_libc = true;
612 link_libs.append(it.only_arg);627 link_libs.append(it.only_arg);
613 break;628 break;
629 case Stage2ClangArgIgnore:
630 break;
631 case Stage2ClangArgPassthrough:
632 // Never mind what we're doing, just pass the args directly. For example --help.
633 return ZigClang_main(argc, argv);
634 case Stage2ClangArgPIC:
635 want_pic = WantPICEnabled;
636 break;
637 case Stage2ClangArgNoPIC:
638 want_pic = WantPICDisabled;
639 break;
640 case Stage2ClangArgNoStdLib:
641 nostdlib = true;
642 break;
643 case Stage2ClangArgShared:
644 is_dynamic = true;
645 is_shared_lib = true;
646 break;
647 case Stage2ClangArgRDynamic:
648 rdynamic = true;
649 break;
650 case Stage2ClangArgWL: {
651 const char *arg = it.only_arg;
652 for (;;) {
653 size_t pos = 0;
654 while (arg[pos] != ',' && arg[pos] != 0) pos += 1;
655 linker_args.append(buf_create_from_mem(arg, pos));
656 if (arg[pos] == 0) break;
657 arg += pos + 1;
658 }
659 break;
660 }
661 }
662 }
663 // Parse linker args
664 for (size_t i = 0; i < linker_args.length; i += 1) {
665 Buf *arg = linker_args.at(i);
666 if (buf_eql_str(arg, "-soname")) {
667 i += 1;
668 if (i >= linker_args.length) {
669 fprintf(stderr, "expected linker arg after '%s'\n", buf_ptr(arg));
670 return EXIT_FAILURE;
671 }
672 Buf *soname_buf = linker_args.at(i);
673 override_soname = buf_ptr(soname_buf);
674 // use it as --name
675 // example: libsoundio.so.2
676 size_t prefix = 0;
677 if (buf_starts_with_str(soname_buf, "lib")) {
678 prefix = 3;
679 }
680 size_t end = buf_len(soname_buf);
681 if (buf_ends_with_str(soname_buf, ".so")) {
682 end -= 3;
683 } else {
684 bool found_digit = false;
685 while (end > 0 && isdigit(buf_ptr(soname_buf)[end - 1])) {
686 found_digit = true;
687 end -= 1;
688 }
689 if (found_digit && end > 0 && buf_ptr(soname_buf)[end - 1] == '.') {
690 end -= 1;
691 } else {
692 end = buf_len(soname_buf);
693 }
694 if (buf_ends_with_str(buf_slice(soname_buf, prefix, end), ".so")) {
695 end -= 3;
696 }
697 }
698 out_name = buf_ptr(buf_slice(soname_buf, prefix, end));
699 } else if (buf_eql_str(arg, "-rpath")) {
700 i += 1;
701 if (i >= linker_args.length) {
702 fprintf(stderr, "expected linker arg after '%s'\n", buf_ptr(arg));
703 return EXIT_FAILURE;
704 }
705 Buf *rpath = linker_args.at(i);
706 rpath_list.append(buf_ptr(rpath));
707 } else {
708 fprintf(stderr, "warning: unsupported linker arg: %s\n", buf_ptr(arg));
614 }709 }
615 }710 }
711
712 if (!nostdlib && !have_libc) {
713 have_libc = true;
714 link_libs.append("c");
715 }
616 if (!c_arg) {716 if (!c_arg) {
617 cmd = CmdBuild;717 cmd = CmdBuild;
618 out_type = OutTypeExe;718 if (is_shared_lib) {
619 if (o_arg == nullptr) {719 out_type = OutTypeLib;
620 zig_panic("TODO set out name to a.out");720 } else {
721 out_type = OutTypeExe;
722 }
723 if (emit_bin_override_path == nullptr) {
724 emit_bin_override_path = "a.out";
621 }725 }
622 } else {726 } else {
623 cmd = CmdBuild;727 cmd = CmdBuild;
624 out_type = OutTypeObj;728 out_type = OutTypeObj;
625 }729 }
730 if (c_source_files.length == 0 && objects.length == 0) {
731 // For example `zig cc` and no args should print the "no input files" message.
732 return ZigClang_main(argc, argv);
733 }
626 } else for (int i = 1; i < argc; i += 1) {734 } else for (int i = 1; i < argc; i += 1) {
627 char *arg = argv[i];735 char *arg = argv[i];
628736
...@@ -1184,6 +1292,18 @@ static int main0(int argc, char **argv) {...@@ -1184,6 +1292,18 @@ static int main0(int argc, char **argv) {
1184 buf_out_name = buf_alloc();1292 buf_out_name = buf_alloc();
1185 os_path_extname(&basename, buf_out_name, nullptr);1293 os_path_extname(&basename, buf_out_name, nullptr);
1186 }1294 }
1295 if (need_name && buf_out_name == nullptr && objects.length == 1) {
1296 Buf basename = BUF_INIT;
1297 os_path_split(buf_create_from_str(objects.at(0)), nullptr, &basename);
1298 buf_out_name = buf_alloc();
1299 os_path_extname(&basename, buf_out_name, nullptr);
1300 }
1301 if (need_name && buf_out_name == nullptr && emit_bin_override_path != nullptr) {
1302 Buf basename = BUF_INIT;
1303 os_path_split(buf_create_from_str(emit_bin_override_path), nullptr, &basename);
1304 buf_out_name = buf_alloc();
1305 os_path_extname(&basename, buf_out_name, nullptr);
1306 }
11871307
1188 if (need_name && buf_out_name == nullptr) {1308 if (need_name && buf_out_name == nullptr) {
1189 fprintf(stderr, "--name [name] not provided and unable to infer\n\n");1309 fprintf(stderr, "--name [name] not provided and unable to infer\n\n");
...@@ -1259,6 +1379,10 @@ static int main0(int argc, char **argv) {...@@ -1259,6 +1379,10 @@ static int main0(int argc, char **argv) {
1259 g->function_sections = function_sections;1379 g->function_sections = function_sections;
1260 g->code_model = code_model;1380 g->code_model = code_model;
12611381
1382 if (override_soname) {
1383 g->override_soname = buf_create_from_str(override_soname);
1384 }
1385
1262 for (size_t i = 0; i < lib_dirs.length; i += 1) {1386 for (size_t i = 0; i < lib_dirs.length; i += 1) {
1263 codegen_add_lib_dir(g, lib_dirs.at(i));1387 codegen_add_lib_dir(g, lib_dirs.at(i));
1264 }1388 }
...@@ -1337,7 +1461,14 @@ static int main0(int argc, char **argv) {...@@ -1337,7 +1461,14 @@ static int main0(int argc, char **argv) {
1337 os_spawn_process(args, &term);1461 os_spawn_process(args, &term);
1338 return term.code;1462 return term.code;
1339 } else if (cmd == CmdBuild) {1463 } else if (cmd == CmdBuild) {
1340 if (g->enable_cache) {1464 if (emit_bin_override_path != nullptr) {
1465 Buf *dest_path = buf_create_from_str(emit_bin_override_path);
1466 if ((err = os_update_file(&g->bin_file_output_path, dest_path))) {
1467 fprintf(stderr, "unable to copy %s to %s: %s\n", buf_ptr(&g->bin_file_output_path),
1468 buf_ptr(dest_path), err_str(err));
1469 return main_exit(root_progress_node, EXIT_FAILURE);
1470 }
1471 } else if (g->enable_cache) {
1341#if defined(ZIG_OS_WINDOWS)1472#if defined(ZIG_OS_WINDOWS)
1342 buf_replace(&g->bin_file_output_path, '/', '\\');1473 buf_replace(&g->bin_file_output_path, '/', '\\');
1343 buf_replace(g->output_dir, '/', '\\');1474 buf_replace(g->output_dir, '/', '\\');
src/stage2.h+8
...@@ -325,6 +325,14 @@ enum Stage2ClangArg {...@@ -325,6 +325,14 @@ enum Stage2ClangArg {
325 Stage2ClangArgOther,325 Stage2ClangArgOther,
326 Stage2ClangArgPositional,326 Stage2ClangArgPositional,
327 Stage2ClangArgL,327 Stage2ClangArgL,
328 Stage2ClangArgIgnore,
329 Stage2ClangArgPassthrough,
330 Stage2ClangArgPIC,
331 Stage2ClangArgNoPIC,
332 Stage2ClangArgNoStdLib,
333 Stage2ClangArgShared,
334 Stage2ClangArgRDynamic,
335 Stage2ClangArgWL,
328};336};
329337
330// ABI warning338// ABI warning
tools/update_clang_options.zig+187-73
...@@ -38,6 +38,42 @@ const known_options = [_]KnownOpt{...@@ -38,6 +38,42 @@ const known_options = [_]KnownOpt{
38 .name = "l",38 .name = "l",
39 .ident = "l",39 .ident = "l",
40 },40 },
41 .{
42 .name = "pipe",
43 .ident = "ignore",
44 },
45 .{
46 .name = "help",
47 .ident = "passthrough",
48 },
49 .{
50 .name = "fPIC",
51 .ident = "pic",
52 },
53 .{
54 .name = "fno-PIC",
55 .ident = "no_pic",
56 },
57 .{
58 .name = "nostdlib",
59 .ident = "nostdlib",
60 },
61 .{
62 .name = "no-standard-libraries",
63 .ident = "nostdlib",
64 },
65 .{
66 .name = "shared",
67 .ident = "shared",
68 },
69 .{
70 .name = "rdynamic",
71 .ident = "rdynamic",
72 },
73 .{
74 .name = "Wl,",
75 .ident = "wl",
76 },
41};77};
4278
43const blacklisted_options = [_][]const u8{};79const blacklisted_options = [_][]const u8{};
...@@ -110,7 +146,7 @@ pub fn main() anyerror!void {...@@ -110,7 +146,7 @@ pub fn main() anyerror!void {
110 const tree = try parser.parse(json_text);146 const tree = try parser.parse(json_text);
111 const root_map = &tree.root.Object;147 const root_map = &tree.root.Object;
112148
113 var all_names = std.ArrayList([]const u8).init(allocator);149 var all_objects = std.ArrayList(*json.ObjectMap).init(allocator);
114 {150 {
115 var it = root_map.iterator();151 var it = root_map.iterator();
116 it_map: while (it.next()) |kv| {152 it_map: while (it.next()) |kv| {
...@@ -123,10 +159,12 @@ pub fn main() anyerror!void {...@@ -123,10 +159,12 @@ pub fn main() anyerror!void {
123 if (std.mem.eql(u8, blacklisted_key, kv.key)) continue :it_map;159 if (std.mem.eql(u8, blacklisted_key, kv.key)) continue :it_map;
124 }160 }
125 if (kv.value.Object.get("Name").?.value.String.len == 0) continue;161 if (kv.value.Object.get("Name").?.value.String.len == 0) continue;
126 try all_names.append(kv.key);162 try all_objects.append(&kv.value.Object);
127 }163 }
128 }164 }
129 std.sort.sort([]const u8, all_names.span(), nameLessThan);165 // Some options have multiple matches. As an example, "-Wl,foo" matches both
166 // "W" and "Wl,". So we sort this list in order of descending priority.
167 std.sort.sort(*json.ObjectMap, all_objects.span(), objectLessThan);
130168
131 var stdout_bos = std.io.bufferedOutStream(std.io.getStdOut().outStream());169 var stdout_bos = std.io.bufferedOutStream(std.io.getStdOut().outStream());
132 const stdout = stdout_bos.outStream();170 const stdout = stdout_bos.outStream();
...@@ -138,8 +176,7 @@ pub fn main() anyerror!void {...@@ -138,8 +176,7 @@ pub fn main() anyerror!void {
138 \\176 \\
139 );177 );
140178
141 for (all_names.span()) |key| {179 for (all_objects.span()) |obj| {
142 const obj = &root_map.get(key).?.value.Object;
143 const name = obj.get("Name").?.value.String;180 const name = obj.get("Name").?.value.String;
144 var pd1 = false;181 var pd1 = false;
145 var pd2 = false;182 var pd2 = false;
...@@ -153,61 +190,12 @@ pub fn main() anyerror!void {...@@ -153,61 +190,12 @@ pub fn main() anyerror!void {
153 } else if (std.mem.eql(u8, prefix, "/")) {190 } else if (std.mem.eql(u8, prefix, "/")) {
154 pslash = true;191 pslash = true;
155 } else {192 } else {
156 std.debug.warn("{} (key {}) has unrecognized prefix '{}'\n", .{ name, key, prefix });193 std.debug.warn("{} has unrecognized prefix '{}'\n", .{ name, prefix });
157 std.process.exit(1);194 std.process.exit(1);
158 }195 }
159 }196 }
160 const num_args = @intCast(u8, obj.get("NumArgs").?.value.Integer);197 const syntax = objSyntax(obj);
161 const syntax_str: []const u8 = blk: {198
162 for (obj.get("!superclasses").?.value.Array.span()) |superclass_json| {
163 const superclass = superclass_json.String;
164 if (std.mem.eql(u8, superclass, "Joined")) {
165 break :blk ".joined";
166 } else if (std.mem.eql(u8, superclass, "CLJoined")) {
167 break :blk ".joined";
168 } else if (std.mem.eql(u8, superclass, "CLIgnoredJoined")) {
169 break :blk ".joined";
170 } else if (std.mem.eql(u8, superclass, "CLCompileJoined")) {
171 break :blk ".joined";
172 } else if (std.mem.eql(u8, superclass, "JoinedOrSeparate")) {
173 break :blk ".joined_or_separate";
174 } else if (std.mem.eql(u8, superclass, "CLJoinedOrSeparate")) {
175 break :blk ".joined_or_separate";
176 } else if (std.mem.eql(u8, superclass, "CLCompileJoinedOrSeparate")) {
177 break :blk ".joined_or_separate";
178 } else if (std.mem.eql(u8, superclass, "Flag")) {
179 break :blk ".flag";
180 } else if (std.mem.eql(u8, superclass, "CLFlag")) {
181 break :blk ".flag";
182 } else if (std.mem.eql(u8, superclass, "CLIgnoredFlag")) {
183 break :blk ".flag";
184 } else if (std.mem.eql(u8, superclass, "Separate")) {
185 break :blk ".separate";
186 } else if (std.mem.eql(u8, superclass, "JoinedAndSeparate")) {
187 break :blk ".joined_and_separate";
188 } else if (std.mem.eql(u8, superclass, "CommaJoined")) {
189 break :blk ".comma_joined";
190 } else if (std.mem.eql(u8, superclass, "CLRemainingArgsJoined")) {
191 break :blk ".remaining_args_joined";
192 } else if (std.mem.eql(u8, superclass, "MultiArg")) {
193 break :blk try std.fmt.allocPrint(allocator, ".{{ .multi_arg = {} }}", .{num_args});
194 }
195 }
196 if (std.mem.eql(u8, name, "<input>")) {
197 break :blk ".flag";
198 } else if (std.mem.eql(u8, name, "<unknown>")) {
199 break :blk ".flag";
200 }
201 const kind_def = obj.get("Kind").?.value.Object.get("def").?.value.String;
202 if (std.mem.eql(u8, kind_def, "KIND_FLAG")) {
203 break :blk ".flag";
204 }
205 std.debug.warn("{} (key {}) has unrecognized superclasses:\n", .{ name, key });
206 for (obj.get("!superclasses").?.value.Array.span()) |superclass_json| {
207 std.debug.warn(" {}\n", .{superclass_json.String});
208 }
209 std.process.exit(1);
210 };
211 if (knownOption(name)) |ident| {199 if (knownOption(name)) |ident| {
212 try stdout.print(200 try stdout.print(
213 \\.{{201 \\.{{
...@@ -219,22 +207,14 @@ pub fn main() anyerror!void {...@@ -219,22 +207,14 @@ pub fn main() anyerror!void {
219 \\ .psl = {},207 \\ .psl = {},
220 \\}},208 \\}},
221 \\209 \\
222 , .{ name, syntax_str, ident, pd1, pd2, pslash });210 , .{ name, syntax, ident, pd1, pd2, pslash });
223 } else if (pd1 and !pd2 and !pslash and211 } else if (pd1 and !pd2 and !pslash and syntax == .flag) {
224 std.mem.eql(u8, syntax_str, ".flag"))
225 {
226 try stdout.print("flagpd1(\"{}\"),\n", .{name});212 try stdout.print("flagpd1(\"{}\"),\n", .{name});
227 } else if (pd1 and !pd2 and !pslash and213 } else if (pd1 and !pd2 and !pslash and syntax == .joined) {
228 std.mem.eql(u8, syntax_str, ".joined"))
229 {
230 try stdout.print("joinpd1(\"{}\"),\n", .{name});214 try stdout.print("joinpd1(\"{}\"),\n", .{name});
231 } else if (pd1 and !pd2 and !pslash and215 } else if (pd1 and !pd2 and !pslash and syntax == .joined_or_separate) {
232 std.mem.eql(u8, syntax_str, ".joined_or_separate"))
233 {
234 try stdout.print("jspd1(\"{}\"),\n", .{name});216 try stdout.print("jspd1(\"{}\"),\n", .{name});
235 } else if (pd1 and !pd2 and !pslash and217 } else if (pd1 and !pd2 and !pslash and syntax == .separate) {
236 std.mem.eql(u8, syntax_str, ".separate"))
237 {
238 try stdout.print("sepd1(\"{}\"),\n", .{name});218 try stdout.print("sepd1(\"{}\"),\n", .{name});
239 } else {219 } else {
240 try stdout.print(220 try stdout.print(
...@@ -247,7 +227,7 @@ pub fn main() anyerror!void {...@@ -247,7 +227,7 @@ pub fn main() anyerror!void {
247 \\ .psl = {},227 \\ .psl = {},
248 \\}},228 \\}},
249 \\229 \\
250 , .{ name, syntax_str, pd1, pd2, pslash });230 , .{ name, syntax, pd1, pd2, pslash });
251 }231 }
252 }232 }
253233
...@@ -259,8 +239,142 @@ pub fn main() anyerror!void {...@@ -259,8 +239,142 @@ pub fn main() anyerror!void {
259 try stdout_bos.flush();239 try stdout_bos.flush();
260}240}
261241
262fn nameLessThan(a: []const u8, b: []const u8) bool {242// TODO we should be able to import clang_options.zig but currently this is problematic because it will
263 return std.mem.lessThan(u8, a, b);243// import stage2.zig and that causes a bunch of stuff to get exported
244const Syntax = union(enum) {
245 /// A flag with no values.
246 flag,
247
248 /// An option which prefixes its (single) value.
249 joined,
250
251 /// An option which is followed by its value.
252 separate,
253
254 /// An option which is either joined to its (non-empty) value, or followed by its value.
255 joined_or_separate,
256
257 /// An option which is both joined to its (first) value, and followed by its (second) value.
258 joined_and_separate,
259
260 /// An option followed by its values, which are separated by commas.
261 comma_joined,
262
263 /// An option which consumes an optional joined argument and any other remaining arguments.
264 remaining_args_joined,
265
266 /// An option which is which takes multiple (separate) arguments.
267 multi_arg: u8,
268
269 pub fn format(
270 self: Syntax,
271 comptime fmt: []const u8,
272 options: std.fmt.FormatOptions,
273 out_stream: var,
274 ) !void {
275 switch (self) {
276 .multi_arg => |n| return out_stream.print(".{{.{}={}}}", .{ @tagName(self), n }),
277 else => return out_stream.print(".{}", .{@tagName(self)}),
278 }
279 }
280};
281
282fn objSyntax(obj: *json.ObjectMap) Syntax {
283 const num_args = @intCast(u8, obj.get("NumArgs").?.value.Integer);
284 for (obj.get("!superclasses").?.value.Array.span()) |superclass_json| {
285 const superclass = superclass_json.String;
286 if (std.mem.eql(u8, superclass, "Joined")) {
287 return .joined;
288 } else if (std.mem.eql(u8, superclass, "CLJoined")) {
289 return .joined;
290 } else if (std.mem.eql(u8, superclass, "CLIgnoredJoined")) {
291 return .joined;
292 } else if (std.mem.eql(u8, superclass, "CLCompileJoined")) {
293 return .joined;
294 } else if (std.mem.eql(u8, superclass, "JoinedOrSeparate")) {
295 return .joined_or_separate;
296 } else if (std.mem.eql(u8, superclass, "CLJoinedOrSeparate")) {
297 return .joined_or_separate;
298 } else if (std.mem.eql(u8, superclass, "CLCompileJoinedOrSeparate")) {
299 return .joined_or_separate;
300 } else if (std.mem.eql(u8, superclass, "Flag")) {
301 return .flag;
302 } else if (std.mem.eql(u8, superclass, "CLFlag")) {
303 return .flag;
304 } else if (std.mem.eql(u8, superclass, "CLIgnoredFlag")) {
305 return .flag;
306 } else if (std.mem.eql(u8, superclass, "Separate")) {
307 return .separate;
308 } else if (std.mem.eql(u8, superclass, "JoinedAndSeparate")) {
309 return .joined_and_separate;
310 } else if (std.mem.eql(u8, superclass, "CommaJoined")) {
311 return .comma_joined;
312 } else if (std.mem.eql(u8, superclass, "CLRemainingArgsJoined")) {
313 return .remaining_args_joined;
314 } else if (std.mem.eql(u8, superclass, "MultiArg")) {
315 return .{ .multi_arg = num_args };
316 }
317 }
318 const name = obj.get("Name").?.value.String;
319 if (std.mem.eql(u8, name, "<input>")) {
320 return .flag;
321 } else if (std.mem.eql(u8, name, "<unknown>")) {
322 return .flag;
323 }
324 const kind_def = obj.get("Kind").?.value.Object.get("def").?.value.String;
325 if (std.mem.eql(u8, kind_def, "KIND_FLAG")) {
326 return .flag;
327 }
328 const key = obj.get("!name").?.value.String;
329 std.debug.warn("{} (key {}) has unrecognized superclasses:\n", .{ name, key });
330 for (obj.get("!superclasses").?.value.Array.span()) |superclass_json| {
331 std.debug.warn(" {}\n", .{superclass_json.String});
332 }
333 std.process.exit(1);
334}
335
336fn syntaxMatchesWithEql(syntax: Syntax) bool {
337 return switch (syntax) {
338 .flag,
339 .separate,
340 .multi_arg,
341 => true,
342
343 .joined,
344 .joined_or_separate,
345 .joined_and_separate,
346 .comma_joined,
347 .remaining_args_joined,
348 => false,
349 };
350}
351
352fn objectLessThan(a: *json.ObjectMap, b: *json.ObjectMap) bool {
353 // Priority is determined by exact matches first, followed by prefix matches in descending
354 // length, with key as a final tiebreaker.
355 const a_syntax = objSyntax(a);
356 const b_syntax = objSyntax(b);
357
358 const a_match_with_eql = syntaxMatchesWithEql(a_syntax);
359 const b_match_with_eql = syntaxMatchesWithEql(b_syntax);
360
361 if (a_match_with_eql and !b_match_with_eql) {
362 return true;
363 } else if (!a_match_with_eql and b_match_with_eql) {
364 return false;
365 }
366
367 if (!a_match_with_eql and !b_match_with_eql) {
368 const a_name = a.get("Name").?.value.String;
369 const b_name = b.get("Name").?.value.String;
370 if (a_name.len != b_name.len) {
371 return a_name.len > b_name.len;
372 }
373 }
374
375 const a_key = a.get("!name").?.value.String;
376 const b_key = b.get("!name").?.value.String;
377 return std.mem.lessThan(u8, a_key, b_key);
264}378}
265379
266fn usageAndExit(file: fs.File, arg0: []const u8, code: u8) noreturn {380fn usageAndExit(file: fs.File, arg0: []const u8, code: u8) noreturn {