authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2026-03-19 17:25:40-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2026-03-20 06:46:13+01:00
log06b85a4fd00bee590ec908d9f32c0263982f13c3
treee86c3e619edb039528cdf9e6853f92bb6c9f1c72
parent982f26bcddc48e50f4f371bac11d79804e82577b

CLI: use zon format for clang options

- plain old data ftw - 177K -> 151K - data bypasses Sema This change is not really important but it was nice to explore best practices for data like this. When I measured building the compiler, I found no statistically significant difference in compilation time.

7 files changed, 5269 insertions(+), 8978 deletions(-)

CMakeLists.txt-2
......@@ -348,8 +348,6 @@ set(ZIG_STAGE2_SOURCES
348348 src/Value.zig
349349 src/Zcu.zig
350350 src/Zcu/PerThread.zig
351 src/clang_options.zig
352 src/clang_options_data.zig
353351 src/codegen.zig
354352 src/codegen/aarch64.zig
355353 src/codegen/aarch64/abi.zig
lib/std/zig.zig+171-11
......@@ -3,12 +3,14 @@
33//! guarantees whatsoever.
44
55const std = @import("std.zig");
6const tokenizer = @import("zig/tokenizer.zig");
76const assert = std.debug.assert;
7const mem = std.mem;
88const Allocator = std.mem.Allocator;
99const Io = std.Io;
1010const Writer = std.Io.Writer;
1111
12const tokenizer = @import("zig/tokenizer.zig");
13
1214pub const ErrorBundle = @import("zig/ErrorBundle.zig");
1315pub const Server = @import("zig/Server.zig");
1416pub const Client = @import("zig/Client.zig");
......@@ -94,7 +96,7 @@ pub const Loc = struct {
9496 source_line: []const u8,
9597
9698 pub fn eql(a: Loc, b: Loc) bool {
97 return a.line == b.line and a.column == b.column and std.mem.eql(u8, a.source_line, b.source_line);
99 return a.line == b.line and a.column == b.column and mem.eql(u8, a.source_line, b.source_line);
98100 }
99101};
100102
......@@ -258,7 +260,7 @@ pub const BuildId = union(enum) {
258260 if (a_tag != b_tag) return false;
259261 return switch (a) {
260262 .none, .fast, .uuid, .sha1, .md5 => true,
261 .hexstring => |a_hexstring| std.mem.eql(u8, a_hexstring.toSlice(), b.hexstring.toSlice()),
263 .hexstring => |a_hexstring| mem.eql(u8, a_hexstring.toSlice(), b.hexstring.toSlice()),
262264 };
263265 }
264266
......@@ -285,17 +287,17 @@ pub const BuildId = union(enum) {
285287
286288 /// Converts UTF-8 text to a `BuildId`.
287289 pub fn parse(text: []const u8) !BuildId {
288 if (std.mem.eql(u8, text, "none")) {
290 if (mem.eql(u8, text, "none")) {
289291 return .none;
290 } else if (std.mem.eql(u8, text, "fast")) {
292 } else if (mem.eql(u8, text, "fast")) {
291293 return .fast;
292 } else if (std.mem.eql(u8, text, "uuid")) {
294 } else if (mem.eql(u8, text, "uuid")) {
293295 return .uuid;
294 } else if (std.mem.eql(u8, text, "sha1") or std.mem.eql(u8, text, "tree")) {
296 } else if (mem.eql(u8, text, "sha1") or mem.eql(u8, text, "tree")) {
295297 return .sha1;
296 } else if (std.mem.eql(u8, text, "md5")) {
298 } else if (mem.eql(u8, text, "md5")) {
297299 return .md5;
298 } else if (std.mem.startsWith(u8, text, "0x")) {
300 } else if (mem.startsWith(u8, text, "0x")) {
299301 var result: BuildId = .{ .hexstring = undefined };
300302 const slice = try std.fmt.hexToBytes(&result.hexstring.bytes, text[2..]);
301303 result.hexstring.len = @as(u8, @intCast(slice.len));
......@@ -614,13 +616,13 @@ pub fn readSourceFileToEndAlloc(gpa: Allocator, file_reader: *Io.File.Reader) ![
614616 "\xfe\xff", // UTF-16 big endian
615617 };
616618 for (unsupported_boms) |bom| {
617 if (std.mem.startsWith(u8, buffer.items, bom)) {
619 if (mem.startsWith(u8, buffer.items, bom)) {
618620 return error.UnsupportedEncoding;
619621 }
620622 }
621623
622624 // If the file starts with a UTF-16 little endian BOM, translate it to UTF-8
623 if (std.mem.startsWith(u8, buffer.items, "\xff\xfe")) {
625 if (mem.startsWith(u8, buffer.items, "\xff\xfe")) {
624626 if (buffer.items.len % 2 != 0) return error.InvalidEncoding;
625627 return std.unicode.utf16LeToUtf8AllocZ(gpa, @ptrCast(@alignCast(buffer.items))) catch |err| switch (err) {
626628 error.DanglingSurrogateHalf => error.UnsupportedEncoding,
......@@ -1002,6 +1004,164 @@ pub const EmitArtifact = enum {
10021004 }
10031005};
10041006
1007/// The defaults are chosen here to reduce the size of src/clang_options.zon
1008pub const ClangCliParam = struct {
1009 name: []const u8,
1010 ze: ZigEquivalent = .other,
1011 syntax: Syntax = .flag,
1012 /// Prefixed by "-"
1013 pd1: bool = true,
1014 /// Prefixed by "--"
1015 pd2: bool = false,
1016 /// Prefixed by "/"
1017 psl: bool = false,
1018
1019 pub const Syntax = union(enum) {
1020 /// A flag with no values.
1021 flag,
1022 /// An option which prefixes its (single) value.
1023 joined,
1024 /// An option which is followed by its value.
1025 separate,
1026 /// An option which is either joined to its (non-empty) value, or followed by its value.
1027 joined_or_separate,
1028 /// An option which is both joined to its (first) value, and followed by its (second) value.
1029 joined_and_separate,
1030 /// An option followed by its values, which are separated by commas.
1031 comma_joined,
1032 /// An option which consumes an optional joined argument and any other remaining arguments.
1033 remaining_args_joined,
1034 /// An option which is which takes multiple (separate) arguments.
1035 multi_arg: u8,
1036 };
1037
1038 pub const ZigEquivalent = enum {
1039 target,
1040 o,
1041 c,
1042 r,
1043 m,
1044 x,
1045 other,
1046 positional,
1047 l,
1048 ignore,
1049 driver_punt,
1050 pic,
1051 no_pic,
1052 pie,
1053 no_pie,
1054 lto,
1055 no_lto,
1056 unwind_tables,
1057 no_unwind_tables,
1058 asynchronous_unwind_tables,
1059 no_asynchronous_unwind_tables,
1060 nostdlib,
1061 nostdlib_cpp,
1062 shared,
1063 rdynamic,
1064 wl,
1065 wp,
1066 preprocess_only,
1067 asm_only,
1068 optimize,
1069 debug,
1070 gdwarf32,
1071 gdwarf64,
1072 sanitize,
1073 no_sanitize,
1074 sanitize_trap,
1075 no_sanitize_trap,
1076 linker_script,
1077 dry_run,
1078 verbose,
1079 for_linker,
1080 linker_input_z,
1081 lib_dir,
1082 mcpu,
1083 dep_file,
1084 dep_file_to_stdout,
1085 framework_dir,
1086 framework,
1087 nostdlibinc,
1088 red_zone,
1089 no_red_zone,
1090 omit_frame_pointer,
1091 no_omit_frame_pointer,
1092 function_sections,
1093 no_function_sections,
1094 data_sections,
1095 no_data_sections,
1096 builtin,
1097 no_builtin,
1098 color_diagnostics,
1099 no_color_diagnostics,
1100 stack_check,
1101 no_stack_check,
1102 stack_protector,
1103 no_stack_protector,
1104 strip,
1105 exec_model,
1106 emit_llvm,
1107 sysroot,
1108 entry,
1109 force_undefined_symbol,
1110 weak_library,
1111 weak_framework,
1112 headerpad_max_install_names,
1113 compress_debug_sections,
1114 install_name,
1115 undefined,
1116 force_load_objc,
1117 mingw_unicode_entry_point,
1118 san_cov_trace_pc_guard,
1119 san_cov,
1120 no_san_cov,
1121 rtlib,
1122 static,
1123 dynamic,
1124 };
1125
1126 pub fn matchEql(self: @This(), arg: []const u8) u2 {
1127 if (self.pd1 and arg.len >= self.name.len + 1 and
1128 mem.startsWith(u8, arg, "-") and mem.eql(u8, arg[1..], self.name))
1129 {
1130 return 1;
1131 }
1132 if (self.pd2 and arg.len >= self.name.len + 2 and
1133 mem.startsWith(u8, arg, "--") and mem.eql(u8, arg[2..], self.name))
1134 {
1135 return 2;
1136 }
1137 if (self.psl and arg.len >= self.name.len + 1 and
1138 mem.startsWith(u8, arg, "/") and mem.eql(u8, arg[1..], self.name))
1139 {
1140 return 1;
1141 }
1142 return 0;
1143 }
1144
1145 pub fn matchStartsWith(self: @This(), arg: []const u8) usize {
1146 if (self.pd1 and arg.len >= self.name.len + 1 and
1147 mem.startsWith(u8, arg, "-") and mem.startsWith(u8, arg[1..], self.name))
1148 {
1149 return self.name.len + 1;
1150 }
1151 if (self.pd2 and arg.len >= self.name.len + 2 and
1152 mem.startsWith(u8, arg, "--") and mem.startsWith(u8, arg[2..], self.name))
1153 {
1154 return self.name.len + 2;
1155 }
1156 if (self.psl and arg.len >= self.name.len + 1 and
1157 mem.startsWith(u8, arg, "/") and mem.startsWith(u8, arg[1..], self.name))
1158 {
1159 return self.name.len + 1;
1160 }
1161 return 0;
1162 }
1163};
1164
10051165test {
10061166 _ = Ast;
10071167 _ = AstRlAnnotate;
src/clang_options.zig deleted-144
......@@ -1,144 +0,0 @@
1const std = @import("std");
2const mem = std.mem;
3
4pub const list = @import("clang_options_data.zig").data;
5
6pub const CliArg = struct {
7 name: []const u8,
8 syntax: Syntax,
9
10 zig_equivalent: @import("main.zig").ClangArgIterator.ZigEquivalent,
11
12 /// Prefixed by "-"
13 pd1: bool = false,
14
15 /// Prefixed by "--"
16 pd2: bool = false,
17
18 /// Prefixed by "/"
19 psl: bool = false,
20
21 pub const Syntax = union(enum) {
22 /// A flag with no values.
23 flag,
24
25 /// An option which prefixes its (single) value.
26 joined,
27
28 /// An option which is followed by its value.
29 separate,
30
31 /// An option which is either joined to its (non-empty) value, or followed by its value.
32 joined_or_separate,
33
34 /// An option which is both joined to its (first) value, and followed by its (second) value.
35 joined_and_separate,
36
37 /// An option followed by its values, which are separated by commas.
38 comma_joined,
39
40 /// An option which consumes an optional joined argument and any other remaining arguments.
41 remaining_args_joined,
42
43 /// An option which is which takes multiple (separate) arguments.
44 multi_arg: u8,
45 };
46
47 pub fn matchEql(self: CliArg, arg: []const u8) u2 {
48 if (self.pd1 and arg.len >= self.name.len + 1 and
49 mem.startsWith(u8, arg, "-") and mem.eql(u8, arg[1..], self.name))
50 {
51 return 1;
52 }
53 if (self.pd2 and arg.len >= self.name.len + 2 and
54 mem.startsWith(u8, arg, "--") and mem.eql(u8, arg[2..], self.name))
55 {
56 return 2;
57 }
58 if (self.psl and arg.len >= self.name.len + 1 and
59 mem.startsWith(u8, arg, "/") and mem.eql(u8, arg[1..], self.name))
60 {
61 return 1;
62 }
63 return 0;
64 }
65
66 pub fn matchStartsWith(self: CliArg, arg: []const u8) usize {
67 if (self.pd1 and arg.len >= self.name.len + 1 and
68 mem.startsWith(u8, arg, "-") and mem.startsWith(u8, arg[1..], self.name))
69 {
70 return self.name.len + 1;
71 }
72 if (self.pd2 and arg.len >= self.name.len + 2 and
73 mem.startsWith(u8, arg, "--") and mem.startsWith(u8, arg[2..], self.name))
74 {
75 return self.name.len + 2;
76 }
77 if (self.psl and arg.len >= self.name.len + 1 and
78 mem.startsWith(u8, arg, "/") and mem.startsWith(u8, arg[1..], self.name))
79 {
80 return self.name.len + 1;
81 }
82 return 0;
83 }
84};
85
86/// Shortcut function for initializing a `CliArg`
87pub fn flagpd1(name: []const u8) CliArg {
88 return .{
89 .name = name,
90 .syntax = .flag,
91 .zig_equivalent = .other,
92 .pd1 = true,
93 };
94}
95
96/// Shortcut function for initializing a `CliArg`
97pub fn flagpsl(name: []const u8) CliArg {
98 return .{
99 .name = name,
100 .syntax = .flag,
101 .zig_equivalent = .other,
102 .psl = true,
103 };
104}
105
106/// Shortcut function for initializing a `CliArg`
107pub fn joinpd1(name: []const u8) CliArg {
108 return .{
109 .name = name,
110 .syntax = .joined,
111 .zig_equivalent = .other,
112 .pd1 = true,
113 };
114}
115
116/// Shortcut function for initializing a `CliArg`
117pub fn jspd1(name: []const u8) CliArg {
118 return .{
119 .name = name,
120 .syntax = .joined_or_separate,
121 .zig_equivalent = .other,
122 .pd1 = true,
123 };
124}
125
126/// Shortcut function for initializing a `CliArg`
127pub fn sepd1(name: []const u8) CliArg {
128 return .{
129 .name = name,
130 .syntax = .separate,
131 .zig_equivalent = .other,
132 .pd1 = true,
133 };
134}
135
136/// Shortcut function for initializing a `CliArg`
137pub fn m(name: []const u8) CliArg {
138 return .{
139 .name = name,
140 .syntax = .flag,
141 .zig_equivalent = .m,
142 .pd1 = true,
143 };
144}
src/clang_options.zon created+5060
......@@ -0,0 +1,5060 @@
1// This file is generated by tools/update_clang_options.zig.
2// zig fmt: off
3.{
4.{ .name = "C" },
5.{ .name = "CC" },
6.{ .name = "E", .ze = .preprocess_only },
7.{ .name = "EB" },
8.{ .name = "EL" },
9.{ .name = "Eonly" },
10.{ .name = "faapcs-bitfield-load" },
11.{ .name = "H" },
12.{ .name = "<input>", .pd1 = false },
13.{ .name = "I-" },
14.{ .name = "K" },
15.{ .name = "M", .ze = .dep_file_to_stdout },
16.{ .name = "MD", .ze = .dep_file },
17.{ .name = "MG", .ze = .dep_file },
18.{ .name = "MM", .ze = .dep_file_to_stdout },
19.{ .name = "MMD", .ze = .dep_file },
20.{ .name = "MP", .ze = .dep_file },
21.{ .name = "MV", .ze = .dep_file },
22.{ .name = "Mach" },
23.{ .name = "O0", .ze = .optimize },
24.{ .name = "O4", .ze = .optimize },
25.{ .name = "O", .ze = .optimize },
26.{ .name = "ObjC", .ze = .force_load_objc },
27.{ .name = "ObjC++" },
28.{ .name = "P" },
29.{ .name = "Q" },
30.{ .name = "Qn" },
31.{ .name = "Qunused-arguments" },
32.{ .name = "Qy" },
33.{ .name = "S", .ze = .asm_only },
34.{ .name = "<unknown>", .pd1 = false },
35.{ .name = "WCL4" },
36.{ .name = "Wall" },
37.{ .name = "Wdeprecated" },
38.{ .name = "Wframe-larger-than" },
39.{ .name = "Winvalid-constexpr" },
40.{ .name = "Winvalid-gnu-asm-cast" },
41.{ .name = "Wlarge-by-value-copy" },
42.{ .name = "Wno-deprecated" },
43.{ .name = "Wno-invalid-constexpr" },
44.{ .name = "Wno-rewrite-macros" },
45.{ .name = "Wno-system-headers" },
46.{ .name = "Wno-write-strings" },
47.{ .name = "Wsystem-headers" },
48.{ .name = "Wwrite-strings" },
49.{ .name = "X" },
50.{ .name = "Xanalyzer", .syntax = .separate },
51.{ .name = "Xarch_device", .syntax = .separate },
52.{ .name = "Xarch_host", .syntax = .separate },
53.{ .name = "Xassembler", .syntax = .separate },
54.{ .name = "Xclang", .syntax = .separate },
55.{ .name = "Xclangas", .syntax = .separate },
56.{ .name = "Xcuda-fatbinary", .syntax = .separate },
57.{ .name = "Xcuda-ptxas", .syntax = .separate },
58.{ .name = "Xflang", .syntax = .separate },
59.{
60 .name = "Xlinker",
61 .ze = .for_linker,
62 .syntax = .separate,
63},
64.{ .name = "Xopenmp-target", .syntax = .separate },
65.{ .name = "Xpreprocessor", .syntax = .separate },
66.{ .name = "Z" },
67.{ .name = "Z-Xlinker-no-demangle" },
68.{ .name = "Z-reserved-lib-cckext" },
69.{ .name = "Z-reserved-lib-stdc++" },
70.{ .name = "Zlinker-input", .syntax = .separate },
71.{
72 .name = "CLASSPATH",
73 .syntax = .separate,
74 .pd1 = false,
75 .pd2 = true,
76},
77.{ .name = "###", .ze = .dry_run },
78.{ .name = "Brepro", .psl = true },
79.{ .name = "Brepro-", .psl = true },
80.{ .name = "Bt", .psl = true },
81.{ .name = "Bt+", .psl = true },
82.{ .name = "C", .psl = true },
83.{
84 .name = "E",
85 .ze = .preprocess_only,
86 .psl = true,
87},
88.{ .name = "EP", .psl = true },
89.{ .name = "FC", .psl = true },
90.{ .name = "FS", .psl = true },
91.{ .name = "Fx", .psl = true },
92.{ .name = "G1", .psl = true },
93.{ .name = "G2", .psl = true },
94.{ .name = "GA", .psl = true },
95.{ .name = "GF", .psl = true },
96.{ .name = "GF-", .psl = true },
97.{ .name = "GH", .psl = true },
98.{ .name = "GL", .psl = true },
99.{ .name = "GL-", .psl = true },
100.{ .name = "GR", .psl = true },
101.{ .name = "GR-", .psl = true },
102.{ .name = "GS", .psl = true },
103.{ .name = "GS-", .psl = true },
104.{ .name = "GT", .psl = true },
105.{ .name = "GX", .psl = true },
106.{ .name = "GX-", .psl = true },
107.{ .name = "GZ", .psl = true },
108.{ .name = "Gd", .psl = true },
109.{ .name = "Ge", .psl = true },
110.{ .name = "Gh", .psl = true },
111.{ .name = "Gm", .psl = true },
112.{ .name = "Gm-", .psl = true },
113.{ .name = "Gr", .psl = true },
114.{ .name = "Gregcall", .psl = true },
115.{ .name = "Gregcall4", .psl = true },
116.{ .name = "Gv", .psl = true },
117.{ .name = "Gw", .psl = true },
118.{ .name = "Gw-", .psl = true },
119.{ .name = "Gy", .psl = true },
120.{ .name = "Gy-", .psl = true },
121.{ .name = "Gz", .psl = true },
122.{ .name = "H", .psl = true },
123.{ .name = "HELP", .psl = true },
124.{ .name = "J", .psl = true },
125.{ .name = "JMC", .psl = true },
126.{ .name = "JMC-", .psl = true },
127.{ .name = "LD", .psl = true },
128.{ .name = "LDd", .psl = true },
129.{ .name = "LN", .psl = true },
130.{
131 .name = "MD",
132 .ze = .dep_file,
133 .psl = true,
134},
135.{ .name = "MDd", .psl = true },
136.{
137 .name = "MT",
138 .pd1 = false,
139 .psl = true,
140},
141.{ .name = "MTd", .psl = true },
142.{ .name = "P", .psl = true },
143.{ .name = "QIfist", .psl = true },
144.{ .name = "QIntel-jcc-erratum", .psl = true },
145.{ .name = "?", .psl = true },
146.{ .name = "Qfast_transcendentals", .psl = true },
147.{ .name = "Qimprecise_fwaits", .psl = true },
148.{ .name = "Qpar", .psl = true },
149.{ .name = "Qsafe_fp_loads", .psl = true },
150.{ .name = "Qspectre", .psl = true },
151.{ .name = "Qspectre-load", .psl = true },
152.{ .name = "Qspectre-load-cf", .psl = true },
153.{ .name = "Qvec", .psl = true },
154.{ .name = "Qvec-", .psl = true },
155.{ .name = "TC", .psl = true },
156.{ .name = "TP", .psl = true },
157.{ .name = "V", .psl = true },
158.{ .name = "W0", .psl = true },
159.{ .name = "W1", .psl = true },
160.{ .name = "W2", .psl = true },
161.{ .name = "W3", .psl = true },
162.{ .name = "W4", .psl = true },
163.{ .name = "WL", .psl = true },
164.{ .name = "WX", .psl = true },
165.{ .name = "WX-", .psl = true },
166.{ .name = "Wall", .psl = true },
167.{ .name = "Wp64", .psl = true },
168.{ .name = "X", .psl = true },
169.{ .name = "Y-", .psl = true },
170.{ .name = "Yd", .psl = true },
171.{ .name = "Z7", .psl = true },
172.{ .name = "ZH:MD5", .psl = true },
173.{ .name = "ZH:SHA1", .psl = true },
174.{ .name = "ZH:SHA_256", .psl = true },
175.{ .name = "ZI", .psl = true },
176.{ .name = "Za", .psl = true },
177.{ .name = "Zc:__STDC__", .psl = true },
178.{ .name = "Zc:__cplusplus", .psl = true },
179.{ .name = "Zc:alignedNew", .psl = true },
180.{ .name = "Zc:alignedNew-", .psl = true },
181.{ .name = "Zc:auto", .psl = true },
182.{ .name = "Zc:char8_t", .psl = true },
183.{ .name = "Zc:char8_t-", .psl = true },
184.{ .name = "Zc:dllexportInlines", .psl = true },
185.{ .name = "Zc:dllexportInlines-", .psl = true },
186.{ .name = "Zc:forScope", .psl = true },
187.{ .name = "Zc:inline", .psl = true },
188.{ .name = "Zc:rvalueCast", .psl = true },
189.{ .name = "Zc:sizedDealloc", .psl = true },
190.{ .name = "Zc:sizedDealloc-", .psl = true },
191.{ .name = "Zc:strictStrings", .psl = true },
192.{ .name = "Zc:ternary", .psl = true },
193.{ .name = "Zc:threadSafeInit", .psl = true },
194.{ .name = "Zc:threadSafeInit-", .psl = true },
195.{ .name = "Zc:tlsGuards", .psl = true },
196.{ .name = "Zc:tlsGuards-", .psl = true },
197.{ .name = "Zc:trigraphs", .psl = true },
198.{ .name = "Zc:trigraphs-", .psl = true },
199.{ .name = "Zc:twoPhase", .psl = true },
200.{ .name = "Zc:twoPhase-", .psl = true },
201.{ .name = "Zc:wchar_t", .psl = true },
202.{ .name = "Zc:wchar_t-", .psl = true },
203.{ .name = "Ze", .psl = true },
204.{ .name = "Zg", .psl = true },
205.{ .name = "Zi", .psl = true },
206.{ .name = "Zl", .psl = true },
207.{ .name = "Zo", .psl = true },
208.{ .name = "Zo-", .psl = true },
209.{ .name = "Zp", .psl = true },
210.{ .name = "Zs", .psl = true },
211.{ .name = "analyze-", .psl = true },
212.{ .name = "arm64EC", .psl = true },
213.{ .name = "await", .psl = true },
214.{ .name = "bigobj", .psl = true },
215.{
216 .name = "c",
217 .ze = .c,
218 .psl = true,
219},
220.{ .name = "d1PP", .psl = true },
221.{ .name = "d1reportAllClassLayout", .psl = true },
222.{ .name = "d2FastFail", .psl = true },
223.{ .name = "d2Zi+", .psl = true },
224.{ .name = "d2epilogunwind", .psl = true },
225.{ .name = "d2epilogunwindrequirev2", .psl = true },
226.{ .name = "diagnostics:caret", .psl = true },
227.{ .name = "diagnostics:classic", .psl = true },
228.{ .name = "diagnostics:column", .psl = true },
229.{ .name = "exportHeader", .psl = true },
230.{ .name = "external:W0", .psl = true },
231.{ .name = "external:W1", .psl = true },
232.{ .name = "external:W2", .psl = true },
233.{ .name = "external:W3", .psl = true },
234.{ .name = "external:W4", .psl = true },
235.{ .name = "fp:contract", .psl = true },
236.{ .name = "fp:except", .psl = true },
237.{ .name = "fp:except-", .psl = true },
238.{ .name = "fp:fast", .psl = true },
239.{ .name = "fp:precise", .psl = true },
240.{ .name = "fp:strict", .psl = true },
241.{
242 .name = "fsanitize=address",
243 .ze = .sanitize,
244 .psl = true,
245},
246.{
247 .name = "help",
248 .ze = .driver_punt,
249 .psl = true,
250},
251.{ .name = "homeparams", .psl = true },
252.{ .name = "hotpatch", .psl = true },
253.{ .name = "kernel", .psl = true },
254.{ .name = "kernel-", .psl = true },
255.{ .name = "nologo", .psl = true },
256.{ .name = "openmp", .psl = true },
257.{ .name = "openmp-", .psl = true },
258.{ .name = "openmp:experimental", .psl = true },
259.{ .name = "permissive", .psl = true },
260.{ .name = "permissive-", .psl = true },
261.{ .name = "sdl", .psl = true },
262.{ .name = "sdl-", .psl = true },
263.{ .name = "showFilenames", .psl = true },
264.{ .name = "showFilenames-", .psl = true },
265.{ .name = "showIncludes", .psl = true },
266.{ .name = "showIncludes:user", .psl = true },
267.{ .name = "translateInclude", .psl = true },
268.{
269 .name = "u",
270 .ze = .force_undefined_symbol,
271 .psl = true,
272},
273.{ .name = "utf-8", .psl = true },
274.{ .name = "validate-charset", .psl = true },
275.{ .name = "validate-charset-", .psl = true },
276.{ .name = "vmb", .psl = true },
277.{ .name = "vmg", .psl = true },
278.{ .name = "vmm", .psl = true },
279.{ .name = "vms", .psl = true },
280.{ .name = "vmv", .psl = true },
281.{ .name = "volatile:iso", .psl = true },
282.{ .name = "volatile:ms", .psl = true },
283.{ .name = "w", .psl = true },
284.{
285 .name = "all-warnings",
286 .pd1 = false,
287 .pd2 = true,
288},
289.{
290 .name = "analyze",
291 .pd1 = false,
292 .pd2 = true,
293},
294.{
295 .name = "analyzer-no-default-checks",
296 .pd1 = false,
297 .pd2 = true,
298},
299.{
300 .name = "assemble",
301 .ze = .asm_only,
302 .pd1 = false,
303 .pd2 = true,
304},
305.{
306 .name = "assert",
307 .syntax = .separate,
308 .pd1 = false,
309 .pd2 = true,
310},
311.{
312 .name = "bootclasspath",
313 .syntax = .separate,
314 .pd1 = false,
315 .pd2 = true,
316},
317.{
318 .name = "classpath",
319 .syntax = .separate,
320 .pd1 = false,
321 .pd2 = true,
322},
323.{
324 .name = "comments",
325 .pd1 = false,
326 .pd2 = true,
327},
328.{
329 .name = "comments-in-macros",
330 .pd1 = false,
331 .pd2 = true,
332},
333.{
334 .name = "compile",
335 .pd1 = false,
336 .pd2 = true,
337},
338.{
339 .name = "constant-cfstrings",
340 .pd1 = false,
341 .pd2 = true,
342},
343.{
344 .name = "debug",
345 .ze = .debug,
346 .pd1 = false,
347 .pd2 = true,
348},
349.{
350 .name = "define-macro",
351 .syntax = .separate,
352 .pd1 = false,
353 .pd2 = true,
354},
355.{
356 .name = "dependencies",
357 .pd1 = false,
358 .pd2 = true,
359},
360.{
361 .name = "dyld-prefix",
362 .syntax = .separate,
363 .pd1 = false,
364 .pd2 = true,
365},
366.{
367 .name = "encoding",
368 .syntax = .separate,
369 .pd1 = false,
370 .pd2 = true,
371},
372.{
373 .name = "entry",
374 .ze = .entry,
375 .pd1 = false,
376 .pd2 = true,
377},
378.{
379 .name = "extdirs",
380 .syntax = .separate,
381 .pd1 = false,
382 .pd2 = true,
383},
384.{
385 .name = "extra-warnings",
386 .pd1 = false,
387 .pd2 = true,
388},
389.{
390 .name = "for-linker",
391 .ze = .for_linker,
392 .syntax = .separate,
393 .pd1 = false,
394 .pd2 = true,
395},
396.{
397 .name = "force-link",
398 .syntax = .separate,
399 .pd1 = false,
400 .pd2 = true,
401},
402.{
403 .name = "help-hidden",
404 .pd1 = false,
405 .pd2 = true,
406},
407.{
408 .name = "include-barrier",
409 .pd1 = false,
410 .pd2 = true,
411},
412.{
413 .name = "include-directory",
414 .syntax = .separate,
415 .pd1 = false,
416 .pd2 = true,
417},
418.{
419 .name = "include-directory-after",
420 .syntax = .separate,
421 .pd1 = false,
422 .pd2 = true,
423},
424.{
425 .name = "include-prefix",
426 .syntax = .separate,
427 .pd1 = false,
428 .pd2 = true,
429},
430.{
431 .name = "include-with-prefix",
432 .syntax = .separate,
433 .pd1 = false,
434 .pd2 = true,
435},
436.{
437 .name = "include-with-prefix-after",
438 .syntax = .separate,
439 .pd1 = false,
440 .pd2 = true,
441},
442.{
443 .name = "include-with-prefix-before",
444 .syntax = .separate,
445 .pd1 = false,
446 .pd2 = true,
447},
448.{
449 .name = "language",
450 .syntax = .separate,
451 .pd1 = false,
452 .pd2 = true,
453},
454.{
455 .name = "library-directory",
456 .ze = .lib_dir,
457 .syntax = .separate,
458 .pd1 = false,
459 .pd2 = true,
460},
461.{
462 .name = "mhwdiv",
463 .syntax = .separate,
464 .pd1 = false,
465 .pd2 = true,
466},
467.{
468 .name = "no-line-commands",
469 .pd1 = false,
470 .pd2 = true,
471},
472.{
473 .name = "no-standard-includes",
474 .ze = .nostdlibinc,
475 .pd1 = false,
476 .pd2 = true,
477},
478.{
479 .name = "no-standard-libraries",
480 .ze = .nostdlib,
481 .pd1 = false,
482 .pd2 = true,
483},
484.{
485 .name = "no-undefined",
486 .pd1 = false,
487 .pd2 = true,
488},
489.{
490 .name = "no-warnings",
491 .pd1 = false,
492 .pd2 = true,
493},
494.{
495 .name = "optimize",
496 .ze = .optimize,
497 .pd1 = false,
498 .pd2 = true,
499},
500.{
501 .name = "output",
502 .syntax = .separate,
503 .pd1 = false,
504 .pd2 = true,
505},
506.{
507 .name = "output-class-directory",
508 .syntax = .separate,
509 .pd1 = false,
510 .pd2 = true,
511},
512.{
513 .name = "param",
514 .syntax = .separate,
515 .pd1 = false,
516 .pd2 = true,
517},
518.{
519 .name = "precompile",
520 .pd1 = false,
521 .pd2 = true,
522},
523.{
524 .name = "prefix",
525 .syntax = .separate,
526 .pd1 = false,
527 .pd2 = true,
528},
529.{
530 .name = "preprocess",
531 .ze = .preprocess_only,
532 .pd1 = false,
533 .pd2 = true,
534},
535.{
536 .name = "print-diagnostic-categories",
537 .pd1 = false,
538 .pd2 = true,
539},
540.{
541 .name = "print-file-name",
542 .syntax = .separate,
543 .pd1 = false,
544 .pd2 = true,
545},
546.{
547 .name = "print-missing-file-dependencies",
548 .ze = .dep_file,
549 .pd1 = false,
550 .pd2 = true,
551},
552.{
553 .name = "print-prog-name",
554 .syntax = .separate,
555 .pd1 = false,
556 .pd2 = true,
557},
558.{
559 .name = "profile",
560 .pd1 = false,
561 .pd2 = true,
562},
563.{
564 .name = "resource",
565 .syntax = .separate,
566 .pd1 = false,
567 .pd2 = true,
568},
569.{
570 .name = "rtlib",
571 .ze = .rtlib,
572 .syntax = .separate,
573 .pd1 = false,
574 .pd2 = true,
575},
576.{
577 .name = "serialize-diagnostics",
578 .syntax = .separate,
579 .pd2 = true,
580},
581.{
582 .name = "signed-char",
583 .pd1 = false,
584 .pd2 = true,
585},
586.{
587 .name = "std",
588 .syntax = .separate,
589 .pd1 = false,
590 .pd2 = true,
591},
592.{
593 .name = "stdlib",
594 .syntax = .separate,
595 .pd1 = false,
596 .pd2 = true,
597},
598.{
599 .name = "sysroot",
600 .ze = .sysroot,
601 .syntax = .separate,
602 .pd1 = false,
603 .pd2 = true,
604},
605.{
606 .name = "target-help",
607 .pd1 = false,
608 .pd2 = true,
609},
610.{
611 .name = "trace-includes",
612 .pd1 = false,
613 .pd2 = true,
614},
615.{
616 .name = "undefine-macro",
617 .syntax = .separate,
618 .pd1 = false,
619 .pd2 = true,
620},
621.{
622 .name = "unsigned-char",
623 .pd1 = false,
624 .pd2 = true,
625},
626.{
627 .name = "user-dependencies",
628 .ze = .dep_file_to_stdout,
629 .pd1 = false,
630 .pd2 = true,
631},
632.{
633 .name = "verbose",
634 .ze = .verbose,
635 .pd1 = false,
636 .pd2 = true,
637},
638.{
639 .name = "version",
640 .pd1 = false,
641 .pd2 = true,
642},
643.{
644 .name = "write-dependencies",
645 .ze = .dep_file,
646 .pd1 = false,
647 .pd2 = true,
648},
649.{
650 .name = "write-user-dependencies",
651 .ze = .dep_file,
652 .pd1 = false,
653 .pd2 = true,
654},
655.{ .name = "add-plugin", .syntax = .separate },
656.{ .name = "alias_list", .syntax = .separate },
657.{ .name = "faligned-alloc-unavailable" },
658.{ .name = "all_load" },
659.{ .name = "allowable_client", .syntax = .separate },
660.{ .name = "cfg-add-implicit-dtors" },
661.{ .name = "unoptimized-cfg" },
662.{ .name = "analyze" },
663.{ .name = "analyze-function", .syntax = .separate },
664.{ .name = "analyzer-checker", .syntax = .separate },
665.{ .name = "analyzer-checker-help" },
666.{ .name = "analyzer-checker-help-alpha" },
667.{ .name = "analyzer-checker-help-developer" },
668.{ .name = "analyzer-checker-option-help" },
669.{ .name = "analyzer-checker-option-help-alpha" },
670.{ .name = "analyzer-checker-option-help-developer" },
671.{ .name = "analyzer-config", .syntax = .separate },
672.{ .name = "analyzer-config-compatibility-mode", .syntax = .separate },
673.{ .name = "analyzer-config-help" },
674.{ .name = "analyzer-constraints", .syntax = .separate },
675.{ .name = "analyzer-disable-all-checks" },
676.{ .name = "analyzer-disable-checker", .syntax = .separate },
677.{ .name = "analyzer-disable-retry-exhausted" },
678.{ .name = "analyzer-display-progress" },
679.{ .name = "analyzer-dump-egraph", .syntax = .separate },
680.{ .name = "analyzer-inline-max-stack-depth", .syntax = .separate },
681.{ .name = "analyzer-inlining-mode", .syntax = .separate },
682.{ .name = "analyzer-list-enabled-checkers" },
683.{ .name = "analyzer-max-loop", .syntax = .separate },
684.{ .name = "analyzer-note-analysis-entry-points" },
685.{ .name = "analyzer-opt-analyze-headers" },
686.{ .name = "analyzer-output", .syntax = .separate },
687.{ .name = "analyzer-purge", .syntax = .separate },
688.{ .name = "analyzer-stats" },
689.{ .name = "analyzer-viz-egraph-graphviz" },
690.{ .name = "analyzer-werror" },
691.{ .name = "fnew-alignment", .syntax = .separate },
692.{ .name = "faligned-new" },
693.{ .name = "fno-aligned-new" },
694.{ .name = "fsched-interblock" },
695.{ .name = "fcuda-rdc" },
696.{ .name = "fno-cuda-rdc" },
697.{ .name = "ftree-vectorize" },
698.{ .name = "fno-tree-vectorize" },
699.{ .name = "ftree-slp-vectorize" },
700.{ .name = "fno-tree-slp-vectorize" },
701.{ .name = "fterminated-vtables" },
702.{ .name = "grecord-gcc-switches" },
703.{ .name = "gno-record-gcc-switches" },
704.{ .name = "nogpuinc" },
705.{ .name = "nocudainc" },
706.{ .name = "nogpulib" },
707.{ .name = "nocudalib" },
708.{ .name = "print-multiarch", .pd2 = true },
709.{
710 .name = "system-header-prefix",
711 .syntax = .separate,
712 .pd1 = false,
713 .pd2 = true,
714},
715.{
716 .name = "no-system-header-prefix",
717 .syntax = .separate,
718 .pd1 = false,
719 .pd2 = true,
720},
721.{ .name = "mcpu=help", .ze = .mcpu },
722.{ .name = "mtune=help", .ze = .mcpu },
723.{ .name = "integrated-as" },
724.{ .name = "no-integrated-as" },
725.{ .name = "fopenmp-is-device" },
726.{ .name = "fcuda-approx-transcendentals" },
727.{ .name = "fno-cuda-approx-transcendentals" },
728.{ .name = "Gs", .psl = true },
729.{
730 .name = "O1",
731 .ze = .optimize,
732 .psl = true,
733},
734.{
735 .name = "O2",
736 .ze = .optimize,
737 .psl = true,
738},
739.{ .name = "Ob0", .psl = true },
740.{ .name = "Ob1", .psl = true },
741.{ .name = "Ob2", .psl = true },
742.{ .name = "Ob3", .psl = true },
743.{ .name = "Od", .psl = true },
744.{
745 .name = "Og",
746 .ze = .optimize,
747 .psl = true,
748},
749.{ .name = "Oi", .psl = true },
750.{ .name = "Oi-", .psl = true },
751.{
752 .name = "Os",
753 .ze = .optimize,
754 .psl = true,
755},
756.{ .name = "Ot", .psl = true },
757.{ .name = "Ox", .psl = true },
758.{ .name = "Oy", .psl = true },
759.{ .name = "Oy-", .psl = true },
760.{ .name = "Qgather-", .psl = true },
761.{ .name = "Qscatter-", .psl = true },
762.{ .name = "shared-libasan" },
763.{ .name = "Xmicrosoft-visualc-tools-root", .syntax = .separate },
764.{ .name = "Xmicrosoft-visualc-tools-version", .syntax = .separate },
765.{ .name = "Xmicrosoft-windows-sdk-root", .syntax = .separate },
766.{ .name = "Xmicrosoft-windows-sdk-version", .syntax = .separate },
767.{ .name = "Xmicrosoft-windows-sys-root", .syntax = .separate },
768.{ .name = "Qembed_debug", .psl = true },
769.{ .name = "static-libasan" },
770.{ .name = "fslp-vectorize-aggressive" },
771.{ .name = "fident" },
772.{ .name = "fno-ident" },
773.{ .name = "fno-slp-vectorize-aggressive" },
774.{ .name = "fdiagnostics-color" },
775.{ .name = "fno-diagnostics-color" },
776.{ .name = "frecord-gcc-switches" },
777.{ .name = "fno-record-gcc-switches" },
778.{ .name = "Xparser" },
779.{ .name = "Xcompiler" },
780.{ .name = "fexpensive-optimizations" },
781.{ .name = "fno-expensive-optimizations" },
782.{ .name = "fdefer-pop" },
783.{ .name = "fno-defer-pop" },
784.{ .name = "fextended-identifiers" },
785.{ .name = "fno-extended-identifiers" },
786.{ .name = "fno-sanitize-blacklist" },
787.{ .name = "fhonor-infinites" },
788.{ .name = "fno-honor-infinites" },
789.{ .name = "findirect-virtual-calls" },
790.{
791 .name = "config",
792 .syntax = .separate,
793 .pd1 = false,
794 .pd2 = true,
795},
796.{ .name = "ansi", .pd2 = true },
797.{ .name = "arch", .syntax = .separate },
798.{ .name = "arch_errors_fatal" },
799.{ .name = "arch_only", .syntax = .separate },
800.{ .name = "as-secure-log-file", .syntax = .separate },
801.{ .name = "ast-dump" },
802.{ .name = "ast-dump-all" },
803.{ .name = "ast-dump-decl-types" },
804.{ .name = "ast-dump-filter", .syntax = .separate },
805.{ .name = "ast-dump-lookups" },
806.{ .name = "ast-list" },
807.{ .name = "ast-merge", .syntax = .separate },
808.{ .name = "ast-print" },
809.{ .name = "ast-view" },
810.{ .name = "aux-target-cpu", .syntax = .separate },
811.{ .name = "aux-target-feature", .syntax = .separate },
812.{ .name = "aux-triple", .syntax = .separate },
813.{ .name = "bind_at_load" },
814.{ .name = "building-pch-with-obj" },
815.{ .name = "bundle" },
816.{ .name = "bundle_loader", .syntax = .separate },
817.{ .name = "c", .ze = .c },
818.{ .name = "c-isystem", .syntax = .separate },
819.{ .name = "canonical-prefixes" },
820.{ .name = "cc1" },
821.{ .name = "cc1as" },
822.{ .name = "ccc-gcc-name", .syntax = .separate },
823.{ .name = "ccc-install-dir", .syntax = .separate },
824.{ .name = "ccc-print-bindings" },
825.{ .name = "ccc-print-phases" },
826.{ .name = "cfguard" },
827.{ .name = "cfguard-no-checks" },
828.{ .name = "chain-include", .syntax = .separate },
829.{ .name = "cl-denorms-are-zero" },
830.{ .name = "cl-fast-relaxed-math" },
831.{ .name = "cl-finite-math-only" },
832.{ .name = "cl-fp32-correctly-rounded-divide-sqrt" },
833.{ .name = "cl-kernel-arg-info" },
834.{ .name = "cl-mad-enable" },
835.{ .name = "cl-no-signed-zeros" },
836.{ .name = "cl-no-stdinc" },
837.{ .name = "cl-opt-disable" },
838.{ .name = "cl-single-precision-constant" },
839.{ .name = "cl-strict-aliasing" },
840.{ .name = "cl-uniform-work-group-size" },
841.{ .name = "cl-unsafe-math-optimizations" },
842.{ .name = "clangir-disable-passes" },
843.{ .name = "clangir-disable-verifier" },
844.{ .name = "clear-ast-before-backend" },
845.{ .name = "code-completion-at", .syntax = .separate },
846.{ .name = "code-completion-brief-comments" },
847.{ .name = "code-completion-macros" },
848.{ .name = "code-completion-patterns" },
849.{ .name = "code-completion-with-fixits" },
850.{ .name = "combine", .pd2 = true },
851.{ .name = "compiler-options-dump" },
852.{
853 .name = "compress-debug-sections",
854 .ze = .compress_debug_sections,
855 .pd2 = true,
856},
857.{ .name = "coverage", .pd2 = true },
858.{ .name = "cpp" },
859.{ .name = "cpp-precomp" },
860.{
861 .name = "crel",
862 .pd1 = false,
863 .pd2 = true,
864},
865.{
866 .name = "cuda-compile-host-device",
867 .pd1 = false,
868 .pd2 = true,
869},
870.{
871 .name = "cuda-device-only",
872 .pd1 = false,
873 .pd2 = true,
874},
875.{
876 .name = "cuda-host-only",
877 .pd1 = false,
878 .pd2 = true,
879},
880.{
881 .name = "cuda-noopt-device-debug",
882 .pd1 = false,
883 .pd2 = true,
884},
885.{
886 .name = "cuda-path-ignore-env",
887 .pd1 = false,
888 .pd2 = true,
889},
890.{ .name = "fc++-static-destructors" },
891.{ .name = "dA" },
892.{ .name = "dD" },
893.{ .name = "dE" },
894.{ .name = "dI" },
895.{ .name = "dM" },
896.{ .name = "d" },
897.{ .name = "darwin-target-variant", .syntax = .separate },
898.{ .name = "darwin-target-variant-triple", .syntax = .separate },
899.{ .name = "dead_strip" },
900.{ .name = "debug-forward-template-params" },
901.{ .name = "debug-info-macro" },
902.{ .name = "default-function-attr", .syntax = .separate },
903.{
904 .name = "defsym",
905 .syntax = .separate,
906 .pd1 = false,
907 .pd2 = true,
908},
909.{ .name = "dependency-dot", .syntax = .separate },
910.{ .name = "dependency-file", .syntax = .separate },
911.{ .name = "detailed-preprocessing-record" },
912.{ .name = "diagnostic-log-file", .syntax = .separate },
913.{ .name = "serialize-diagnostic-file", .syntax = .separate },
914.{ .name = "disable-O0-optnone" },
915.{ .name = "disable-free" },
916.{ .name = "disable-lifetime-markers" },
917.{ .name = "disable-llvm-optzns" },
918.{ .name = "disable-llvm-passes" },
919.{ .name = "disable-llvm-verifier" },
920.{ .name = "disable-objc-default-synthesize-properties" },
921.{ .name = "disable-pragma-debug-crash" },
922.{ .name = "disable-red-zone" },
923.{ .name = "discard-value-names" },
924.{ .name = "dump-coverage-mapping" },
925.{ .name = "dump-deserialized-decls" },
926.{ .name = "dump-raw-tokens" },
927.{ .name = "dump-tokens" },
928.{ .name = "dumpdir", .syntax = .separate },
929.{ .name = "dumpmachine" },
930.{ .name = "dumpspecs" },
931.{ .name = "dumpversion" },
932.{ .name = "dwarf-debug-flags", .syntax = .separate },
933.{ .name = "dwarf-debug-producer", .syntax = .separate },
934.{ .name = "dwarf-explicit-import" },
935.{ .name = "dwarf-ext-refs" },
936.{ .name = "Vd", .psl = true },
937.{ .name = "Gis", .psl = true },
938.{ .name = "hlsl-no-stdinc", .psl = true },
939.{
940 .name = "force-rootsig-ver",
941 .syntax = .separate,
942 .psl = true,
943},
944.{ .name = "dylib_file", .syntax = .separate },
945.{ .name = "dylinker" },
946.{ .name = "dynamic", .ze = .dynamic },
947.{ .name = "dynamiclib", .ze = .shared },
948.{
949 .name = "e",
950 .ze = .entry,
951 .syntax = .separate,
952},
953.{ .name = "ehcontguard" },
954.{ .name = "emit-ast" },
955.{ .name = "emit-cir" },
956.{ .name = "emit-codegen-only" },
957.{
958 .name = "emit-extension-symbol-graphs",
959 .pd1 = false,
960 .pd2 = true,
961},
962.{ .name = "emit-fir" },
963.{ .name = "emit-header-unit" },
964.{ .name = "emit-hlfir" },
965.{ .name = "emit-html" },
966.{ .name = "emit-interface-stubs" },
967.{ .name = "emit-llvm", .ze = .emit_llvm },
968.{ .name = "emit-llvm-bc" },
969.{ .name = "emit-llvm-only" },
970.{ .name = "emit-llvm-uselists" },
971.{ .name = "emit-merged-ifs" },
972.{ .name = "emit-mlir" },
973.{ .name = "emit-module" },
974.{ .name = "emit-module-interface" },
975.{ .name = "emit-obj" },
976.{ .name = "emit-pch" },
977.{
978 .name = "pretty-sgf",
979 .pd1 = false,
980 .pd2 = true,
981},
982.{ .name = "emit-pristine-llvm", .psl = true },
983.{ .name = "emit-reduced-module-interface" },
984.{
985 .name = "emit-sgf-symbol-labels-for-testing",
986 .pd1 = false,
987 .pd2 = true,
988},
989.{
990 .name = "emit-static-lib",
991 .pd1 = false,
992 .pd2 = true,
993},
994.{ .name = "emit-symbol-graph" },
995.{ .name = "enable-16bit-types", .psl = true },
996.{ .name = "enable-noundef-analysis" },
997.{ .name = "enable-tlsdesc" },
998.{
999 .name = "end-no-unused-arguments",
1000 .pd1 = false,
1001 .pd2 = true,
1002},
1003.{ .name = "error-on-deserialized-decl", .syntax = .separate },
1004.{ .name = "exception-model", .syntax = .separate },
1005.{ .name = "fexperimental-modules-reduced-bmi" },
1006.{ .name = "exported_symbols_list", .syntax = .separate },
1007.{ .name = "extract-api" },
1008.{ .name = "fPIC", .ze = .pic },
1009.{ .name = "fPIE", .ze = .pie },
1010.{ .name = "faapcs-bitfield-width" },
1011.{ .name = "faarch64-jump-table-hardening" },
1012.{ .name = "faccess-control" },
1013.{ .name = "faddrsig" },
1014.{ .name = "faggressive-function-elimination" },
1015.{ .name = "falign-commons" },
1016.{ .name = "falign-functions" },
1017.{ .name = "falign-jumps" },
1018.{ .name = "falign-labels" },
1019.{ .name = "falign-loops" },
1020.{ .name = "faligned-allocation" },
1021.{ .name = "fall-intrinsics" },
1022.{ .name = "fallow-editor-placeholders" },
1023.{ .name = "fallow-pch-with-different-modules-cache-path" },
1024.{ .name = "fallow-pch-with-compiler-errors" },
1025.{ .name = "fallow-pcm-with-compiler-errors" },
1026.{ .name = "fallow-unsupported" },
1027.{ .name = "falternative-parameter-statement" },
1028.{ .name = "faltivec" },
1029.{ .name = "fanalyzed-objects-for-unparse" },
1030.{ .name = "fandroid-pad-segment" },
1031.{ .name = "fkeep-inline-functions" },
1032.{ .name = "funit-at-a-time" },
1033.{ .name = "fansi-escape-codes" },
1034.{ .name = "fapinotes" },
1035.{ .name = "fapinotes-modules" },
1036.{ .name = "fapple-kext" },
1037.{ .name = "fapple-link-rtlib" },
1038.{ .name = "fapple-pragma-pack" },
1039.{ .name = "fapplication-extension" },
1040.{ .name = "fapply-global-visibility-to-externs" },
1041.{ .name = "fapprox-func" },
1042.{ .name = "fasm" },
1043.{ .name = "fasm-blocks" },
1044.{ .name = "fassociative-math" },
1045.{ .name = "fassume-nothrow-exception-dtor" },
1046.{ .name = "fassume-sane-operator-new" },
1047.{ .name = "fassume-unique-vtables" },
1048.{ .name = "fassumptions" },
1049.{ .name = "fast" },
1050.{ .name = "fastcp" },
1051.{ .name = "fastf" },
1052.{ .name = "fasync-exceptions" },
1053.{ .name = "fasynchronous-unwind-tables", .ze = .asynchronous_unwind_tables },
1054.{ .name = "fatomic-fine-grained-memory" },
1055.{ .name = "fatomic-ignore-denormal-mode" },
1056.{ .name = "fatomic-remote-memory" },
1057.{ .name = "fauto-import" },
1058.{ .name = "fauto-profile-accurate" },
1059.{ .name = "fautolink" },
1060.{ .name = "fautomatic" },
1061.{ .name = "fbackslash" },
1062.{ .name = "fbacktrace" },
1063.{ .name = "fbasic-block-address-map" },
1064.{ .name = "fblocks" },
1065.{ .name = "fblocks-runtime-optional" },
1066.{ .name = "fborland-extensions" },
1067.{ .name = "fbounds-check" },
1068.{ .name = "fexperimental-bounds-safety" },
1069.{ .name = "fbracket-depth", .syntax = .separate },
1070.{ .name = "fbranch-count-reg" },
1071.{ .name = "fbuiltin", .ze = .builtin },
1072.{ .name = "fbuiltin-headers-in-system-modules" },
1073.{ .name = "fbuiltin-module-map" },
1074.{ .name = "fcall-saved-x10" },
1075.{ .name = "fcall-saved-x11" },
1076.{ .name = "fcall-saved-x12" },
1077.{ .name = "fcall-saved-x13" },
1078.{ .name = "fcall-saved-x14" },
1079.{ .name = "fcall-saved-x15" },
1080.{ .name = "fcall-saved-x18" },
1081.{ .name = "fcall-saved-x8" },
1082.{ .name = "fcall-saved-x9" },
1083.{ .name = "fcaller-saves" },
1084.{ .name = "fcaret-diagnostics", .ze = .color_diagnostics },
1085.{ .name = "fcf-protection" },
1086.{ .name = "fcgl", .psl = true },
1087.{ .name = "fchar8_t" },
1088.{ .name = "fcheck-array-temporaries" },
1089.{ .name = "fcheck-new" },
1090.{ .name = "fclangir" },
1091.{ .name = "fcodegen-data-generate" },
1092.{ .name = "fcodegen-data-use" },
1093.{ .name = "fcolor-diagnostics", .ze = .color_diagnostics },
1094.{ .name = "fcommon" },
1095.{ .name = "fcompatibility-qualified-id-block-type-checking" },
1096.{ .name = "fcomplete-member-pointers" },
1097.{ .name = "fconst-strings" },
1098.{ .name = "fconstant-cfstrings" },
1099.{ .name = "fconstant-string-class", .syntax = .separate },
1100.{ .name = "fconvergent-functions" },
1101.{ .name = "fcoro-aligned-allocation" },
1102.{ .name = "fcoroutines" },
1103.{ .name = "fcoverage-mapping" },
1104.{ .name = "fcrash-diagnostics" },
1105.{ .name = "fcray-pointer" },
1106.{ .name = "fcreate-profile" },
1107.{ .name = "fcs-profile-generate" },
1108.{ .name = "fctor-dtor-return-this" },
1109.{ .name = "fcuda-allow-variadic-functions" },
1110.{ .name = "fcuda-flush-denormals-to-zero" },
1111.{ .name = "fcuda-include-gpubinary", .syntax = .separate },
1112.{ .name = "fcuda-is-device" },
1113.{ .name = "fcuda-short-ptr" },
1114.{ .name = "fcx-fortran-rules" },
1115.{ .name = "fcx-limited-range" },
1116.{ .name = "fcxx-exceptions" },
1117.{ .name = "fcxx-modules" },
1118.{ .name = "fd-lines-as-code" },
1119.{ .name = "fd-lines-as-comments" },
1120.{ .name = "fdata-sections", .ze = .data_sections },
1121.{ .name = "fdebug-compilation-dir", .syntax = .separate },
1122.{ .name = "fdebug-dump-all" },
1123.{ .name = "fdebug-dump-parse-tree" },
1124.{ .name = "fdebug-dump-parse-tree-no-sema" },
1125.{ .name = "fdebug-dump-parsing-log" },
1126.{ .name = "fdebug-dump-pft" },
1127.{ .name = "fdebug-dump-provenance" },
1128.{ .name = "fdebug-dump-symbols" },
1129.{ .name = "fdebug-info-for-profiling" },
1130.{ .name = "fdebug-macro" },
1131.{ .name = "fdebug-measure-parse-tree" },
1132.{ .name = "fdebug-module-writer" },
1133.{ .name = "fdebug-pass-arguments" },
1134.{ .name = "fdebug-pass-manager" },
1135.{ .name = "fdebug-pass-structure" },
1136.{ .name = "fdebug-pre-fir-tree" },
1137.{ .name = "fdebug-ranges-base-address" },
1138.{ .name = "fdebug-types-section" },
1139.{ .name = "fdebug-unparse" },
1140.{ .name = "fdebug-unparse-no-sema" },
1141.{ .name = "fdebug-unparse-with-modules" },
1142.{ .name = "fdebug-unparse-with-symbols" },
1143.{ .name = "fdebugger-cast-result-to-id" },
1144.{ .name = "fdebugger-objc-literal" },
1145.{ .name = "fdebugger-support" },
1146.{ .name = "fdeclare-opencl-builtins" },
1147.{ .name = "fdeclspec" },
1148.{ .name = "fdefault-double-8" },
1149.{ .name = "fdefault-inline" },
1150.{ .name = "fdefault-integer-8" },
1151.{ .name = "fdefault-real-8" },
1152.{ .name = "fdefine-target-os-macros" },
1153.{ .name = "fdelayed-template-parsing" },
1154.{ .name = "fdelete-null-pointer-checks" },
1155.{ .name = "fdeprecated-macro" },
1156.{ .name = "fdevirtualize" },
1157.{ .name = "fdevirtualize-speculatively" },
1158.{ .name = "fdiagnostics-absolute-paths" },
1159.{ .name = "fdiagnostics-fixit-info" },
1160.{ .name = "fdiagnostics-format", .syntax = .separate },
1161.{ .name = "fdiagnostics-parseable-fixits" },
1162.{ .name = "fdiagnostics-print-source-range-info" },
1163.{ .name = "fdiagnostics-show-category", .syntax = .separate },
1164.{ .name = "fdiagnostics-show-hotness" },
1165.{ .name = "fdiagnostics-show-line-numbers" },
1166.{ .name = "fdiagnostics-show-note-include-stack" },
1167.{ .name = "fdiagnostics-show-option" },
1168.{ .name = "fdiagnostics-show-template-tree" },
1169.{ .name = "fdigraphs" },
1170.{ .name = "fdirect-access-external-data" },
1171.{ .name = "fdirectives-only" },
1172.{ .name = "fdisable-block-signature-string" },
1173.{ .name = "fdisable-integer-16" },
1174.{ .name = "fdisable-integer-2" },
1175.{ .name = "fdisable-module-hash" },
1176.{ .name = "fdisable-real-10" },
1177.{ .name = "fdisable-real-3" },
1178.{ .name = "fdiscard-value-names" },
1179.{ .name = "fdollar-ok" },
1180.{ .name = "fdollars-in-identifiers" },
1181.{ .name = "fdouble-square-bracket-attributes" },
1182.{ .name = "fdriver-only" },
1183.{ .name = "fdump-fortran-optimized" },
1184.{ .name = "fdump-fortran-original" },
1185.{ .name = "fdump-parse-tree" },
1186.{ .name = "fdump-record-layouts" },
1187.{ .name = "fdump-record-layouts-canonical" },
1188.{ .name = "fdump-record-layouts-complete" },
1189.{ .name = "fdump-record-layouts-simple" },
1190.{ .name = "fdump-vtable-layouts" },
1191.{ .name = "fdwarf2-cfi-asm" },
1192.{ .name = "fdwarf-directory-asm" },
1193.{ .name = "fdwarf-exceptions" },
1194.{ .name = "felide-constructors" },
1195.{ .name = "feliminate-unused-debug-symbols" },
1196.{ .name = "feliminate-unused-debug-types" },
1197.{ .name = "fembed-bitcode" },
1198.{ .name = "fembed-bitcode-marker" },
1199.{ .name = "femit-all-decls" },
1200.{ .name = "femit-compact-unwind-non-canonical" },
1201.{ .name = "femulated-tls" },
1202.{ .name = "fenable-matrix" },
1203.{ .name = "fencode-extended-block-signature" },
1204.{ .name = "ferror-limit", .syntax = .separate },
1205.{ .name = "fescaping-block-tail-calls" },
1206.{ .name = "fexceptions" },
1207.{ .name = "fexperimental-isel" },
1208.{ .name = "fexperimental-late-parse-attributes" },
1209.{ .name = "fexperimental-library" },
1210.{ .name = "fexperimental-new-constant-interpreter" },
1211.{ .name = "fexperimental-omit-vtable-rtti" },
1212.{ .name = "fexperimental-relative-c++-abi-vtables" },
1213.{ .name = "fexperimental-sanitize-metadata=atomics" },
1214.{ .name = "fexperimental-sanitize-metadata=covered" },
1215.{ .name = "fexperimental-sanitize-metadata=uar" },
1216.{ .name = "fexperimental-strict-floating-point" },
1217.{ .name = "fextend-variable-liveness" },
1218.{ .name = "fexternal-blas" },
1219.{ .name = "fexternc-nounwind" },
1220.{ .name = "ff2c" },
1221.{ .name = "ffake-address-space-map" },
1222.{ .name = "ffast-math" },
1223.{ .name = "ffat-lto-objects" },
1224.{ .name = "ffile-reproducible" },
1225.{ .name = "fimplicit-modules-use-lock" },
1226.{ .name = "ffine-grained-bitfield-accesses" },
1227.{ .name = "ffinite-loops" },
1228.{ .name = "ffinite-math-only" },
1229.{ .name = "finline-limit" },
1230.{ .name = "ffixed-a0" },
1231.{ .name = "ffixed-a1" },
1232.{ .name = "ffixed-a2" },
1233.{ .name = "ffixed-a3" },
1234.{ .name = "ffixed-a4" },
1235.{ .name = "ffixed-a5" },
1236.{ .name = "ffixed-a6" },
1237.{ .name = "ffixed-d0" },
1238.{ .name = "ffixed-d1" },
1239.{ .name = "ffixed-d2" },
1240.{ .name = "ffixed-d3" },
1241.{ .name = "ffixed-d4" },
1242.{ .name = "ffixed-d5" },
1243.{ .name = "ffixed-d6" },
1244.{ .name = "ffixed-d7" },
1245.{ .name = "ffixed-form" },
1246.{ .name = "ffixed-g1" },
1247.{ .name = "ffixed-g2" },
1248.{ .name = "ffixed-g3" },
1249.{ .name = "ffixed-g4" },
1250.{ .name = "ffixed-g5" },
1251.{ .name = "ffixed-g6" },
1252.{ .name = "ffixed-g7" },
1253.{ .name = "ffixed-i0" },
1254.{ .name = "ffixed-i1" },
1255.{ .name = "ffixed-i2" },
1256.{ .name = "ffixed-i3" },
1257.{ .name = "ffixed-i4" },
1258.{ .name = "ffixed-i5" },
1259.{ .name = "ffixed-l0" },
1260.{ .name = "ffixed-l1" },
1261.{ .name = "ffixed-l2" },
1262.{ .name = "ffixed-l3" },
1263.{ .name = "ffixed-l4" },
1264.{ .name = "ffixed-l5" },
1265.{ .name = "ffixed-l6" },
1266.{ .name = "ffixed-l7" },
1267.{ .name = "ffixed-o0" },
1268.{ .name = "ffixed-o1" },
1269.{ .name = "ffixed-o2" },
1270.{ .name = "ffixed-o3" },
1271.{ .name = "ffixed-o4" },
1272.{ .name = "ffixed-o5" },
1273.{ .name = "ffixed-point" },
1274.{ .name = "ffixed-r19" },
1275.{ .name = "ffixed-r9" },
1276.{ .name = "ffixed-x1" },
1277.{ .name = "ffixed-x10" },
1278.{ .name = "ffixed-x11" },
1279.{ .name = "ffixed-x12" },
1280.{ .name = "ffixed-x13" },
1281.{ .name = "ffixed-x14" },
1282.{ .name = "ffixed-x15" },
1283.{ .name = "ffixed-x16" },
1284.{ .name = "ffixed-x17" },
1285.{ .name = "ffixed-x18" },
1286.{ .name = "ffixed-x19" },
1287.{ .name = "ffixed-x2" },
1288.{ .name = "ffixed-x20" },
1289.{ .name = "ffixed-x21" },
1290.{ .name = "ffixed-x22" },
1291.{ .name = "ffixed-x23" },
1292.{ .name = "ffixed-x24" },
1293.{ .name = "ffixed-x25" },
1294.{ .name = "ffixed-x26" },
1295.{ .name = "ffixed-x27" },
1296.{ .name = "ffixed-x28" },
1297.{ .name = "ffixed-x29" },
1298.{ .name = "ffixed-x3" },
1299.{ .name = "ffixed-x30" },
1300.{ .name = "ffixed-x31" },
1301.{ .name = "ffixed-x4" },
1302.{ .name = "ffixed-x5" },
1303.{ .name = "ffixed-x6" },
1304.{ .name = "ffixed-x7" },
1305.{ .name = "ffixed-x8" },
1306.{ .name = "ffixed-x9" },
1307.{ .name = "ffloat-store" },
1308.{ .name = "ffor-scope" },
1309.{ .name = "fforbid-guard-variables" },
1310.{ .name = "fforce-check-cxx20-modules-input-files" },
1311.{ .name = "fforce-dwarf-frame" },
1312.{ .name = "fforce-emit-vtables" },
1313.{ .name = "fforce-enable-int128" },
1314.{ .name = "ffree-form" },
1315.{ .name = "ffreestanding" },
1316.{ .name = "ffriend-injection" },
1317.{ .name = "ffrontend-optimize" },
1318.{ .name = "ffunction-attribute-list" },
1319.{ .name = "ffunction-sections", .ze = .function_sections },
1320.{ .name = "fgcse" },
1321.{ .name = "fgcse-after-reload" },
1322.{ .name = "fgcse-las" },
1323.{ .name = "fgcse-sm" },
1324.{ .name = "fget-definition", .syntax = .{ .multi_arg = 3 } },
1325.{ .name = "fget-symbols-sources" },
1326.{ .name = "fglobal-isel" },
1327.{ .name = "fgnu" },
1328.{ .name = "fgnu89-inline" },
1329.{ .name = "fgnu-inline-asm" },
1330.{ .name = "fgnu-keywords" },
1331.{ .name = "fgnu-runtime" },
1332.{ .name = "fgpu-allow-device-init" },
1333.{ .name = "fgpu-approx-transcendentals" },
1334.{ .name = "fgpu-defer-diag" },
1335.{ .name = "fgpu-exclude-wrong-side-overloads" },
1336.{ .name = "fgpu-flush-denormals-to-zero" },
1337.{ .name = "fgpu-rdc" },
1338.{ .name = "fgpu-sanitize" },
1339.{ .name = "fhalf-no-semantic-interposition" },
1340.{ .name = "fheinous-gnu-extensions" },
1341.{ .name = "fhermetic-module-files" },
1342.{ .name = "fhip-dump-offload-linker-script" },
1343.{ .name = "fhip-emit-relocatable" },
1344.{ .name = "fhip-fp32-correctly-rounded-divide-sqrt" },
1345.{ .name = "fhip-kernel-arg-name" },
1346.{ .name = "fhip-new-launch-api" },
1347.{ .name = "fhlsl-strict-availability" },
1348.{ .name = "fhonor-infinities" },
1349.{ .name = "fhonor-nans" },
1350.{ .name = "fhosted" },
1351.{ .name = "fignore-exceptions" },
1352.{ .name = "filelist", .syntax = .separate },
1353.{ .name = "filetype", .syntax = .separate },
1354.{ .name = "fimplement-inlines" },
1355.{ .name = "fimplicit-module-maps" },
1356.{ .name = "fimplicit-modules" },
1357.{ .name = "fimplicit-none" },
1358.{ .name = "fimplicit-none-ext" },
1359.{ .name = "fimplicit-templates" },
1360.{ .name = "finclude-default-header" },
1361.{ .name = "fincremental-extensions" },
1362.{ .name = "finit-global-zero" },
1363.{ .name = "finit-local-zero" },
1364.{ .name = "finline" },
1365.{ .name = "finline-functions" },
1366.{ .name = "finline-functions-called-once" },
1367.{ .name = "finline-hint-functions" },
1368.{ .name = "finline-small-functions" },
1369.{ .name = "finstrument-function-entry-bare" },
1370.{ .name = "finstrument-functions" },
1371.{ .name = "finstrument-functions-after-inlining" },
1372.{ .name = "finteger-4-integer-8" },
1373.{ .name = "fintegrated-as" },
1374.{ .name = "fintegrated-cc1" },
1375.{ .name = "fintegrated-objemitter" },
1376.{ .name = "fintrinsic-modules-path", .syntax = .separate },
1377.{ .name = "fipa-cp" },
1378.{ .name = "fivopts" },
1379.{ .name = "fix-only-warnings" },
1380.{ .name = "fix-what-you-can" },
1381.{ .name = "fixit" },
1382.{ .name = "fixit-recompile" },
1383.{ .name = "fixit-to-temporary" },
1384.{ .name = "fjmc" },
1385.{ .name = "fjump-tables" },
1386.{ .name = "fkeep-persistent-storage-variables" },
1387.{ .name = "fkeep-static-consts" },
1388.{ .name = "fkeep-system-includes" },
1389.{ .name = "flang-deprecated-no-hlfir" },
1390.{ .name = "flang-experimental-hlfir" },
1391.{ .name = "flarge-sizes" },
1392.{ .name = "flat_namespace" },
1393.{ .name = "flax-vector-conversions" },
1394.{ .name = "fexperimental-lifetime-safety" },
1395.{ .name = "flimit-debug-info" },
1396.{ .name = "flogical-abbreviations" },
1397.{ .name = "floop-interchange" },
1398.{ .name = "fversion-loops-for-stride" },
1399.{ .name = "flto", .ze = .lto },
1400.{ .name = "flto=auto", .ze = .lto },
1401.{ .name = "flto=jobserver", .ze = .lto },
1402.{ .name = "flto-unit" },
1403.{ .name = "flto-visibility-public-std" },
1404.{ .name = "fmath-errno" },
1405.{ .name = "fmax-identifier-length" },
1406.{ .name = "fcoverage-mcdc" },
1407.{ .name = "fmemory-profile" },
1408.{ .name = "fmerge-all-constants" },
1409.{ .name = "fmerge-constants" },
1410.{ .name = "fmerge-functions" },
1411.{ .name = "fminimize-whitespace" },
1412.{ .name = "fmodule-feature", .syntax = .separate },
1413.{ .name = "fmodule-file-deps" },
1414.{ .name = "fmodule-file-home-is-cwd" },
1415.{ .name = "fmodule-header" },
1416.{ .name = "fmodule-implementation-of", .syntax = .separate },
1417.{ .name = "fmodule-map-file-home-is-cwd" },
1418.{ .name = "fmodule-maps" },
1419.{ .name = "fmodule-output" },
1420.{ .name = "fmodule-private" },
1421.{ .name = "fmodulemap-allow-subdirectory-search" },
1422.{ .name = "fmodules" },
1423.{ .name = "fmodules-codegen" },
1424.{ .name = "fmodules-debuginfo" },
1425.{ .name = "fmodules-decluse" },
1426.{ .name = "fmodules-disable-diagnostic-validation" },
1427.{ .name = "fmodules-force-validate-user-headers" },
1428.{ .name = "fmodules-hash-content" },
1429.{ .name = "fmodules-local-submodule-visibility" },
1430.{ .name = "fmodules-search-all" },
1431.{ .name = "fmodules-skip-diagnostic-options" },
1432.{ .name = "fmodules-skip-header-search-paths" },
1433.{ .name = "fmodules-strict-context-hash" },
1434.{ .name = "fmodules-strict-decluse" },
1435.{ .name = "fmodules-user-build-path", .syntax = .separate },
1436.{ .name = "fmodules-validate-input-files-content" },
1437.{ .name = "fmodules-validate-once-per-build-session" },
1438.{ .name = "fmodules-validate-system-headers" },
1439.{ .name = "fmodulo-sched" },
1440.{ .name = "fmodulo-sched-allow-regmoves" },
1441.{ .name = "fms-compatibility" },
1442.{ .name = "fms-define-stdc" },
1443.{ .name = "fms-extensions" },
1444.{ .name = "fms-hotpatch" },
1445.{ .name = "fms-kernel" },
1446.{ .name = "fms-tls-guards" },
1447.{ .name = "fms-volatile" },
1448.{ .name = "fmudflap" },
1449.{ .name = "fmudflapth" },
1450.{ .name = "fnative-half-arguments-and-returns" },
1451.{ .name = "fnative-half-type" },
1452.{ .name = "fnested-functions" },
1453.{ .name = "fnew-infallible" },
1454.{ .name = "fnext-runtime" },
1455.{ .name = "fno-PIC", .ze = .no_pic },
1456.{ .name = "fno-PIE", .ze = .no_pie },
1457.{ .name = "fno-aapcs-bitfield-width" },
1458.{ .name = "fno-aarch64-jump-table-hardening" },
1459.{ .name = "fno-access-control" },
1460.{ .name = "fno-addrsig" },
1461.{ .name = "fno-aggressive-function-elimination" },
1462.{ .name = "fno-align-commons" },
1463.{ .name = "fno-align-functions" },
1464.{ .name = "fno-align-jumps" },
1465.{ .name = "fno-align-labels" },
1466.{ .name = "fno-align-loops" },
1467.{ .name = "fno-aligned-allocation" },
1468.{ .name = "fno-all-intrinsics" },
1469.{ .name = "fno-allow-editor-placeholders" },
1470.{ .name = "fno-altivec" },
1471.{ .name = "fno-analyzed-objects-for-unparse" },
1472.{ .name = "fno-android-pad-segment" },
1473.{ .name = "fno-keep-inline-functions" },
1474.{ .name = "fno-unit-at-a-time" },
1475.{ .name = "fno-apinotes" },
1476.{ .name = "fno-apinotes-modules" },
1477.{ .name = "fno-apple-pragma-pack" },
1478.{ .name = "fno-application-extension" },
1479.{ .name = "fno-approx-func" },
1480.{ .name = "fno-asm" },
1481.{ .name = "fno-asm-blocks" },
1482.{ .name = "fno-associative-math" },
1483.{ .name = "fno-assume-nothrow-exception-dtor" },
1484.{ .name = "fno-assume-sane-operator-new" },
1485.{ .name = "fno-assume-unique-vtables" },
1486.{ .name = "fno-assumptions" },
1487.{ .name = "fno-async-exceptions" },
1488.{ .name = "fno-asynchronous-unwind-tables", .ze = .no_asynchronous_unwind_tables },
1489.{ .name = "fno-atomic-fine-grained-memory" },
1490.{ .name = "fno-atomic-ignore-denormal-mode" },
1491.{ .name = "fno-atomic-remote-memory" },
1492.{ .name = "fno-auto-import" },
1493.{ .name = "fno-auto-profile" },
1494.{ .name = "fno-auto-profile-accurate" },
1495.{ .name = "fno-autolink" },
1496.{ .name = "fno-automatic" },
1497.{ .name = "fno-backslash" },
1498.{ .name = "fno-backtrace" },
1499.{ .name = "fno-basic-block-address-map" },
1500.{ .name = "fno-bitfield-type-align" },
1501.{ .name = "fno-blocks" },
1502.{ .name = "fno-borland-extensions" },
1503.{ .name = "fno-bounds-check" },
1504.{ .name = "fno-experimental-bounds-safety" },
1505.{ .name = "fno-branch-count-reg" },
1506.{ .name = "fno-builtin", .ze = .no_builtin },
1507.{ .name = "fno-caller-saves" },
1508.{ .name = "fno-caret-diagnostics", .ze = .no_color_diagnostics },
1509.{ .name = "fno-char8_t" },
1510.{ .name = "fno-check-array-temporaries" },
1511.{ .name = "fno-check-new" },
1512.{ .name = "fno-clangir" },
1513.{ .name = "fno-color-diagnostics", .ze = .no_color_diagnostics },
1514.{ .name = "fno-common" },
1515.{ .name = "fno-complete-member-pointers" },
1516.{ .name = "fno-const-strings" },
1517.{ .name = "fno-constant-cfstrings" },
1518.{ .name = "fno-convergent-functions" },
1519.{ .name = "fno-coro-aligned-allocation" },
1520.{ .name = "fno-coroutines" },
1521.{ .name = "fno-coverage-mapping" },
1522.{ .name = "fno-crash-diagnostics" },
1523.{ .name = "fno-cray-pointer" },
1524.{ .name = "fno-cuda-flush-denormals-to-zero" },
1525.{ .name = "fno-cuda-host-device-constexpr" },
1526.{ .name = "fno-cuda-short-ptr" },
1527.{ .name = "fno-cx-fortran-rules" },
1528.{ .name = "fno-cx-limited-range" },
1529.{ .name = "fno-cxx-exceptions" },
1530.{ .name = "fno-cxx-modules" },
1531.{ .name = "fno-d-lines-as-code" },
1532.{ .name = "fno-d-lines-as-comments" },
1533.{ .name = "fno-data-sections", .ze = .no_data_sections },
1534.{ .name = "fno-debug-info-for-profiling" },
1535.{ .name = "fno-debug-macro" },
1536.{ .name = "fno-debug-pass-manager" },
1537.{ .name = "fno-debug-ranges-base-address" },
1538.{ .name = "fno-debug-types-section" },
1539.{ .name = "fno-declspec" },
1540.{ .name = "fno-default-inline" },
1541.{ .name = "fno-define-target-os-macros" },
1542.{ .name = "fno-delayed-template-parsing" },
1543.{ .name = "fno-delete-null-pointer-checks" },
1544.{ .name = "fno-deprecated-macro" },
1545.{ .name = "fno-devirtualize" },
1546.{ .name = "fno-devirtualize-speculatively" },
1547.{ .name = "fno-diagnostics-fixit-info" },
1548.{ .name = "fno-diagnostics-show-hotness" },
1549.{ .name = "fno-diagnostics-show-line-numbers" },
1550.{ .name = "fno-diagnostics-show-note-include-stack" },
1551.{ .name = "fno-diagnostics-show-option" },
1552.{ .name = "fno-diagnostics-use-presumed-location" },
1553.{ .name = "fno-digraphs" },
1554.{ .name = "fno-direct-access-external-data" },
1555.{ .name = "fno-directives-only" },
1556.{ .name = "fno-disable-block-signature-string" },
1557.{ .name = "fno-discard-value-names" },
1558.{ .name = "fno-dllexport-inlines" },
1559.{ .name = "fno-dollar-ok" },
1560.{ .name = "fno-dollars-in-identifiers" },
1561.{ .name = "fno-double-square-bracket-attributes" },
1562.{ .name = "fno-dump-fortran-optimized" },
1563.{ .name = "fno-dump-fortran-original" },
1564.{ .name = "fno-dump-parse-tree" },
1565.{ .name = "fno-dwarf2-cfi-asm" },
1566.{ .name = "fno-dwarf-directory-asm" },
1567.{ .name = "fno-elide-constructors" },
1568.{ .name = "fno-elide-type" },
1569.{ .name = "fno-eliminate-unused-debug-symbols" },
1570.{ .name = "fno-eliminate-unused-debug-types" },
1571.{ .name = "fno-emit-compact-unwind-non-canonical" },
1572.{ .name = "fno-emulated-tls" },
1573.{ .name = "fno-escaping-block-tail-calls" },
1574.{ .name = "fno-exceptions" },
1575.{ .name = "fno-experimental-isel" },
1576.{ .name = "fno-experimental-late-parse-attributes" },
1577.{ .name = "fno-experimental-library" },
1578.{ .name = "fno-experimental-omit-vtable-rtti" },
1579.{ .name = "fno-experimental-relative-c++-abi-vtables" },
1580.{ .name = "fno-external-blas" },
1581.{ .name = "fno-f2c" },
1582.{ .name = "fno-fast-math" },
1583.{ .name = "fno-fat-lto-objects" },
1584.{ .name = "fno-file-reproducible" },
1585.{ .name = "fno-implicit-modules-use-lock" },
1586.{ .name = "fno-fine-grained-bitfield-accesses" },
1587.{ .name = "fno-finite-loops" },
1588.{ .name = "fno-finite-math-only" },
1589.{ .name = "fno-inline-limit" },
1590.{ .name = "fno-fixed-point" },
1591.{ .name = "fno-float-store" },
1592.{ .name = "fno-for-scope" },
1593.{ .name = "fno-force-dwarf-frame" },
1594.{ .name = "fno-force-emit-vtables" },
1595.{ .name = "fno-force-enable-int128" },
1596.{ .name = "fno-friend-injection" },
1597.{ .name = "fno-frontend-optimize" },
1598.{ .name = "fno-function-attribute-list" },
1599.{ .name = "fno-function-sections", .ze = .no_function_sections },
1600.{ .name = "fno-gcse" },
1601.{ .name = "fno-gcse-after-reload" },
1602.{ .name = "fno-gcse-las" },
1603.{ .name = "fno-gcse-sm" },
1604.{ .name = "fno-global-isel" },
1605.{ .name = "fno-gnu" },
1606.{ .name = "fno-gnu89-inline" },
1607.{ .name = "fno-gnu-inline-asm" },
1608.{ .name = "fno-gnu-keywords" },
1609.{ .name = "fno-gpu-allow-device-init" },
1610.{ .name = "fno-gpu-approx-transcendentals" },
1611.{ .name = "fno-gpu-defer-diag" },
1612.{ .name = "fno-gpu-exclude-wrong-side-overloads" },
1613.{ .name = "fno-gpu-flush-denormals-to-zero" },
1614.{ .name = "fno-gpu-rdc" },
1615.{ .name = "fno-gpu-sanitize" },
1616.{ .name = "fno-hip-emit-relocatable" },
1617.{ .name = "fno-hip-fp32-correctly-rounded-divide-sqrt" },
1618.{ .name = "fno-hip-kernel-arg-name" },
1619.{ .name = "fno-hip-new-launch-api" },
1620.{ .name = "fno-honor-infinities" },
1621.{ .name = "fno-honor-nans" },
1622.{ .name = "fno-implement-inlines" },
1623.{ .name = "fno-implicit-module-maps" },
1624.{ .name = "fno-implicit-modules" },
1625.{ .name = "fno-implicit-none" },
1626.{ .name = "fno-implicit-none-ext" },
1627.{ .name = "fno-implicit-templates" },
1628.{ .name = "fno-init-global-zero" },
1629.{ .name = "fno-init-local-zero" },
1630.{ .name = "fno-inline" },
1631.{ .name = "fno-inline-functions" },
1632.{ .name = "fno-inline-functions-called-once" },
1633.{ .name = "fno-inline-small-functions" },
1634.{ .name = "fno-integer-4-integer-8" },
1635.{ .name = "fno-integrated-as" },
1636.{ .name = "fno-integrated-cc1" },
1637.{ .name = "fno-integrated-objemitter" },
1638.{ .name = "fno-ipa-cp" },
1639.{ .name = "fno-ivopts" },
1640.{ .name = "fno-jmc" },
1641.{ .name = "fno-jump-tables" },
1642.{ .name = "fno-keep-persistent-storage-variables" },
1643.{ .name = "fno-keep-static-consts" },
1644.{ .name = "fno-keep-system-includes" },
1645.{ .name = "fno-knr-functions" },
1646.{ .name = "fno-lax-vector-conversions" },
1647.{ .name = "fno-experimental-lifetime-safety" },
1648.{ .name = "fno-limit-debug-info" },
1649.{ .name = "fno-logical-abbreviations" },
1650.{ .name = "fno-loop-interchange" },
1651.{ .name = "fno-version-loops-for-stride" },
1652.{ .name = "fno-lto", .ze = .no_lto },
1653.{ .name = "fno-lto-unit" },
1654.{ .name = "fno-math-builtin" },
1655.{ .name = "fno-math-errno" },
1656.{ .name = "fno-max-identifier-length" },
1657.{ .name = "fno-max-type-align" },
1658.{ .name = "fno-coverage-mcdc" },
1659.{ .name = "fno-memory-profile" },
1660.{ .name = "fno-merge-all-constants" },
1661.{ .name = "fno-merge-constants" },
1662.{ .name = "fno-minimize-whitespace" },
1663.{ .name = "fno-module-file-deps" },
1664.{ .name = "fno-module-maps" },
1665.{ .name = "fno-module-private" },
1666.{ .name = "fno-modulemap-allow-subdirectory-search" },
1667.{ .name = "fno-modules" },
1668.{ .name = "fno-modules-decluse" },
1669.{ .name = "fno-modules-error-recovery" },
1670.{ .name = "fno-modules-force-validate-user-headers" },
1671.{ .name = "fno-modules-global-index" },
1672.{ .name = "fno-modules-prune-non-affecting-module-map-files" },
1673.{ .name = "fno-modules-search-all" },
1674.{ .name = "fno-modules-share-filemanager" },
1675.{ .name = "fno-modules-skip-diagnostic-options" },
1676.{ .name = "fno-modules-skip-header-search-paths" },
1677.{ .name = "fno-strict-modules-decluse" },
1678.{ .name = "fno_modules-validate-input-files-content" },
1679.{ .name = "fno-modules-validate-system-headers" },
1680.{ .name = "fno-modules-validate-textual-header-includes" },
1681.{ .name = "fno-modulo-sched" },
1682.{ .name = "fno-modulo-sched-allow-regmoves" },
1683.{ .name = "fno-ms-compatibility" },
1684.{ .name = "fno-ms-extensions" },
1685.{ .name = "fno-ms-tls-guards" },
1686.{ .name = "fno-ms-volatile" },
1687.{ .name = "fno-new-infallible" },
1688.{ .name = "fno-non-call-exceptions" },
1689.{ .name = "fno-objc-arc" },
1690.{ .name = "fno-objc-arc-exceptions" },
1691.{ .name = "fno-objc-avoid-heapify-local-blocks" },
1692.{ .name = "fno-objc-convert-messages-to-runtime-calls" },
1693.{ .name = "fno-objc-encode-cxx-class-template-spec" },
1694.{ .name = "fno-objc-exceptions" },
1695.{ .name = "fno-objc-infer-related-result-type" },
1696.{ .name = "fno-objc-legacy-dispatch" },
1697.{ .name = "fno-objc-nonfragile-abi" },
1698.{ .name = "fno-objc-weak" },
1699.{ .name = "fno-offload-implicit-host-device-templates" },
1700.{ .name = "fno-offload-lto" },
1701.{ .name = "fno-offload-uniform-block" },
1702.{ .name = "fno-offload-via-llvm" },
1703.{ .name = "fno-omit-frame-pointer", .ze = .no_omit_frame_pointer },
1704.{ .name = "fno-openmp" },
1705.{ .name = "fno-openmp-assume-teams-oversubscription" },
1706.{ .name = "fno-openmp-assume-threads-oversubscription" },
1707.{ .name = "fno-openmp-cuda-mode" },
1708.{ .name = "fno-openmp-extensions" },
1709.{ .name = "fno-openmp-new-driver" },
1710.{ .name = "fno-openmp-optimistic-collapse" },
1711.{ .name = "fno-openmp-simd" },
1712.{ .name = "fno-openmp-target-debug" },
1713.{ .name = "fno-openmp-target-jit" },
1714.{ .name = "fno-openmp-target-new-runtime" },
1715.{ .name = "fno-operator-names" },
1716.{ .name = "fno-optimize-sibling-calls" },
1717.{ .name = "fno-pack-derived" },
1718.{ .name = "fno-pack-struct" },
1719.{ .name = "fno-padding-on-unsigned-fixed-point" },
1720.{ .name = "fno-pascal-strings" },
1721.{ .name = "fno-pch-codegen" },
1722.{ .name = "fno-pch-debuginfo" },
1723.{ .name = "fno-pch-instantiate-templates" },
1724.{ .name = "fno-pch-timestamp" },
1725.{ .name = "fno_pch-validate-input-files-content" },
1726.{ .name = "fno-peel-loops" },
1727.{ .name = "fno-permissive" },
1728.{ .name = "fno-pic", .ze = .no_pic },
1729.{ .name = "fno-pie", .ze = .no_pie },
1730.{ .name = "fno-plt" },
1731.{ .name = "fno-pointer-tbaa" },
1732.{ .name = "fno-ppc-native-vector-element-order" },
1733.{ .name = "fno-prebuilt-implicit-modules" },
1734.{ .name = "fno-prefetch-loop-arrays" },
1735.{ .name = "fno-preserve-as-comments" },
1736.{ .name = "fno-printf" },
1737.{ .name = "fno-profile" },
1738.{ .name = "fno-profile-arcs" },
1739.{ .name = "fno-profile-correction" },
1740.{ .name = "fno-profile-generate" },
1741.{ .name = "fno-profile-generate-sampling" },
1742.{ .name = "fno-profile-instr-generate" },
1743.{ .name = "fno-profile-instr-use" },
1744.{ .name = "fno-profile-reusedist" },
1745.{ .name = "fno-profile-sample-accurate" },
1746.{ .name = "fno-profile-sample-use" },
1747.{ .name = "fno-profile-use" },
1748.{ .name = "fno-profile-values" },
1749.{ .name = "fno-protect-parens" },
1750.{ .name = "fno-pseudo-probe-for-profiling" },
1751.{ .name = "fno-ptrauth-auth-traps" },
1752.{ .name = "fno-ptrauth-block-descriptor-pointers" },
1753.{ .name = "fno-ptrauth-calls" },
1754.{ .name = "fno-ptrauth-elf-got" },
1755.{ .name = "fno-ptrauth-function-pointer-type-discrimination" },
1756.{ .name = "fno-ptrauth-indirect-gotos" },
1757.{ .name = "fno-ptrauth-init-fini" },
1758.{ .name = "fno-ptrauth-init-fini-address-discrimination" },
1759.{ .name = "fno-ptrauth-intrinsics" },
1760.{ .name = "fno-ptrauth-objc-class-ro" },
1761.{ .name = "fno-ptrauth-objc-interface-sel" },
1762.{ .name = "fno-ptrauth-objc-isa" },
1763.{ .name = "fno-ptrauth-returns" },
1764.{ .name = "fno-ptrauth-type-info-vtable-pointer-discrimination" },
1765.{ .name = "fno-ptrauth-vtable-pointer-address-discrimination" },
1766.{ .name = "fno-ptrauth-vtable-pointer-type-discrimination" },
1767.{ .name = "fno-range-check" },
1768.{ .name = "fno-raw-string-literals" },
1769.{ .name = "fno-real-4-real-10" },
1770.{ .name = "fno-real-4-real-16" },
1771.{ .name = "fno-real-4-real-8" },
1772.{ .name = "fno-real-8-real-10" },
1773.{ .name = "fno-real-8-real-16" },
1774.{ .name = "fno-real-8-real-4" },
1775.{ .name = "fno-realloc-lhs" },
1776.{ .name = "fno-reciprocal-math" },
1777.{ .name = "fno-record-command-line" },
1778.{ .name = "fno-recovery-ast" },
1779.{ .name = "fno-recovery-ast-type" },
1780.{ .name = "fno-recursive" },
1781.{ .name = "fno-reformat" },
1782.{ .name = "fno-register-global-dtors-with-atexit" },
1783.{ .name = "fno-regs-graph" },
1784.{ .name = "fno-rename-registers" },
1785.{ .name = "fno-reorder-blocks" },
1786.{ .name = "fno-repack-arrays" },
1787.{ .name = "fno-rewrite-imports" },
1788.{ .name = "fno-rewrite-includes" },
1789.{ .name = "fno-ripa" },
1790.{ .name = "fno-ropi" },
1791.{ .name = "fno-rounding-math" },
1792.{ .name = "fno-rtlib-add-rpath" },
1793.{ .name = "fno-rtlib-defaultlib" },
1794.{ .name = "fno-rtti" },
1795.{ .name = "fno-rtti-data" },
1796.{ .name = "fno-rwpi" },
1797.{ .name = "fno-safe-buffer-usage-suggestions" },
1798.{ .name = "fno-sample-profile-use-profi" },
1799.{ .name = "fno-sanitize-address-globals-dead-stripping" },
1800.{ .name = "fno-sanitize-address-outline-instrumentation" },
1801.{ .name = "fno-sanitize-address-poison-custom-array-cookie" },
1802.{ .name = "fno-sanitize-address-use-after-scope" },
1803.{ .name = "fno-sanitize-address-use-odr-indicator" },
1804.{ .name = "fno-sanitize-annotate-debug-info" },
1805.{ .name = "fno-sanitize-cfi-canonical-jump-tables" },
1806.{ .name = "fno-sanitize-cfi-cross-dso" },
1807.{ .name = "fno-sanitize-hwaddress-experimental-aliasing" },
1808.{ .name = "fno-sanitize-ignorelist" },
1809.{ .name = "fno-sanitize-link-c++-runtime" },
1810.{ .name = "fno-sanitize-link-runtime" },
1811.{ .name = "fno-sanitize-memory-param-retval" },
1812.{ .name = "fno-sanitize-memory-track-origins" },
1813.{ .name = "fno-sanitize-memory-use-after-dtor" },
1814.{ .name = "fno-sanitize-merge" },
1815.{ .name = "fno-sanitize-minimal-runtime" },
1816.{ .name = "fno-sanitize-recover" },
1817.{ .name = "fno-sanitize-stable-abi" },
1818.{ .name = "fno-sanitize-stats" },
1819.{ .name = "fno-sanitize-thread-atomics" },
1820.{ .name = "fno-sanitize-thread-func-entry-exit" },
1821.{ .name = "fno-sanitize-thread-memory-access" },
1822.{ .name = "fno-sanitize-trap", .ze = .no_sanitize_trap },
1823.{ .name = "fno-sanitize-undefined-trap-on-error" },
1824.{ .name = "fno-save-main-program" },
1825.{ .name = "fno-save-optimization-record" },
1826.{ .name = "fno-schedule-insns" },
1827.{ .name = "fno-schedule-insns2" },
1828.{ .name = "fno-second-underscore" },
1829.{ .name = "fno-see" },
1830.{ .name = "fno-semantic-interposition" },
1831.{ .name = "fno-separate-named-sections" },
1832.{ .name = "fno-short-enums" },
1833.{ .name = "fno-short-wchar" },
1834.{ .name = "fno-show-column" },
1835.{ .name = "fno-show-source-location" },
1836.{ .name = "fno-sign-zero" },
1837.{ .name = "fno-signaling-math" },
1838.{ .name = "fno-signaling-nans" },
1839.{ .name = "fno-signed-char" },
1840.{ .name = "fno-signed-wchar" },
1841.{ .name = "fno-signed-zeros" },
1842.{ .name = "fno-single-precision-constant" },
1843.{ .name = "fno-sized-deallocation" },
1844.{ .name = "fno-skip-odr-check-in-gmf" },
1845.{ .name = "fno-slp-vectorize" },
1846.{ .name = "fno-spec-constr-count" },
1847.{ .name = "fno-spell-checking" },
1848.{ .name = "fno-split-dwarf-inlining" },
1849.{ .name = "fno-split-lto-unit" },
1850.{ .name = "fno-split-machine-functions" },
1851.{ .name = "fno-split-stack" },
1852.{ .name = "fno-stack-arrays" },
1853.{ .name = "fno-stack-check", .ze = .no_stack_check },
1854.{ .name = "fno-stack-clash-protection" },
1855.{ .name = "fno-stack-protector", .ze = .no_stack_protector },
1856.{ .name = "fno-stack-repack-arrays" },
1857.{ .name = "fno-stack-size-section" },
1858.{ .name = "fno-standalone-debug" },
1859.{ .name = "fno-strength-reduce" },
1860.{ .name = "fno-strict-aliasing" },
1861.{ .name = "fno-strict-enums" },
1862.{ .name = "fno-strict-float-cast-overflow" },
1863.{ .name = "fno-strict-overflow" },
1864.{ .name = "fno-strict-return" },
1865.{ .name = "fno-strict-vtable-pointers" },
1866.{ .name = "fno-struct-path-tbaa" },
1867.{ .name = "fno-swift-version-independent-apinotes" },
1868.{ .name = "fno-sycl" },
1869.{ .name = "fno-temp-file" },
1870.{ .name = "fno-test-coverage" },
1871.{ .name = "fno-threadsafe-statics" },
1872.{ .name = "fno-tls-model" },
1873.{ .name = "fno-tracer" },
1874.{ .name = "fno-trapping-math" },
1875.{ .name = "fno-tree-dce" },
1876.{ .name = "fno-tree-salias" },
1877.{ .name = "fno-tree-ter" },
1878.{ .name = "fno-tree-vectorizer-verbose" },
1879.{ .name = "fno-tree-vrp" },
1880.{ .name = "fno-trigraphs" },
1881.{ .name = "fno-underscoring" },
1882.{ .name = "fno-unified-lto" },
1883.{ .name = "fno-unique-basic-block-section-names" },
1884.{ .name = "fno-unique-internal-linkage-names" },
1885.{ .name = "fno-unique-section-names" },
1886.{ .name = "fno-unique-source-file-names" },
1887.{ .name = "fno-unroll-all-loops" },
1888.{ .name = "fno-unroll-loops" },
1889.{ .name = "fno-unsafe-loop-optimizations" },
1890.{ .name = "fno-unsafe-math-optimizations" },
1891.{ .name = "fno-unsigned" },
1892.{ .name = "fno-unsigned-char" },
1893.{ .name = "fno-unswitch-loops" },
1894.{ .name = "fno-unwind-tables", .ze = .no_unwind_tables },
1895.{ .name = "fno-use-ctor-homing" },
1896.{ .name = "fno-use-cxa-atexit" },
1897.{ .name = "fno-use-init-array" },
1898.{ .name = "fno-use-line-directives" },
1899.{ .name = "fno-use-linker-plugin" },
1900.{ .name = "fno-validate-pch" },
1901.{ .name = "fno-var-tracking" },
1902.{ .name = "fno-variable-expansion-in-unroller" },
1903.{ .name = "fno-vect-cost-model" },
1904.{ .name = "fno-vectorize" },
1905.{ .name = "fno-verbose-asm" },
1906.{ .name = "fno-verify-intermediate-code" },
1907.{ .name = "fno-virtual-function-elimination" },
1908.{ .name = "fno-visibility-from-dllstorageclass" },
1909.{ .name = "fno-visibility-inlines-hidden" },
1910.{ .name = "fno-visibility-inlines-hidden-static-local-var" },
1911.{ .name = "fno-wchar" },
1912.{ .name = "fno-web" },
1913.{ .name = "fno-whole-file" },
1914.{ .name = "fno-whole-program" },
1915.{ .name = "fno-whole-program-vtables" },
1916.{ .name = "fno-working-directory" },
1917.{ .name = "fno-wrapv" },
1918.{ .name = "fno-wrapv-pointer" },
1919.{ .name = "fno-xl-pragma-pack" },
1920.{ .name = "fno-xor-operator" },
1921.{ .name = "fno-xray-always-emit-customevents" },
1922.{ .name = "fno-xray-always-emit-typedevents" },
1923.{ .name = "fno-xray-function-index" },
1924.{ .name = "fno-xray-ignore-loops" },
1925.{ .name = "fno-xray-instrument" },
1926.{ .name = "fno-xray-link-deps" },
1927.{ .name = "fno-xray-shared" },
1928.{ .name = "fno-zero-initialized-in-bss" },
1929.{ .name = "fno-zos-extensions" },
1930.{ .name = "fno-zvector" },
1931.{ .name = "fnon-call-exceptions" },
1932.{ .name = "fnoopenmp-relocatable-target" },
1933.{ .name = "fnoopenmp-use-tls" },
1934.{ .name = "fobjc-arc" },
1935.{ .name = "fobjc-arc-exceptions" },
1936.{ .name = "fobjc-atdefs" },
1937.{ .name = "fobjc-avoid-heapify-local-blocks" },
1938.{ .name = "fobjc-call-cxx-cdtors" },
1939.{ .name = "fobjc-convert-messages-to-runtime-calls" },
1940.{ .name = "fobjc-disable-direct-methods-for-testing" },
1941.{ .name = "fobjc-encode-cxx-class-template-spec" },
1942.{ .name = "fobjc-exceptions" },
1943.{ .name = "fobjc-gc" },
1944.{ .name = "fobjc-gc-only" },
1945.{ .name = "fobjc-infer-related-result-type" },
1946.{ .name = "fobjc-legacy-dispatch" },
1947.{ .name = "fobjc-link-runtime" },
1948.{ .name = "fobjc-new-property" },
1949.{ .name = "fobjc-nonfragile-abi" },
1950.{ .name = "fobjc-runtime-has-weak" },
1951.{ .name = "fobjc-sender-dependent-dispatch" },
1952.{ .name = "fobjc-subscripting-legacy-runtime" },
1953.{ .name = "fobjc-weak" },
1954.{ .name = "foffload-implicit-host-device-templates" },
1955.{ .name = "foffload-lto" },
1956.{ .name = "foffload-uniform-block" },
1957.{ .name = "foffload-via-llvm" },
1958.{ .name = "fomit-frame-pointer", .ze = .omit_frame_pointer },
1959.{ .name = "fopenacc" },
1960.{ .name = "fopenmp" },
1961.{ .name = "fopenmp-assume-no-nested-parallelism" },
1962.{ .name = "fopenmp-assume-no-thread-state" },
1963.{ .name = "fopenmp-assume-teams-oversubscription" },
1964.{ .name = "fopenmp-assume-threads-oversubscription" },
1965.{ .name = "fopenmp-cuda-mode" },
1966.{ .name = "fopenmp-enable-irbuilder" },
1967.{ .name = "fopenmp-extensions" },
1968.{ .name = "fopenmp-force-usm" },
1969.{ .name = "fopenmp-host-ir-file-path", .syntax = .separate },
1970.{ .name = "fopenmp-is-target-device" },
1971.{ .name = "fopenmp-new-driver" },
1972.{ .name = "fopenmp-offload-mandatory" },
1973.{ .name = "fopenmp-optimistic-collapse" },
1974.{ .name = "fopenmp-relocatable-target" },
1975.{ .name = "fopenmp-simd" },
1976.{ .name = "fopenmp-target-debug" },
1977.{ .name = "fopenmp-target-jit" },
1978.{ .name = "fopenmp-target-new-runtime" },
1979.{ .name = "fopenmp-use-tls" },
1980.{ .name = "foperator-names" },
1981.{ .name = "foptimize-sibling-calls" },
1982.{ .name = "force_cpusubtype_ALL" },
1983.{ .name = "force_flat_namespace" },
1984.{ .name = "force_load", .syntax = .separate },
1985.{ .name = "fpack-derived" },
1986.{ .name = "fpack-struct" },
1987.{ .name = "fpadding-on-unsigned-fixed-point" },
1988.{ .name = "fparse-all-comments" },
1989.{ .name = "fpascal-strings" },
1990.{ .name = "fpass-by-value-is-noalias" },
1991.{ .name = "fpcc-struct-return" },
1992.{ .name = "fpch-codegen" },
1993.{ .name = "fpch-debuginfo" },
1994.{ .name = "fpch-instantiate-templates" },
1995.{ .name = "fpch-preprocess" },
1996.{ .name = "fpch-validate-input-files-content" },
1997.{ .name = "fpeel-loops" },
1998.{ .name = "fpermissive" },
1999.{ .name = "fpic", .ze = .pic },
2000.{ .name = "fpie", .ze = .pie },
2001.{ .name = "fplt" },
2002.{ .name = "fpointer-tbaa" },
2003.{ .name = "fppc-native-vector-element-order" },
2004.{ .name = "fprebuilt-implicit-modules" },
2005.{ .name = "fprefetch-loop-arrays" },
2006.{ .name = "fpreprocess-include-lines" },
2007.{ .name = "fpreserve-as-comments" },
2008.{ .name = "fprintf" },
2009.{ .name = "fprofile" },
2010.{ .name = "fprofile-arcs" },
2011.{ .name = "fprofile-continuous" },
2012.{ .name = "fprofile-correction" },
2013.{ .name = "fprofile-generate" },
2014.{ .name = "fprofile-generate-cold-function-coverage" },
2015.{ .name = "fprofile-generate-sampling" },
2016.{ .name = "fprofile-instr-generate" },
2017.{ .name = "fprofile-instr-use" },
2018.{ .name = "fprofile-reusedist" },
2019.{ .name = "fprofile-sample-accurate" },
2020.{ .name = "fprofile-use" },
2021.{ .name = "fprofile-values" },
2022.{ .name = "fprotect-parens" },
2023.{ .name = "fpseudo-probe-for-profiling" },
2024.{ .name = "fptrauth-auth-traps" },
2025.{ .name = "fptrauth-block-descriptor-pointers" },
2026.{ .name = "fptrauth-calls" },
2027.{ .name = "fptrauth-elf-got" },
2028.{ .name = "fptrauth-function-pointer-type-discrimination" },
2029.{ .name = "fptrauth-indirect-gotos" },
2030.{ .name = "fptrauth-init-fini" },
2031.{ .name = "fptrauth-init-fini-address-discrimination" },
2032.{ .name = "fptrauth-intrinsics" },
2033.{ .name = "fptrauth-objc-class-ro" },
2034.{ .name = "fptrauth-objc-interface-sel" },
2035.{ .name = "fptrauth-objc-isa" },
2036.{ .name = "fptrauth-returns" },
2037.{ .name = "fptrauth-type-info-vtable-pointer-discrimination" },
2038.{ .name = "fptrauth-vtable-pointer-address-discrimination" },
2039.{ .name = "fptrauth-vtable-pointer-type-discrimination" },
2040.{
2041 .name = "framework",
2042 .ze = .framework,
2043 .syntax = .separate,
2044},
2045.{ .name = "frange-check" },
2046.{ .name = "fraw-string-literals" },
2047.{ .name = "freal-4-real-10" },
2048.{ .name = "freal-4-real-16" },
2049.{ .name = "freal-4-real-8" },
2050.{ .name = "freal-8-real-10" },
2051.{ .name = "freal-8-real-16" },
2052.{ .name = "freal-8-real-4" },
2053.{ .name = "frealloc-lhs" },
2054.{ .name = "freciprocal-math" },
2055.{ .name = "frecord-command-line" },
2056.{ .name = "frecovery-ast" },
2057.{ .name = "frecovery-ast-type" },
2058.{ .name = "frecursive" },
2059.{ .name = "freg-struct-return" },
2060.{ .name = "fregister-global-dtors-with-atexit" },
2061.{ .name = "fregs-graph" },
2062.{ .name = "frename-registers" },
2063.{ .name = "freorder-blocks" },
2064.{ .name = "frepack-arrays" },
2065.{ .name = "fretain-comments-from-system-headers" },
2066.{ .name = "frewrite-imports" },
2067.{ .name = "frewrite-includes" },
2068.{ .name = "fripa" },
2069.{ .name = "fropi" },
2070.{ .name = "frounding-math" },
2071.{ .name = "frtlib-add-rpath" },
2072.{ .name = "frtlib-defaultlib" },
2073.{ .name = "frtti" },
2074.{ .name = "frtti-data" },
2075.{ .name = "frwpi" },
2076.{ .name = "fsafe-buffer-usage-suggestions" },
2077.{ .name = "fsample-profile-use-profi" },
2078.{ .name = "fsanitize-address-globals-dead-stripping" },
2079.{ .name = "fsanitize-address-outline-instrumentation" },
2080.{ .name = "fsanitize-address-poison-custom-array-cookie" },
2081.{ .name = "fsanitize-address-use-after-scope" },
2082.{ .name = "fsanitize-address-use-odr-indicator" },
2083.{ .name = "fsanitize-annotate-debug-info" },
2084.{ .name = "fsanitize-cfi-canonical-jump-tables" },
2085.{ .name = "fsanitize-cfi-cross-dso" },
2086.{ .name = "fsanitize-cfi-icall-generalize-pointers" },
2087.{ .name = "fsanitize-cfi-icall-experimental-normalize-integers" },
2088.{ .name = "fsanitize-coverage-8bit-counters" },
2089.{ .name = "fsanitize-coverage-control-flow" },
2090.{ .name = "fsanitize-coverage-indirect-calls" },
2091.{ .name = "fsanitize-coverage-inline-8bit-counters" },
2092.{ .name = "fsanitize-coverage-inline-bool-flag" },
2093.{ .name = "fsanitize-coverage-no-prune" },
2094.{ .name = "fsanitize-coverage-pc-table" },
2095.{ .name = "fsanitize-coverage-stack-depth" },
2096.{ .name = "fsanitize-coverage-trace-bb" },
2097.{ .name = "fsanitize-coverage-trace-cmp" },
2098.{ .name = "fsanitize-coverage-trace-div" },
2099.{ .name = "fsanitize-coverage-trace-gep" },
2100.{ .name = "fsanitize-coverage-trace-loads" },
2101.{ .name = "fsanitize-coverage-trace-pc" },
2102.{ .name = "fsanitize-coverage-trace-pc-guard", .ze = .san_cov_trace_pc_guard },
2103.{ .name = "fsanitize-coverage-trace-stores" },
2104.{ .name = "fsanitize-hwaddress-experimental-aliasing" },
2105.{ .name = "fsanitize-kcfi-arity" },
2106.{ .name = "fsanitize-link-c++-runtime" },
2107.{ .name = "fsanitize-link-runtime" },
2108.{ .name = "fsanitize-memory-param-retval" },
2109.{ .name = "fsanitize-memory-track-origins" },
2110.{ .name = "fsanitize-memory-use-after-dtor" },
2111.{ .name = "fsanitize-merge" },
2112.{ .name = "fsanitize-minimal-runtime" },
2113.{ .name = "fsanitize-recover" },
2114.{ .name = "fsanitize-stable-abi" },
2115.{ .name = "fsanitize-stats" },
2116.{ .name = "fsanitize-thread-atomics" },
2117.{ .name = "fsanitize-thread-func-entry-exit" },
2118.{ .name = "fsanitize-thread-memory-access" },
2119.{ .name = "fsanitize-trap", .ze = .sanitize_trap },
2120.{ .name = "fsanitize-undefined-trap-on-error" },
2121.{ .name = "fsave-main-program" },
2122.{ .name = "fsave-optimization-record" },
2123.{ .name = "fschedule-insns" },
2124.{ .name = "fschedule-insns2" },
2125.{ .name = "fsecond-underscore" },
2126.{ .name = "fsee" },
2127.{ .name = "fseh-exceptions" },
2128.{ .name = "fsemantic-interposition" },
2129.{ .name = "fseparate-named-sections" },
2130.{ .name = "fshort-enums" },
2131.{ .name = "fshort-wchar" },
2132.{ .name = "fshow-column" },
2133.{ .name = "fshow-skipped-includes" },
2134.{ .name = "fshow-source-location" },
2135.{ .name = "fsign-zero" },
2136.{ .name = "fsignaling-math" },
2137.{ .name = "fsignaling-nans" },
2138.{ .name = "fsigned-bitfields" },
2139.{ .name = "fsigned-char" },
2140.{ .name = "fsigned-wchar" },
2141.{ .name = "fsigned-zeros" },
2142.{ .name = "fsingle-precision-constant" },
2143.{ .name = "fsized-deallocation" },
2144.{ .name = "fsjlj-exceptions" },
2145.{ .name = "fskip-odr-check-in-gmf" },
2146.{ .name = "fslp-vectorize" },
2147.{ .name = "fspec-constr-count" },
2148.{ .name = "fspell-checking" },
2149.{ .name = "fsplit-dwarf-inlining" },
2150.{ .name = "fsplit-lto-unit" },
2151.{ .name = "fsplit-machine-functions" },
2152.{ .name = "fsplit-stack" },
2153.{ .name = "fstack-arrays" },
2154.{ .name = "fstack-check", .ze = .stack_check },
2155.{ .name = "fstack-clash-protection" },
2156.{ .name = "fstack-protector", .ze = .stack_protector },
2157.{ .name = "fstack-protector-all", .ze = .stack_protector },
2158.{ .name = "fstack-protector-strong", .ze = .stack_protector },
2159.{ .name = "fstack-repack-arrays" },
2160.{ .name = "fstack-size-section" },
2161.{ .name = "fstack-usage" },
2162.{ .name = "fstandalone-debug" },
2163.{ .name = "fstrength-reduce" },
2164.{ .name = "fstrict-aliasing" },
2165.{ .name = "fstrict-enums" },
2166.{ .name = "fstrict-float-cast-overflow" },
2167.{ .name = "fstrict-overflow" },
2168.{ .name = "fstrict-return" },
2169.{ .name = "fstrict-vtable-pointers" },
2170.{ .name = "fstruct-path-tbaa" },
2171.{ .name = "fswift-version-independent-apinotes" },
2172.{ .name = "fsycl" },
2173.{ .name = "fsycl-device-only" },
2174.{ .name = "fsycl-host-only" },
2175.{ .name = "fsycl-is-device" },
2176.{ .name = "fsycl-is-host" },
2177.{ .name = "fsyntax-only" },
2178.{ .name = "fsystem-module" },
2179.{ .name = "ftabstop", .syntax = .separate },
2180.{ .name = "ftemporal-profile" },
2181.{ .name = "ftest-coverage" },
2182.{ .name = "fthreadsafe-statics" },
2183.{ .name = "ftime-report" },
2184.{ .name = "ftime-report-json" },
2185.{ .name = "ftime-trace" },
2186.{ .name = "ftls-model" },
2187.{ .name = "ftracer" },
2188.{ .name = "ftrapping-math" },
2189.{ .name = "ftrapv" },
2190.{ .name = "ftrapv-handler", .syntax = .separate },
2191.{ .name = "ftree-dce" },
2192.{ .name = "ftree-salias" },
2193.{ .name = "ftree-ter" },
2194.{ .name = "ftree-vectorizer-verbose" },
2195.{ .name = "ftree-vrp" },
2196.{ .name = "ftrigraphs" },
2197.{ .name = "function-alignment", .syntax = .separate },
2198.{ .name = "funderscoring" },
2199.{ .name = "funified-lto" },
2200.{ .name = "funique-basic-block-section-names" },
2201.{ .name = "funique-internal-linkage-names" },
2202.{ .name = "funique-section-names" },
2203.{ .name = "funique-source-file-names" },
2204.{ .name = "funknown-anytype" },
2205.{ .name = "funroll-all-loops" },
2206.{ .name = "funroll-loops" },
2207.{ .name = "funsafe-loop-optimizations" },
2208.{ .name = "funsafe-math-optimizations" },
2209.{ .name = "funsigned" },
2210.{ .name = "funsigned-bitfields" },
2211.{ .name = "funsigned-char" },
2212.{ .name = "funswitch-loops" },
2213.{ .name = "funwind-tables", .ze = .unwind_tables },
2214.{ .name = "fuse-ctor-homing" },
2215.{ .name = "fuse-cxa-atexit" },
2216.{ .name = "fuse-init-array" },
2217.{ .name = "fuse-line-directives" },
2218.{ .name = "fuse-linker-plugin" },
2219.{ .name = "fuse-register-sized-bitfield-access" },
2220.{ .name = "fvalidate-ast-input-files-content" },
2221.{ .name = "fvariable-expansion-in-unroller" },
2222.{ .name = "fvect-cost-model" },
2223.{ .name = "fvectorize" },
2224.{ .name = "fverbose-asm" },
2225.{ .name = "fverify-debuginfo-preserve" },
2226.{ .name = "fverify-intermediate-code" },
2227.{ .name = "fvirtual-function-elimination" },
2228.{ .name = "fvisibility-from-dllstorageclass" },
2229.{ .name = "fvisibility-global-new-delete-hidden" },
2230.{ .name = "fvisibility-inlines-hidden" },
2231.{ .name = "fvisibility-inlines-hidden-static-local-var" },
2232.{ .name = "fvisibility-ms-compat" },
2233.{ .name = "fvk-use-dx-layout", .psl = true },
2234.{ .name = "fvk-use-gl-layout", .psl = true },
2235.{ .name = "fvk-use-scalar-layout", .psl = true },
2236.{ .name = "fwasm-exceptions" },
2237.{ .name = "fweb" },
2238.{ .name = "fwhole-file" },
2239.{ .name = "fwhole-program" },
2240.{ .name = "fwhole-program-vtables" },
2241.{ .name = "fwrapv" },
2242.{ .name = "fwrapv-pointer" },
2243.{ .name = "fwritable-strings" },
2244.{ .name = "fxl-pragma-pack" },
2245.{ .name = "fxor-operator" },
2246.{ .name = "fxray-always-emit-customevents" },
2247.{ .name = "fxray-always-emit-typedevents" },
2248.{ .name = "fxray-function-index" },
2249.{ .name = "fxray-ignore-loops" },
2250.{ .name = "fxray-instrument" },
2251.{ .name = "fxray-link-deps" },
2252.{ .name = "fxray-shared" },
2253.{ .name = "fzero-initialized-in-bss" },
2254.{ .name = "fzos-extensions" },
2255.{ .name = "fzvector" },
2256.{ .name = "g0" },
2257.{ .name = "g1", .ze = .debug },
2258.{ .name = "g2" },
2259.{ .name = "g3" },
2260.{ .name = "g", .ze = .debug },
2261.{ .name = "gcodeview" },
2262.{ .name = "gcodeview-command-line" },
2263.{ .name = "gcodeview-ghash" },
2264.{ .name = "gcolumn-info" },
2265.{ .name = "gdbx" },
2266.{ .name = "gdwarf", .ze = .debug },
2267.{ .name = "gdwarf32", .ze = .gdwarf32 },
2268.{ .name = "gdwarf64", .ze = .gdwarf64 },
2269.{ .name = "gdwarf-2", .ze = .debug },
2270.{ .name = "gdwarf-3", .ze = .debug },
2271.{ .name = "gdwarf-4", .ze = .debug },
2272.{ .name = "gdwarf-5", .ze = .debug },
2273.{ .name = "gdwarf-aranges" },
2274.{ .name = "gembed-source" },
2275.{ .name = "gen-cdb-fragment-path", .syntax = .separate },
2276.{ .name = "gen-reproducer" },
2277.{ .name = "gfull" },
2278.{ .name = "ggdb" },
2279.{ .name = "ggdb0" },
2280.{ .name = "ggdb1" },
2281.{ .name = "ggdb2" },
2282.{ .name = "ggdb3" },
2283.{ .name = "ggnu-pubnames" },
2284.{ .name = "ginline-line-tables" },
2285.{ .name = "gkey-instructions" },
2286.{ .name = "gline-directives-only" },
2287.{ .name = "gline-tables-only", .ze = .debug },
2288.{ .name = "glldb" },
2289.{ .name = "gmlt" },
2290.{ .name = "gmodules" },
2291.{ .name = "gno-codeview-command-line" },
2292.{ .name = "gno-codeview-ghash" },
2293.{ .name = "gno-column-info" },
2294.{ .name = "gno-embed-source" },
2295.{ .name = "gno-gnu-pubnames" },
2296.{ .name = "gno-inline-line-tables" },
2297.{ .name = "gno-key-instructions" },
2298.{ .name = "gno-modules" },
2299.{ .name = "gno-omit-unreferenced-methods" },
2300.{ .name = "gno-pubnames" },
2301.{ .name = "gno-record-command-line" },
2302.{ .name = "gno-simple-template-names" },
2303.{ .name = "gno-split-dwarf" },
2304.{ .name = "gno-strict-dwarf" },
2305.{ .name = "gno-template-alias" },
2306.{ .name = "gomit-unreferenced-methods" },
2307.{
2308 .name = "gpu-bundle-output",
2309 .pd1 = false,
2310 .pd2 = true,
2311},
2312.{
2313 .name = "gpu-use-aux-triple-only",
2314 .pd1 = false,
2315 .pd2 = true,
2316},
2317.{ .name = "gpubnames" },
2318.{ .name = "gpulibc" },
2319.{ .name = "grecord-command-line" },
2320.{ .name = "gsce" },
2321.{ .name = "gsimple-template-names" },
2322.{ .name = "gsplit-dwarf" },
2323.{ .name = "gstrict-dwarf" },
2324.{ .name = "gtemplate-alias" },
2325.{ .name = "gtoggle" },
2326.{ .name = "gused" },
2327.{ .name = "gz" },
2328.{ .name = "header-include-file", .syntax = .separate },
2329.{
2330 .name = "help",
2331 .ze = .driver_punt,
2332 .pd2 = true,
2333},
2334.{
2335 .name = "hip-link",
2336 .pd1 = false,
2337 .pd2 = true,
2338},
2339.{
2340 .name = "hipstdpar",
2341 .pd1 = false,
2342 .pd2 = true,
2343},
2344.{
2345 .name = "hipstdpar-interpose-alloc",
2346 .pd1 = false,
2347 .pd2 = true,
2348},
2349.{ .name = "ibuiltininc" },
2350.{ .name = "ignore-pch" },
2351.{ .name = "image_base", .syntax = .separate },
2352.{ .name = "import-call-optimization" },
2353.{ .name = "imultilib", .syntax = .separate },
2354.{ .name = "include-pch", .syntax = .separate },
2355.{ .name = "init", .syntax = .separate },
2356.{ .name = "init-only" },
2357.{
2358 .name = "install_name",
2359 .ze = .install_name,
2360 .syntax = .separate,
2361},
2362.{ .name = "internal-externc-isystem", .syntax = .separate },
2363.{ .name = "internal-iframework", .syntax = .separate },
2364.{ .name = "internal-isystem", .syntax = .separate },
2365.{ .name = "keep_private_externs" },
2366.{ .name = "lazy_framework", .syntax = .separate },
2367.{ .name = "lazy_library", .syntax = .separate },
2368.{ .name = "llvm-verify-each" },
2369.{ .name = "load", .syntax = .separate },
2370.{ .name = "m16" },
2371.{ .name = "m32" },
2372.{ .name = "m3dnow" },
2373.{ .name = "m3dnowa" },
2374.{ .name = "m64" },
2375.{ .name = "m68000" },
2376.{ .name = "m68010" },
2377.{ .name = "m68020" },
2378.{ .name = "m68030" },
2379.{ .name = "m68040" },
2380.{ .name = "m68060" },
2381.{ .name = "m68881" },
2382.{ .name = "m80387" },
2383.{ .name = "mseses", .ze = .m },
2384.{ .name = "mabi=ieeelongdouble" },
2385.{ .name = "mabi=quadword-atomics" },
2386.{ .name = "mabi=vec-extabi" },
2387.{ .name = "mabicalls" },
2388.{ .name = "madx", .ze = .m },
2389.{ .name = "maes", .ze = .m },
2390.{ .name = "main-file-name", .syntax = .separate },
2391.{ .name = "maix32" },
2392.{ .name = "maix64" },
2393.{ .name = "maix-shared-lib-tls-model-opt" },
2394.{ .name = "maix-small-local-dynamic-tls" },
2395.{ .name = "maix-small-local-exec-tls" },
2396.{ .name = "maix-struct-return" },
2397.{ .name = "malign-double" },
2398.{ .name = "maltivec", .ze = .m },
2399.{ .name = "mamdgpu-ieee" },
2400.{ .name = "mamdgpu-precise-memory-op" },
2401.{ .name = "mamx-avx512", .ze = .m },
2402.{ .name = "mamx-bf16", .ze = .m },
2403.{ .name = "mamx-complex", .ze = .m },
2404.{ .name = "mamx-fp16", .ze = .m },
2405.{ .name = "mamx-fp8", .ze = .m },
2406.{ .name = "mamx-int8", .ze = .m },
2407.{ .name = "mamx-movrs", .ze = .m },
2408.{ .name = "mamx-tf32", .ze = .m },
2409.{ .name = "mamx-tile", .ze = .m },
2410.{ .name = "mamx-transpose", .ze = .m },
2411.{ .name = "mannotate-tablejump" },
2412.{ .name = "mapx-inline-asm-use-gpr32" },
2413.{ .name = "mapxf" },
2414.{ .name = "marm" },
2415.{ .name = "massembler-fatal-warnings" },
2416.{ .name = "massembler-no-warn" },
2417.{ .name = "matomics", .ze = .m },
2418.{ .name = "mavx", .ze = .m },
2419.{ .name = "mavx10.1" },
2420.{ .name = "mavx10.1-256" },
2421.{ .name = "mavx10.1-512", .ze = .m },
2422.{ .name = "mavx10.2" },
2423.{ .name = "mavx10.2-256" },
2424.{ .name = "mavx10.2-512", .ze = .m },
2425.{ .name = "mavx2", .ze = .m },
2426.{ .name = "mavx512bf16", .ze = .m },
2427.{ .name = "mavx512bitalg", .ze = .m },
2428.{ .name = "mavx512bw", .ze = .m },
2429.{ .name = "mavx512cd", .ze = .m },
2430.{ .name = "mavx512dq", .ze = .m },
2431.{ .name = "mavx512f", .ze = .m },
2432.{ .name = "mavx512fp16", .ze = .m },
2433.{ .name = "mavx512ifma", .ze = .m },
2434.{ .name = "mavx512vbmi", .ze = .m },
2435.{ .name = "mavx512vbmi2", .ze = .m },
2436.{ .name = "mavx512vl", .ze = .m },
2437.{ .name = "mavx512vnni", .ze = .m },
2438.{ .name = "mavx512vp2intersect", .ze = .m },
2439.{ .name = "mavx512vpopcntdq", .ze = .m },
2440.{ .name = "mavxifma", .ze = .m },
2441.{ .name = "mavxneconvert", .ze = .m },
2442.{ .name = "mavxvnni", .ze = .m },
2443.{ .name = "mavxvnniint16", .ze = .m },
2444.{ .name = "mavxvnniint8", .ze = .m },
2445.{ .name = "mbackchain", .ze = .m },
2446.{ .name = "mbig-endian" },
2447.{ .name = "mbmi", .ze = .m },
2448.{ .name = "mbmi2", .ze = .m },
2449.{ .name = "mbranch-likely" },
2450.{ .name = "mbranch-protection-pauth-lr" },
2451.{ .name = "mbranch-target-enforce" },
2452.{ .name = "mbranches-within-32B-boundaries" },
2453.{ .name = "mbulk-memory", .ze = .m },
2454.{ .name = "mbulk-memory-opt", .ze = .m },
2455.{ .name = "mcabac", .ze = .m },
2456.{ .name = "mcall-indirect-overlong", .ze = .m },
2457.{ .name = "mcheck-zero-division" },
2458.{ .name = "mcldemote", .ze = .m },
2459.{ .name = "mclflushopt", .ze = .m },
2460.{ .name = "mclwb", .ze = .m },
2461.{ .name = "mclzero", .ze = .m },
2462.{ .name = "mcmpb", .ze = .m },
2463.{ .name = "mcmpccxadd", .ze = .m },
2464.{ .name = "mcmse" },
2465.{ .name = "mconstant-cfstrings" },
2466.{ .name = "mconstructor-aliases" },
2467.{ .name = "mcrbits", .ze = .m },
2468.{ .name = "mcrc", .ze = .m },
2469.{ .name = "mcrc32", .ze = .m },
2470.{ .name = "mcumode", .ze = .m },
2471.{ .name = "mcx16", .ze = .m },
2472.{ .name = "mdaz-ftz" },
2473.{ .name = "mdebug-pass", .syntax = .separate },
2474.{ .name = "mdirect-move", .ze = .m },
2475.{ .name = "mdiv32", .ze = .m },
2476.{ .name = "mdouble-float" },
2477.{ .name = "mdsp", .ze = .m },
2478.{ .name = "mdspr2", .ze = .m },
2479.{ .name = "meabi", .syntax = .separate },
2480.{ .name = "mefpu2", .ze = .m },
2481.{ .name = "membedded-data" },
2482.{ .name = "menable-experimental-extensions" },
2483.{ .name = "menable-no-infs" },
2484.{ .name = "menable-no-nans" },
2485.{ .name = "menqcmd", .ze = .m },
2486.{ .name = "metal", .psl = true },
2487.{ .name = "mevex512", .ze = .m },
2488.{ .name = "mexception-handling", .ze = .m },
2489.{ .name = "mexecute-only", .ze = .m },
2490.{ .name = "mextended-const", .ze = .m },
2491.{ .name = "mextern-sdata" },
2492.{ .name = "mf16c", .ze = .m },
2493.{ .name = "mfancy-math-387" },
2494.{ .name = "mfentry" },
2495.{ .name = "mfix4300" },
2496.{ .name = "mfix-and-continue" },
2497.{ .name = "mfix-cmse-cve-2021-35465", .ze = .m },
2498.{ .name = "mfix-cortex-a53-835769", .ze = .m },
2499.{ .name = "mfix-cortex-a53-843419" },
2500.{ .name = "mfix-cortex-a57-aes-1742098", .ze = .m },
2501.{ .name = "mfix-cortex-a72-aes-1655431" },
2502.{ .name = "mfix-gr712rc" },
2503.{ .name = "mfix-ut700" },
2504.{ .name = "mfloat128", .ze = .m },
2505.{ .name = "mfloat-abi", .syntax = .separate },
2506.{ .name = "mfma", .ze = .m },
2507.{ .name = "mfma4", .ze = .m },
2508.{ .name = "mfp16", .ze = .m },
2509.{ .name = "mfp32" },
2510.{ .name = "mfp64", .ze = .m },
2511.{ .name = "mfpmath", .syntax = .separate },
2512.{ .name = "mfprnd", .ze = .m },
2513.{ .name = "mfpu", .ze = .m },
2514.{ .name = "mfpxx", .ze = .m },
2515.{ .name = "mfrecipe", .ze = .m },
2516.{ .name = "mfsgsbase", .ze = .m },
2517.{ .name = "mfsmuld" },
2518.{ .name = "mfxsr", .ze = .m },
2519.{ .name = "mgeneral-regs-only" },
2520.{ .name = "mgfni", .ze = .m },
2521.{ .name = "mginv", .ze = .m },
2522.{ .name = "mglibc" },
2523.{ .name = "mglobal-merge" },
2524.{ .name = "mgpopt" },
2525.{ .name = "mguarded-control-stack" },
2526.{ .name = "mhard-float", .ze = .m },
2527.{ .name = "mhard-quad-float", .ze = .m },
2528.{ .name = "mhvx", .ze = .m },
2529.{ .name = "mhvx-ieee-fp", .ze = .m },
2530.{ .name = "mhvx-qfloat", .ze = .m },
2531.{ .name = "mhreset", .ze = .m },
2532.{ .name = "mhtm", .ze = .m },
2533.{ .name = "miamcu" },
2534.{ .name = "mieee-fp" },
2535.{ .name = "mieee-rnd-near" },
2536.{ .name = "mignore-xcoff-visibility" },
2537.{ .name = "no-finalize-removal" },
2538.{ .name = "no-ns-alloc-error" },
2539.{ .name = "mimplicit-float" },
2540.{ .name = "mincremental-linker-compatible" },
2541.{ .name = "mindirect-branch-cs-prefix" },
2542.{ .name = "minline-all-stringops" },
2543.{ .name = "minvariant-function-descriptors", .ze = .m },
2544.{ .name = "minvpcid", .ze = .m },
2545.{ .name = "mips1" },
2546.{ .name = "mips16" },
2547.{ .name = "mips2" },
2548.{ .name = "mips3" },
2549.{ .name = "mips32" },
2550.{ .name = "mips32r2" },
2551.{ .name = "mips32r3" },
2552.{ .name = "mips32r5" },
2553.{ .name = "mips32r6" },
2554.{ .name = "mips4" },
2555.{ .name = "mips5" },
2556.{ .name = "mips64" },
2557.{ .name = "mips64r2" },
2558.{ .name = "mips64r3" },
2559.{ .name = "mips64r5" },
2560.{ .name = "mips64r6" },
2561.{ .name = "misel", .ze = .m },
2562.{ .name = "mkernel" },
2563.{ .name = "mkl", .ze = .m },
2564.{ .name = "mlam-bh", .ze = .m },
2565.{ .name = "mlamcas", .ze = .m },
2566.{ .name = "mlasx", .ze = .m },
2567.{ .name = "mld-seq-sa", .ze = .m },
2568.{ .name = "mldc1-sdc1" },
2569.{ .name = "mlimit-float-precision", .syntax = .separate },
2570.{ .name = "mlink-bitcode-file", .syntax = .separate },
2571.{ .name = "mlink-builtin-bitcode", .syntax = .separate },
2572.{ .name = "mlink-builtin-bitcode-postopt" },
2573.{ .name = "mlittle-endian" },
2574.{ .name = "mllvm", .syntax = .separate },
2575.{ .name = "mlocal-sdata" },
2576.{ .name = "mlong-calls", .ze = .m },
2577.{ .name = "mlong-double-128" },
2578.{ .name = "mlong-double-64" },
2579.{ .name = "mlong-double-80" },
2580.{ .name = "mlongcall", .ze = .m },
2581.{ .name = "mlr-for-calls-only" },
2582.{ .name = "mlsx", .ze = .m },
2583.{ .name = "mlvi-cfi", .ze = .m },
2584.{ .name = "mlvi-hardening" },
2585.{ .name = "mlwp", .ze = .m },
2586.{ .name = "mlzcnt", .ze = .m },
2587.{ .name = "mmadd4" },
2588.{ .name = "mmapsyms=implicit" },
2589.{ .name = "mmark-bti-property" },
2590.{ .name = "mmemops", .ze = .m },
2591.{ .name = "mmfcrf" },
2592.{ .name = "mmfocrf", .ze = .m },
2593.{ .name = "mmicromips", .ze = .m },
2594.{ .name = "mmlir", .syntax = .separate },
2595.{ .name = "mmma", .ze = .m },
2596.{ .name = "mmmx", .ze = .m },
2597.{ .name = "mmovbe", .ze = .m },
2598.{ .name = "mmovdir64b", .ze = .m },
2599.{ .name = "mmovdiri", .ze = .m },
2600.{ .name = "mmovrs", .ze = .m },
2601.{ .name = "mmpx" },
2602.{ .name = "mms-bitfields" },
2603.{ .name = "mmsa", .ze = .m },
2604.{ .name = "mmt", .ze = .m },
2605.{ .name = "mmultimemory", .ze = .m },
2606.{ .name = "mmultivalue", .ze = .m },
2607.{ .name = "mmutable-globals", .ze = .m },
2608.{ .name = "mmwaitx", .ze = .m },
2609.{ .name = "mno-3dnow" },
2610.{ .name = "mno-3dnowa" },
2611.{ .name = "mno-80387" },
2612.{ .name = "mno-abicalls" },
2613.{ .name = "mno-adx", .ze = .m },
2614.{ .name = "mno-aes", .ze = .m },
2615.{ .name = "mno-altivec", .ze = .m },
2616.{ .name = "mno-amdgpu-ieee" },
2617.{ .name = "mno-amdgpu-precise-memory-op" },
2618.{ .name = "mno-amx-avx512", .ze = .m },
2619.{ .name = "mno-amx-bf16", .ze = .m },
2620.{ .name = "mno-amx-complex", .ze = .m },
2621.{ .name = "mno-amx-fp16", .ze = .m },
2622.{ .name = "mno-amx-fp8", .ze = .m },
2623.{ .name = "mno-amx-int8", .ze = .m },
2624.{ .name = "mno-amx-movrs", .ze = .m },
2625.{ .name = "mno-amx-tf32", .ze = .m },
2626.{ .name = "mno-amx-tile", .ze = .m },
2627.{ .name = "mno-amx-transpose", .ze = .m },
2628.{ .name = "mno-annotate-tablejump" },
2629.{ .name = "mno-apxf" },
2630.{ .name = "mno-atomics", .ze = .m },
2631.{ .name = "mno-avx", .ze = .m },
2632.{ .name = "mno-avx10.1" },
2633.{ .name = "mno-avx10.1-256" },
2634.{ .name = "mno-avx10.1-512", .ze = .m },
2635.{ .name = "mno-avx10.2" },
2636.{ .name = "mno-avx2", .ze = .m },
2637.{ .name = "mno-avx512bf16", .ze = .m },
2638.{ .name = "mno-avx512bitalg", .ze = .m },
2639.{ .name = "mno-avx512bw", .ze = .m },
2640.{ .name = "mno-avx512cd", .ze = .m },
2641.{ .name = "mno-avx512dq", .ze = .m },
2642.{ .name = "mno-avx512f", .ze = .m },
2643.{ .name = "mno-avx512fp16", .ze = .m },
2644.{ .name = "mno-avx512ifma", .ze = .m },
2645.{ .name = "mno-avx512vbmi", .ze = .m },
2646.{ .name = "mno-avx512vbmi2", .ze = .m },
2647.{ .name = "mno-avx512vl", .ze = .m },
2648.{ .name = "mno-avx512vnni", .ze = .m },
2649.{ .name = "mno-avx512vp2intersect", .ze = .m },
2650.{ .name = "mno-avx512vpopcntdq", .ze = .m },
2651.{ .name = "mno-avxifma", .ze = .m },
2652.{ .name = "mno-avxneconvert", .ze = .m },
2653.{ .name = "mno-avxvnni", .ze = .m },
2654.{ .name = "mno-avxvnniint16", .ze = .m },
2655.{ .name = "mno-avxvnniint8", .ze = .m },
2656.{ .name = "mno-backchain", .ze = .m },
2657.{ .name = "mno-bmi", .ze = .m },
2658.{ .name = "mno-bmi2", .ze = .m },
2659.{ .name = "mno-branch-likely" },
2660.{ .name = "mno-bti-at-return-twice", .ze = .m },
2661.{ .name = "mno-bulk-memory", .ze = .m },
2662.{ .name = "mno-bulk-memory-opt", .ze = .m },
2663.{ .name = "mno-call-indirect-overlong", .ze = .m },
2664.{ .name = "mno-check-zero-division" },
2665.{ .name = "mno-cldemote", .ze = .m },
2666.{ .name = "mno-clflushopt", .ze = .m },
2667.{ .name = "mno-clwb", .ze = .m },
2668.{ .name = "mno-clzero", .ze = .m },
2669.{ .name = "mno-cmpb", .ze = .m },
2670.{ .name = "mno-cmpccxadd", .ze = .m },
2671.{ .name = "mno-constant-cfstrings" },
2672.{ .name = "mno-constructor-aliases" },
2673.{ .name = "mno-crbits", .ze = .m },
2674.{ .name = "mno-crc", .ze = .m },
2675.{ .name = "mno-crc32", .ze = .m },
2676.{ .name = "mno-cumode", .ze = .m },
2677.{ .name = "mno-cx16", .ze = .m },
2678.{ .name = "mno-daz-ftz" },
2679.{ .name = "mno-div32", .ze = .m },
2680.{ .name = "mno-dsp", .ze = .m },
2681.{ .name = "mno-dspr2", .ze = .m },
2682.{ .name = "mno-embedded-data" },
2683.{ .name = "mno-enqcmd", .ze = .m },
2684.{ .name = "mno-evex512", .ze = .m },
2685.{ .name = "mno-exception-handling", .ze = .m },
2686.{ .name = "mnoexecstack" },
2687.{ .name = "mno-execute-only", .ze = .m },
2688.{ .name = "mno-extended-const", .ze = .m },
2689.{ .name = "mno-extern-sdata" },
2690.{ .name = "mno-f16c", .ze = .m },
2691.{ .name = "mno-fix-cmse-cve-2021-35465", .ze = .m },
2692.{ .name = "mno-fix-cortex-a53-835769", .ze = .m },
2693.{ .name = "mno-fix-cortex-a53-843419" },
2694.{ .name = "mno-fix-cortex-a57-aes-1742098", .ze = .m },
2695.{ .name = "mno-fix-cortex-a72-aes-1655431" },
2696.{ .name = "mno-float128", .ze = .m },
2697.{ .name = "mno-fma", .ze = .m },
2698.{ .name = "mno-fma4", .ze = .m },
2699.{ .name = "mno-fmv", .ze = .m },
2700.{ .name = "mno-fp16", .ze = .m },
2701.{ .name = "mno-fp-ret-in-387" },
2702.{ .name = "mno-fprnd", .ze = .m },
2703.{ .name = "mno-fpu", .ze = .m },
2704.{ .name = "mno-frecipe", .ze = .m },
2705.{ .name = "mno-fsgsbase", .ze = .m },
2706.{ .name = "mno-fsmuld", .ze = .m },
2707.{ .name = "mno-fxsr", .ze = .m },
2708.{ .name = "mno-gather" },
2709.{ .name = "mno-gfni", .ze = .m },
2710.{ .name = "mno-ginv", .ze = .m },
2711.{ .name = "mno-global-merge" },
2712.{ .name = "mno-gpopt" },
2713.{ .name = "mno-hvx", .ze = .m },
2714.{ .name = "mno-hvx-ieee-fp", .ze = .m },
2715.{ .name = "mno-hvx-qfloat", .ze = .m },
2716.{ .name = "mno-hreset", .ze = .m },
2717.{ .name = "mno-htm", .ze = .m },
2718.{ .name = "mno-iamcu" },
2719.{ .name = "mno-implicit-float" },
2720.{ .name = "mno-incremental-linker-compatible" },
2721.{ .name = "mno-inline-all-stringops" },
2722.{ .name = "mno-invariant-function-descriptors", .ze = .m },
2723.{ .name = "mno-invpcid", .ze = .m },
2724.{ .name = "mno-isel", .ze = .m },
2725.{ .name = "mno-kl", .ze = .m },
2726.{ .name = "mno-lam-bh", .ze = .m },
2727.{ .name = "mno-lamcas", .ze = .m },
2728.{ .name = "mno-lasx", .ze = .m },
2729.{ .name = "mno-ld-seq-sa", .ze = .m },
2730.{ .name = "mno-ldc1-sdc1" },
2731.{ .name = "mno-link-builtin-bitcode-postopt" },
2732.{ .name = "mno-local-sdata" },
2733.{ .name = "mno-long-calls", .ze = .m },
2734.{ .name = "mno-longcall", .ze = .m },
2735.{ .name = "mno-lsx", .ze = .m },
2736.{ .name = "mno-lvi-cfi", .ze = .m },
2737.{ .name = "mno-lvi-hardening" },
2738.{ .name = "mno-lwp", .ze = .m },
2739.{ .name = "mno-lzcnt", .ze = .m },
2740.{ .name = "mno-madd4" },
2741.{ .name = "mno-memops", .ze = .m },
2742.{ .name = "mno-mfcrf" },
2743.{ .name = "mno-mfocrf", .ze = .m },
2744.{ .name = "mno-micromips", .ze = .m },
2745.{ .name = "mno-mips16", .ze = .m },
2746.{ .name = "mno-mma", .ze = .m },
2747.{ .name = "mno-mmx", .ze = .m },
2748.{ .name = "mno-movbe", .ze = .m },
2749.{ .name = "mno-movdir64b", .ze = .m },
2750.{ .name = "mno-movdiri", .ze = .m },
2751.{ .name = "mno-movrs", .ze = .m },
2752.{ .name = "mno-movt", .ze = .m },
2753.{ .name = "mno-mpx" },
2754.{ .name = "mno-ms-bitfields" },
2755.{ .name = "mno-msa", .ze = .m },
2756.{ .name = "mno-mt", .ze = .m },
2757.{ .name = "mno-multimemory", .ze = .m },
2758.{ .name = "mno-multivalue", .ze = .m },
2759.{ .name = "mno-mutable-globals", .ze = .m },
2760.{ .name = "mno-mwaitx", .ze = .m },
2761.{ .name = "mno-neg-immediates", .ze = .m },
2762.{ .name = "mno-nontrapping-fptoint", .ze = .m },
2763.{ .name = "mno-nvj", .ze = .m },
2764.{ .name = "mno-nvs", .ze = .m },
2765.{ .name = "mno-odd-spreg" },
2766.{ .name = "mno-omit-leaf-frame-pointer" },
2767.{ .name = "mno-outline" },
2768.{ .name = "mno-outline-atomics", .ze = .m },
2769.{ .name = "mno-packed-stack" },
2770.{ .name = "mno-packets", .ze = .m },
2771.{ .name = "mno-pascal-strings" },
2772.{ .name = "mno-pclmul", .ze = .m },
2773.{ .name = "mno-pconfig", .ze = .m },
2774.{ .name = "mno-pcrel" },
2775.{ .name = "mno-pic-data-is-text-relative" },
2776.{ .name = "mno-pku", .ze = .m },
2777.{ .name = "mno-popc", .ze = .m },
2778.{ .name = "mno-popcnt", .ze = .m },
2779.{ .name = "mno-popcntd", .ze = .m },
2780.{ .name = "mno-power10-vector", .ze = .m },
2781.{ .name = "mno-power8-vector", .ze = .m },
2782.{ .name = "mno-power9-vector", .ze = .m },
2783.{ .name = "mno-prefetchi", .ze = .m },
2784.{ .name = "mno-prefixed" },
2785.{ .name = "mno-prfchw", .ze = .m },
2786.{ .name = "mno-ptwrite", .ze = .m },
2787.{ .name = "mno-pure-code" },
2788.{ .name = "mno-raoint", .ze = .m },
2789.{ .name = "mno-rdpid", .ze = .m },
2790.{ .name = "mno-rdpru", .ze = .m },
2791.{ .name = "mno-rdrnd", .ze = .m },
2792.{ .name = "mno-rdseed", .ze = .m },
2793.{ .name = "mno-red-zone", .ze = .no_red_zone },
2794.{ .name = "mno-reference-types", .ze = .m },
2795.{ .name = "mno-regnames" },
2796.{ .name = "mno-relax", .ze = .m },
2797.{ .name = "mno-relax-all" },
2798.{ .name = "mno-relax-pic-calls" },
2799.{ .name = "mno-relaxed-simd", .ze = .m },
2800.{ .name = "mno-restrict-it" },
2801.{ .name = "mno-retpoline", .ze = .m },
2802.{ .name = "mno-retpoline-external-thunk", .ze = .m },
2803.{ .name = "mno-rtd" },
2804.{ .name = "mno-rtm", .ze = .m },
2805.{ .name = "mno-sahf", .ze = .m },
2806.{ .name = "mno-save-restore", .ze = .m },
2807.{ .name = "mno-scalar-strict-align" },
2808.{ .name = "mno-scatter" },
2809.{ .name = "mno-scq", .ze = .m },
2810.{ .name = "mno-serialize", .ze = .m },
2811.{ .name = "mno-seses", .ze = .m },
2812.{ .name = "mno-sgx", .ze = .m },
2813.{ .name = "mno-sha", .ze = .m },
2814.{ .name = "mno-sha512", .ze = .m },
2815.{ .name = "mno-shstk", .ze = .m },
2816.{ .name = "mno-sign-ext", .ze = .m },
2817.{ .name = "mno-simd128", .ze = .m },
2818.{ .name = "mno-skip-rax-setup" },
2819.{ .name = "mno-sm3", .ze = .m },
2820.{ .name = "mno-sm4", .ze = .m },
2821.{ .name = "mno-soft-float", .ze = .m },
2822.{ .name = "mno-spe", .ze = .m },
2823.{ .name = "mno-speculative-load-hardening" },
2824.{ .name = "mno-sse", .ze = .m },
2825.{ .name = "mno-sse2", .ze = .m },
2826.{ .name = "mno-sse3", .ze = .m },
2827.{ .name = "mno-sse4" },
2828.{ .name = "mno-sse4.1", .ze = .m },
2829.{ .name = "mno-sse4.2", .ze = .m },
2830.{ .name = "mno-sse4a", .ze = .m },
2831.{ .name = "mno-ssse3", .ze = .m },
2832.{ .name = "mno-stack-arg-probe" },
2833.{ .name = "mno-stackrealign" },
2834.{ .name = "mno-strict-align", .ze = .m },
2835.{ .name = "mno-tail-call", .ze = .m },
2836.{ .name = "mno-tbm", .ze = .m },
2837.{ .name = "mno-tgsplit", .ze = .m },
2838.{ .name = "mno-thumb" },
2839.{ .name = "mno-tls-direct-seg-refs" },
2840.{ .name = "mno-tocdata" },
2841.{ .name = "mno-tsxldtrk", .ze = .m },
2842.{ .name = "mno-type-check" },
2843.{ .name = "mno-uintr", .ze = .m },
2844.{ .name = "mno-unaligned-access" },
2845.{ .name = "mno-unaligned-symbols", .ze = .m },
2846.{ .name = "mno-unsafe-fp-atomics" },
2847.{ .name = "mno-usermsr", .ze = .m },
2848.{ .name = "mno-v8plus", .ze = .m },
2849.{ .name = "mno-vaes", .ze = .m },
2850.{ .name = "mno-vector-strict-align" },
2851.{ .name = "mno-vevpu" },
2852.{ .name = "mno-virt", .ze = .m },
2853.{ .name = "mno-vis", .ze = .m },
2854.{ .name = "mno-vis2", .ze = .m },
2855.{ .name = "mno-vis3", .ze = .m },
2856.{ .name = "mno-vpclmulqdq", .ze = .m },
2857.{ .name = "mno-vsx", .ze = .m },
2858.{ .name = "mno-vx" },
2859.{ .name = "mno-vzeroupper", .ze = .m },
2860.{ .name = "mno-waitpkg", .ze = .m },
2861.{ .name = "mno-warn-nonportable-cfstrings" },
2862.{ .name = "mno-wavefrontsize64", .ze = .m },
2863.{ .name = "mno-wbnoinvd", .ze = .m },
2864.{ .name = "mno-wide-arithmetic", .ze = .m },
2865.{ .name = "mno-widekl", .ze = .m },
2866.{ .name = "mno-x87", .ze = .m },
2867.{ .name = "mno-xcoff-roptr" },
2868.{ .name = "mno-xgot", .ze = .m },
2869.{ .name = "mno-xop", .ze = .m },
2870.{ .name = "mno-xsave", .ze = .m },
2871.{ .name = "mno-xsavec", .ze = .m },
2872.{ .name = "mno-xsaveopt", .ze = .m },
2873.{ .name = "mno-xsaves", .ze = .m },
2874.{ .name = "mno-zvector" },
2875.{ .name = "mnocrc" },
2876.{ .name = "mno-direct-move", .ze = .m },
2877.{ .name = "mnontrapping-fptoint", .ze = .m },
2878.{ .name = "mnop-mcount" },
2879.{ .name = "mno-paired-vector-memops", .ze = .m },
2880.{ .name = "mno-crypto", .ze = .m },
2881.{ .name = "mnvj", .ze = .m },
2882.{ .name = "mnvs", .ze = .m },
2883.{ .name = "modd-spreg" },
2884.{ .name = "module-dependency-dir", .syntax = .separate },
2885.{ .name = "module-file-deps" },
2886.{ .name = "module-file-info" },
2887.{ .name = "module-suffix", .syntax = .separate },
2888.{ .name = "fmodules-reduced-bmi" },
2889.{ .name = "momit-leaf-frame-pointer" },
2890.{ .name = "moutline" },
2891.{ .name = "moutline-atomics", .ze = .m },
2892.{ .name = "mpacked-stack" },
2893.{ .name = "mpackets", .ze = .m },
2894.{ .name = "mpaired-vector-memops", .ze = .m },
2895.{ .name = "mpascal-strings" },
2896.{ .name = "mpclmul", .ze = .m },
2897.{ .name = "mpconfig", .ze = .m },
2898.{ .name = "mpcrel" },
2899.{ .name = "mpic-data-is-text-relative" },
2900.{ .name = "mpku", .ze = .m },
2901.{ .name = "mpopc", .ze = .m },
2902.{ .name = "mpopcnt", .ze = .m },
2903.{ .name = "mpopcntd", .ze = .m },
2904.{ .name = "mpower10-vector", .ze = .m },
2905.{ .name = "mcrypto", .ze = .m },
2906.{ .name = "mpower8-vector", .ze = .m },
2907.{ .name = "mpower9-vector", .ze = .m },
2908.{ .name = "mprefetchi", .ze = .m },
2909.{ .name = "mprefixed" },
2910.{ .name = "mprfchw", .ze = .m },
2911.{ .name = "mprivileged", .ze = .m },
2912.{ .name = "mptwrite", .ze = .m },
2913.{ .name = "mpure-code" },
2914.{ .name = "mqdsp6-compat" },
2915.{ .name = "mraoint", .ze = .m },
2916.{ .name = "mrdpid", .ze = .m },
2917.{ .name = "mrdpru", .ze = .m },
2918.{ .name = "mrdrnd", .ze = .m },
2919.{ .name = "mrdseed", .ze = .m },
2920.{ .name = "mreassociate" },
2921.{ .name = "mrecip" },
2922.{ .name = "mrecord-mcount" },
2923.{ .name = "mred-zone", .ze = .red_zone },
2924.{ .name = "mreference-types", .ze = .m },
2925.{ .name = "mregnames" },
2926.{ .name = "mregparm", .syntax = .separate },
2927.{ .name = "mrelax", .ze = .m },
2928.{ .name = "mrelax-all" },
2929.{ .name = "mrelax-pic-calls" },
2930.{ .name = "mrelax-relocations=no" },
2931.{ .name = "mrelaxed-simd", .ze = .m },
2932.{ .name = "mrelocation-model", .syntax = .separate },
2933.{ .name = "mrestrict-it" },
2934.{ .name = "mretpoline", .ze = .m },
2935.{ .name = "mretpoline-external-thunk", .ze = .m },
2936.{ .name = "mrop-protect", .ze = .m },
2937.{ .name = "mrtd" },
2938.{ .name = "mrtm", .ze = .m },
2939.{ .name = "msahf", .ze = .m },
2940.{ .name = "msave-reg-params" },
2941.{ .name = "msave-restore", .ze = .m },
2942.{ .name = "msave-temp-labels" },
2943.{ .name = "mscalar-strict-align" },
2944.{ .name = "mscq", .ze = .m },
2945.{ .name = "msecure-plt", .ze = .m },
2946.{ .name = "mserialize", .ze = .m },
2947.{ .name = "msgx", .ze = .m },
2948.{ .name = "msha", .ze = .m },
2949.{ .name = "msha512", .ze = .m },
2950.{ .name = "mshstk", .ze = .m },
2951.{ .name = "msign-ext", .ze = .m },
2952.{ .name = "msim" },
2953.{ .name = "msimd128", .ze = .m },
2954.{ .name = "msingle-float", .ze = .m },
2955.{ .name = "mskip-rax-setup" },
2956.{ .name = "msm3", .ze = .m },
2957.{ .name = "msm4", .ze = .m },
2958.{ .name = "msmall-data-limit", .syntax = .separate },
2959.{ .name = "msoft-float", .ze = .m },
2960.{ .name = "msoft-quad-float" },
2961.{ .name = "mspe", .ze = .m },
2962.{ .name = "mspeculative-load-hardening" },
2963.{ .name = "msse", .ze = .m },
2964.{ .name = "msse2", .ze = .m },
2965.{ .name = "msse2avx" },
2966.{ .name = "msse3", .ze = .m },
2967.{ .name = "msse4" },
2968.{ .name = "msse4.1", .ze = .m },
2969.{ .name = "msse4.2", .ze = .m },
2970.{ .name = "msse4a", .ze = .m },
2971.{ .name = "mssse3", .ze = .m },
2972.{ .name = "mstack-arg-probe" },
2973.{ .name = "mstackrealign" },
2974.{ .name = "mstrict-align", .ze = .m },
2975.{ .name = "msvr4-struct-return" },
2976.{ .name = "mtail-call", .ze = .m },
2977.{ .name = "mtbm", .ze = .m },
2978.{ .name = "mtgsplit", .ze = .m },
2979.{ .name = "mthread-model", .syntax = .separate },
2980.{ .name = "mthumb" },
2981.{ .name = "mtls-direct-seg-refs" },
2982.{ .name = "mtocdata" },
2983.{ .name = "mtp", .syntax = .separate },
2984.{ .name = "mtsxldtrk", .ze = .m },
2985.{ .name = "muclibc" },
2986.{ .name = "muintr", .ze = .m },
2987.{ .name = "multi_module" },
2988.{ .name = "multiply_defined", .syntax = .separate },
2989.{ .name = "multiply_defined_unused", .syntax = .separate },
2990.{ .name = "munaligned-access" },
2991.{ .name = "munaligned-symbols", .ze = .m },
2992.{ .name = "munsafe-fp-atomics" },
2993.{ .name = "musermsr", .ze = .m },
2994.{ .name = "mv5", .ze = .m },
2995.{ .name = "mv55", .ze = .m },
2996.{ .name = "mv60", .ze = .m },
2997.{ .name = "mv62", .ze = .m },
2998.{ .name = "mv65", .ze = .m },
2999.{ .name = "mv66", .ze = .m },
3000.{ .name = "mv67", .ze = .m },
3001.{ .name = "mv67t" },
3002.{ .name = "mv68", .ze = .m },
3003.{ .name = "mv69", .ze = .m },
3004.{ .name = "mv71", .ze = .m },
3005.{ .name = "mv71t" },
3006.{ .name = "mv73", .ze = .m },
3007.{ .name = "mv75", .ze = .m },
3008.{ .name = "mv79", .ze = .m },
3009.{ .name = "mv8plus", .ze = .m },
3010.{ .name = "mvaes", .ze = .m },
3011.{ .name = "mvector-strict-align" },
3012.{ .name = "mvevpu" },
3013.{ .name = "mvirt", .ze = .m },
3014.{ .name = "mvis", .ze = .m },
3015.{ .name = "mvis2", .ze = .m },
3016.{ .name = "mvis3", .ze = .m },
3017.{ .name = "mvpclmulqdq", .ze = .m },
3018.{ .name = "mvsx", .ze = .m },
3019.{ .name = "mvx" },
3020.{ .name = "mvzeroupper", .ze = .m },
3021.{ .name = "mwaitpkg", .ze = .m },
3022.{ .name = "mwarn-nonportable-cfstrings" },
3023.{ .name = "mwavefrontsize64", .ze = .m },
3024.{ .name = "mwbnoinvd", .ze = .m },
3025.{ .name = "mwide-arithmetic", .ze = .m },
3026.{ .name = "mwidekl", .ze = .m },
3027.{ .name = "mx32" },
3028.{ .name = "mx87", .ze = .m },
3029.{ .name = "mxcoff-roptr" },
3030.{ .name = "mxgot", .ze = .m },
3031.{ .name = "mxop", .ze = .m },
3032.{ .name = "mxsave", .ze = .m },
3033.{ .name = "mxsavec", .ze = .m },
3034.{ .name = "mxsaveopt", .ze = .m },
3035.{ .name = "mxsaves", .ze = .m },
3036.{ .name = "mzvector" },
3037.{ .name = "n" },
3038.{ .name = "new-struct-path-tbaa" },
3039.{ .name = "no_dead_strip_inits_and_terms" },
3040.{ .name = "no-canonical-prefixes" },
3041.{ .name = "no-clear-ast-before-backend" },
3042.{ .name = "no-code-completion-globals" },
3043.{ .name = "no-code-completion-ns-level-decls" },
3044.{ .name = "no-cpp-precomp" },
3045.{
3046 .name = "no-cuda-noopt-device-debug",
3047 .pd1 = false,
3048 .pd2 = true,
3049},
3050.{
3051 .name = "no-cuda-version-check",
3052 .pd1 = false,
3053 .pd2 = true,
3054},
3055.{ .name = "fno-c++-static-destructors" },
3056.{
3057 .name = "no-default-config",
3058 .pd1 = false,
3059 .pd2 = true,
3060},
3061.{ .name = "no-disable-free" },
3062.{ .name = "no-emit-llvm-uselists" },
3063.{ .name = "no-enable-noundef-analysis" },
3064.{
3065 .name = "no-gpu-bundle-output",
3066 .pd1 = false,
3067 .pd2 = true,
3068},
3069.{ .name = "no-hip-rt" },
3070.{ .name = "no-implicit-float" },
3071.{ .name = "no-integrated-cpp", .pd2 = true },
3072.{
3073 .name = "no-offload-add-rpath",
3074 .pd1 = false,
3075 .pd2 = true,
3076},
3077.{
3078 .name = "no-offload-compress",
3079 .pd1 = false,
3080 .pd2 = true,
3081},
3082.{
3083 .name = "no-offload-inc",
3084 .pd1 = false,
3085 .pd2 = true,
3086},
3087.{
3088 .name = "no-offload-new-driver",
3089 .pd1 = false,
3090 .pd2 = true,
3091},
3092.{
3093 .name = "no-offloadlib",
3094 .pd1 = false,
3095 .pd2 = true,
3096},
3097.{ .name = "no-pedantic", .pd2 = true },
3098.{ .name = "no-pie", .ze = .no_pie },
3099.{ .name = "no-pointer-tbaa" },
3100.{ .name = "no-pthread" },
3101.{ .name = "no-round-trip-args" },
3102.{ .name = "no-struct-path-tbaa" },
3103.{
3104 .name = "no-wasm-opt",
3105 .pd1 = false,
3106 .pd2 = true,
3107},
3108.{ .name = "nobuiltininc" },
3109.{ .name = "nocpp" },
3110.{ .name = "nodefaultlibs" },
3111.{ .name = "nodriverkitlib" },
3112.{ .name = "nofixprebinding" },
3113.{ .name = "nogpulibc" },
3114.{ .name = "nohipwrapperinc" },
3115.{ .name = "nolibc", .ze = .nostdlib },
3116.{ .name = "nomultidefs" },
3117.{ .name = "nopie", .ze = .no_pie },
3118.{ .name = "noprebind" },
3119.{ .name = "noprofilelib" },
3120.{ .name = "noseglinkedit" },
3121.{ .name = "nostartfiles" },
3122.{ .name = "nostdinc", .ze = .nostdlibinc },
3123.{ .name = "nostdinc++", .ze = .nostdlib_cpp },
3124.{ .name = "nostdlib", .ze = .nostdlib },
3125.{ .name = "nostdlibinc", .ze = .nostdlibinc },
3126.{ .name = "nostdlib++", .ze = .nostdlib_cpp },
3127.{ .name = "nostdsysteminc" },
3128.{ .name = "objc-isystem", .syntax = .separate },
3129.{ .name = "objcxx-isystem", .syntax = .separate },
3130.{ .name = "object" },
3131.{ .name = "object-file-name", .syntax = .separate },
3132.{
3133 .name = "offload-add-rpath",
3134 .pd1 = false,
3135 .pd2 = true,
3136},
3137.{
3138 .name = "offload-compress",
3139 .pd1 = false,
3140 .pd2 = true,
3141},
3142.{
3143 .name = "offload-device-only",
3144 .pd1 = false,
3145 .pd2 = true,
3146},
3147.{
3148 .name = "offload-host-device",
3149 .pd1 = false,
3150 .pd2 = true,
3151},
3152.{
3153 .name = "offload-host-only",
3154 .pd1 = false,
3155 .pd2 = true,
3156},
3157.{
3158 .name = "offload-inc",
3159 .pd1 = false,
3160 .pd2 = true,
3161},
3162.{
3163 .name = "offload-link",
3164 .pd1 = false,
3165 .pd2 = true,
3166},
3167.{
3168 .name = "offload-new-driver",
3169 .pd1 = false,
3170 .pd2 = true,
3171},
3172.{
3173 .name = "offloadlib",
3174 .pd1 = false,
3175 .pd2 = true,
3176},
3177.{ .name = "fexperimental-openacc-macro-override", .syntax = .separate },
3178.{ .name = "opt-record-file", .syntax = .separate },
3179.{ .name = "opt-record-format", .syntax = .separate },
3180.{ .name = "opt-record-passes", .syntax = .separate },
3181.{ .name = "p" },
3182.{ .name = "pass-exit-codes", .pd2 = true },
3183.{ .name = "pch-through-hdrstop-create" },
3184.{ .name = "pch-through-hdrstop-use" },
3185.{ .name = "pedantic", .pd2 = true },
3186.{ .name = "pedantic-errors", .pd2 = true },
3187.{ .name = "pg" },
3188.{ .name = "pic-is-pie" },
3189.{ .name = "pic-level", .syntax = .separate },
3190.{ .name = "pie", .ze = .pie },
3191.{
3192 .name = "pipe",
3193 .ze = .ignore,
3194 .pd2 = true,
3195},
3196.{ .name = "plugin", .syntax = .separate },
3197.{ .name = "pointer-tbaa" },
3198.{ .name = "prebind" },
3199.{ .name = "prebind_all_twolevel_modules" },
3200.{ .name = "preload" },
3201.{ .name = "print-dependency-directives-minimized-source" },
3202.{ .name = "print-diagnostic-options", .pd2 = true },
3203.{ .name = "print-effective-triple", .pd2 = true },
3204.{ .name = "print-enabled-extensions", .pd2 = true },
3205.{ .name = "print-ivar-layout" },
3206.{ .name = "print-libgcc-file-name", .pd2 = true },
3207.{ .name = "print-multi-directory", .pd2 = true },
3208.{ .name = "print-multi-flags-experimental", .pd2 = true },
3209.{ .name = "print-multi-lib", .pd2 = true },
3210.{ .name = "print-multi-os-directory", .pd2 = true },
3211.{ .name = "print-preamble" },
3212.{ .name = "print-resource-dir", .pd2 = true },
3213.{ .name = "print-rocm-search-dirs", .pd2 = true },
3214.{ .name = "print-runtime-dir", .pd2 = true },
3215.{ .name = "print-search-dirs", .pd2 = true },
3216.{ .name = "print-stats" },
3217.{ .name = "print-library-module-manifest-path", .pd2 = true },
3218.{ .name = "print-supported-cpus", .pd2 = true },
3219.{ .name = "print-supported-extensions", .pd2 = true },
3220.{ .name = "print-target-triple", .pd2 = true },
3221.{ .name = "print-targets", .pd2 = true },
3222.{ .name = "private_bundle" },
3223.{ .name = "pthread" },
3224.{ .name = "pthreads" },
3225.{ .name = "r", .ze = .r },
3226.{ .name = "rdynamic", .ze = .rdynamic },
3227.{ .name = "read_only_relocs", .syntax = .separate },
3228.{ .name = "record-command-line", .syntax = .separate },
3229.{ .name = "reexport_framework", .syntax = .separate },
3230.{ .name = "regcall4" },
3231.{ .name = "relaxed-aliasing" },
3232.{ .name = "relocatable-pch", .pd2 = true },
3233.{ .name = "remap" },
3234.{ .name = "remap-file", .syntax = .separate },
3235.{ .name = "res-may-alias", .psl = true },
3236.{ .name = "resource-dir", .syntax = .separate },
3237.{ .name = "rewrite-legacy-objc" },
3238.{ .name = "rewrite-macros" },
3239.{ .name = "rewrite-objc" },
3240.{ .name = "rewrite-test" },
3241.{ .name = "round-trip-args" },
3242.{ .name = "rpath", .syntax = .separate },
3243.{ .name = "s", .ze = .strip },
3244.{ .name = "save-stats", .pd2 = true },
3245.{ .name = "save-temps", .pd2 = true },
3246.{ .name = "sectalign", .syntax = .{ .multi_arg = 3 } },
3247.{ .name = "sectcreate", .syntax = .{ .multi_arg = 3 } },
3248.{ .name = "sectobjectsymbols", .syntax = .{ .multi_arg = 2 } },
3249.{ .name = "sectorder", .syntax = .{ .multi_arg = 3 } },
3250.{ .name = "seg_addr_table", .syntax = .separate },
3251.{ .name = "seg_addr_table_filename", .syntax = .separate },
3252.{ .name = "segaddr", .syntax = .{ .multi_arg = 2 } },
3253.{ .name = "segcreate", .syntax = .{ .multi_arg = 3 } },
3254.{ .name = "seglinkedit" },
3255.{ .name = "segprot", .syntax = .{ .multi_arg = 3 } },
3256.{ .name = "segs_read_only_addr", .syntax = .separate },
3257.{ .name = "segs_read_write_addr", .syntax = .separate },
3258.{ .name = "setup-static-analyzer" },
3259.{
3260 .name = "shared",
3261 .ze = .shared,
3262 .pd2 = true,
3263},
3264.{ .name = "shared-libflangrt" },
3265.{ .name = "shared-libgcc" },
3266.{ .name = "shared-libsan" },
3267.{ .name = "show-encoding" },
3268.{
3269 .name = "show-includes",
3270 .pd1 = false,
3271 .pd2 = true,
3272},
3273.{ .name = "show-inst" },
3274.{ .name = "single_module" },
3275.{ .name = "skip-function-bodies" },
3276.{ .name = "source-date-epoch", .syntax = .separate },
3277.{
3278 .name = "specs",
3279 .syntax = .separate,
3280 .pd2 = true,
3281},
3282.{ .name = "spirv", .psl = true },
3283.{ .name = "split-dwarf-file", .syntax = .separate },
3284.{ .name = "split-dwarf-output", .syntax = .separate },
3285.{
3286 .name = "stack-protector",
3287 .ze = .stack_protector,
3288 .syntax = .separate,
3289},
3290.{ .name = "stack-protector-buffer-size", .syntax = .separate },
3291.{ .name = "stack-usage-file", .syntax = .separate },
3292.{
3293 .name = "start-no-unused-arguments",
3294 .pd1 = false,
3295 .pd2 = true,
3296},
3297.{ .name = "startfiles" },
3298.{
3299 .name = "static",
3300 .ze = .static,
3301 .pd2 = true,
3302},
3303.{ .name = "static-define" },
3304.{ .name = "static-libclosure" },
3305.{ .name = "static-libflangrt" },
3306.{ .name = "static-libgcc" },
3307.{ .name = "static-libgfortran" },
3308.{ .name = "static-libsan" },
3309.{ .name = "static-libstdc++" },
3310.{ .name = "static-openmp" },
3311.{ .name = "static-pie" },
3312.{ .name = "stats-file-append" },
3313.{ .name = "stdlib" },
3314.{
3315 .name = "sycl-link",
3316 .pd1 = false,
3317 .pd2 = true,
3318},
3319.{ .name = "sys-header-deps" },
3320.{ .name = "t" },
3321.{ .name = "target-abi", .syntax = .separate },
3322.{ .name = "target-cpu", .syntax = .separate },
3323.{ .name = "target-feature", .syntax = .separate },
3324.{
3325 .name = "target",
3326 .ze = .target,
3327 .syntax = .separate,
3328},
3329.{ .name = "target-linker-version", .syntax = .separate },
3330.{ .name = "templight-dump" },
3331.{ .name = "test-io" },
3332.{ .name = "time" },
3333.{ .name = "traditional", .pd2 = true },
3334.{ .name = "traditional-cpp", .pd2 = true },
3335.{ .name = "trigraphs", .pd2 = true },
3336.{ .name = "trim-egraph" },
3337.{ .name = "triple", .syntax = .separate },
3338.{ .name = "tune-cpu", .syntax = .separate },
3339.{ .name = "twolevel_namespace" },
3340.{ .name = "twolevel_namespace_hints" },
3341.{ .name = "umbrella", .syntax = .separate },
3342.{ .name = "undef" },
3343.{ .name = "unexported_symbols_list", .syntax = .separate },
3344.{ .name = "Wextra", .pd2 = true },
3345.{ .name = "Waliasing", .pd2 = true },
3346.{ .name = "Wampersand", .pd2 = true },
3347.{ .name = "Warray-bounds", .pd2 = true },
3348.{ .name = "Wc-binding-type", .pd2 = true },
3349.{ .name = "Wcharacter-truncation", .pd2 = true },
3350.{ .name = "Wconversion", .pd2 = true },
3351.{ .name = "Wdo-subscript", .pd2 = true },
3352.{ .name = "Wfunction-elimination", .pd2 = true },
3353.{ .name = "Wimplicit-interface", .pd2 = true },
3354.{ .name = "Wimplicit-procedure", .pd2 = true },
3355.{ .name = "Wintrinsic-shadow", .pd2 = true },
3356.{ .name = "Wuse-without-only", .pd2 = true },
3357.{ .name = "Wintrinsics-std", .pd2 = true },
3358.{ .name = "Wline-truncation", .pd2 = true },
3359.{ .name = "Wno-align-commons", .pd2 = true },
3360.{ .name = "Wno-overwrite-recursive", .pd2 = true },
3361.{ .name = "Wno-tabs", .pd2 = true },
3362.{ .name = "Wreal-q-constant", .pd2 = true },
3363.{ .name = "Wsurprising", .pd2 = true },
3364.{ .name = "Wunderflow", .pd2 = true },
3365.{ .name = "Wunused-parameter", .pd2 = true },
3366.{ .name = "Wrealloc-lhs", .pd2 = true },
3367.{ .name = "Wrealloc-lhs-all", .pd2 = true },
3368.{ .name = "Wfrontend-loop-interchange", .pd2 = true },
3369.{ .name = "Wtarget-lifetime", .pd2 = true },
3370.{ .name = "v", .ze = .verbose },
3371.{ .name = "vectorize-loops" },
3372.{ .name = "vectorize-slp" },
3373.{ .name = "verify" },
3374.{
3375 .name = "verify-debug-info",
3376 .pd1 = false,
3377 .pd2 = true,
3378},
3379.{ .name = "verify-ignore-unexpected" },
3380.{ .name = "verify-pch" },
3381.{ .name = "version" },
3382.{ .name = "via-file-asm", .pd2 = true },
3383.{ .name = "w" },
3384.{
3385 .name = "wasm-opt",
3386 .pd1 = false,
3387 .pd2 = true,
3388},
3389.{
3390 .name = "weak_framework",
3391 .ze = .weak_framework,
3392 .syntax = .separate,
3393},
3394.{
3395 .name = "weak_library",
3396 .ze = .weak_library,
3397 .syntax = .separate,
3398},
3399.{ .name = "weak_reference_mismatches", .syntax = .separate },
3400.{ .name = "whatsloaded" },
3401.{ .name = "why_load" },
3402.{ .name = "whyload" },
3403.{ .name = "working-directory", .syntax = .separate },
3404.{
3405 .name = "z",
3406 .ze = .linker_input_z,
3407 .syntax = .separate,
3408},
3409.{ .name = "fsanitize-coverage-stack-depth-callback-min=", .syntax = .joined },
3410.{ .name = "fsanitize-undefined-ignore-overflow-pattern=", .syntax = .comma_joined },
3411.{ .name = "fexperimental-sanitize-metadata-ignorelist=", .syntax = .joined },
3412.{ .name = "fsanitize-undefined-strip-path-components=", .syntax = .joined },
3413.{ .name = "fprofile-generate-cold-function-coverage=", .syntax = .joined },
3414.{ .name = "fopenmp-cuda-teams-reduction-recs-num=", .syntax = .joined },
3415.{ .name = "fvisibility-externs-nodllstorageclass=", .syntax = .joined },
3416.{ .name = "fallow-runtime-check-skip-hot-cutoff=", .syntax = .joined },
3417.{ .name = "fexperimental-openacc-macro-override=", .syntax = .joined },
3418.{ .name = "analyzer-config-compatibility-mode=", .syntax = .joined },
3419.{ .name = "fms-secure-hotpatch-functions-file=", .syntax = .joined },
3420.{ .name = "fms-secure-hotpatch-functions-list=", .syntax = .comma_joined },
3421.{ .name = "fno-experimental-sanitize-metadata=", .syntax = .comma_joined },
3422.{ .name = "mdefault-visibility-export-mapping=", .syntax = .joined },
3423.{ .name = "fsanitize-address-use-after-return=", .syntax = .joined },
3424.{
3425 .name = "fsanitize-address-use-after-return",
3426 .syntax = .joined,
3427 .psl = true,
3428},
3429.{ .name = "darwin-target-variant-sdk-version=", .syntax = .joined },
3430.{ .name = "fexperimental-assignment-tracking=", .syntax = .joined },
3431.{ .name = "fpatchable-function-entry-section=", .syntax = .joined },
3432.{ .name = "ftrivial-auto-var-init-stop-after=", .syntax = .joined },
3433.{ .name = "fverify-debuginfo-preserve-export=", .syntax = .joined },
3434.{ .name = "fdiagnostics-misexpect-tolerance=", .syntax = .joined },
3435.{ .name = "fno-sanitize-annotate-debug-info=", .syntax = .comma_joined },
3436.{ .name = "fpatchable-function-entry-offset=", .syntax = .joined },
3437.{ .name = "fprofile-selected-function-group=", .syntax = .joined },
3438.{ .name = "analyzer-inline-max-stack-depth=", .syntax = .joined },
3439.{ .name = "fexperimental-sanitize-metadata=", .syntax = .comma_joined },
3440.{ .name = "fsanitize-address-field-padding=", .syntax = .joined },
3441.{ .name = "ftrivial-auto-var-init-max-size=", .syntax = .joined },
3442.{
3443 .name = "fno-sanitize-address-vcasan-lib",
3444 .syntax = .joined,
3445 .psl = true,
3446},
3447.{ .name = "fdiagnostics-hotness-threshold=", .syntax = .joined },
3448.{ .name = "fexperimental-max-bitint-width=", .syntax = .joined },
3449.{ .name = "fsanitize-memory-track-origins=", .syntax = .joined },
3450.{ .name = "mwatchos-simulator-version-min=", .syntax = .joined },
3451.{ .name = "funique-source-file-identifier=", .syntax = .joined },
3452.{ .name = "fsanitize-annotate-debug-info=", .syntax = .comma_joined },
3453.{ .name = "fsanitize-coverage-ignorelist=", .syntax = .joined },
3454.{ .name = "fvisibility-externs-dllimport=", .syntax = .joined },
3455.{ .name = "fvisibility-global-new-delete=", .syntax = .joined },
3456.{ .name = "fvisibility-nodllstorageclass=", .syntax = .joined },
3457.{ .name = "fxray-selected-function-group=", .syntax = .joined },
3458.{ .name = "mappletvsimulator-version-min=", .syntax = .joined },
3459.{ .name = "mstack-protector-guard-offset=", .syntax = .joined },
3460.{ .name = "mstack-protector-guard-symbol=", .syntax = .joined },
3461.{
3462 .name = "sourceDependencies:directives",
3463 .syntax = .joined_or_separate,
3464 .psl = true,
3465},
3466.{ .name = "miphonesimulator-version-min=", .syntax = .joined },
3467.{ .name = "fcaret-diagnostics-max-lines=", .syntax = .joined },
3468.{ .name = "fobjc-nonfragile-abi-version=", .syntax = .joined },
3469.{ .name = "fprofile-instrument-use-path=", .syntax = .joined },
3470.{ .name = "fsanitize-coverage-allowlist=", .syntax = .joined },
3471.{ .name = "fxray-instrumentation-bundle=", .syntax = .joined },
3472.{ .name = "fsanitize-address-destructor=", .syntax = .joined },
3473.{
3474 .name = "warning-suppression-mappings=",
3475 .syntax = .joined,
3476 .pd1 = false,
3477 .pd2 = true,
3478},
3479.{ .name = "faddress-space-map-mangling=", .syntax = .joined },
3480.{ .name = "foptimization-record-passes=", .syntax = .joined },
3481.{ .name = "frandomize-layout-seed-file=", .syntax = .joined },
3482.{ .name = "fsanitize-system-ignorelist=", .syntax = .joined },
3483.{ .name = "ftest-module-file-extension=", .syntax = .joined },
3484.{ .name = "fxray-instruction-threshold=", .syntax = .joined },
3485.{
3486 .name = "libomptarget-amdgcn-bc-path=",
3487 .syntax = .joined,
3488 .pd1 = false,
3489 .pd2 = true,
3490},
3491.{
3492 .name = "libomptarget-amdgpu-bc-path=",
3493 .syntax = .joined,
3494 .pd1 = false,
3495 .pd2 = true,
3496},
3497.{ .name = "mno-default-build-attributes", .syntax = .joined },
3498.{ .name = "mtvos-simulator-version-min=", .syntax = .joined },
3499.{ .name = "mwatchsimulator-version-min=", .syntax = .joined },
3500.{ .name = "loader-replaceable-function=", .syntax = .joined },
3501.{
3502 .name = "include-with-prefix-before=",
3503 .syntax = .joined,
3504 .pd1 = false,
3505 .pd2 = true,
3506},
3507.{ .name = "error-on-deserialized-decl=", .syntax = .joined },
3508.{ .name = "fbfloat16-excess-precision=", .syntax = .joined },
3509.{ .name = "fconstexpr-backtrace-limit=", .syntax = .joined },
3510.{ .name = "fdiagnostics-show-category=", .syntax = .joined },
3511.{ .name = "fdiagnostics-show-location=", .syntax = .joined },
3512.{ .name = "fno-modules-check-relocated", .syntax = .joined },
3513.{ .name = "fopenmp-cuda-blocks-per-sm=", .syntax = .joined },
3514.{
3515 .name = "headerpad_max_install_names",
3516 .ze = .headerpad_max_install_names,
3517 .syntax = .joined,
3518},
3519.{
3520 .name = "libomptarget-nvptx-bc-path=",
3521 .syntax = .joined,
3522 .pd1 = false,
3523 .pd2 = true,
3524},
3525.{
3526 .name = "libomptarget-spirv-bc-path=",
3527 .syntax = .joined,
3528 .pd1 = false,
3529 .pd2 = true,
3530},
3531.{ .name = "mios-simulator-version-min=", .syntax = .joined },
3532.{ .name = "mstack-protector-guard-reg=", .syntax = .joined },
3533.{ .name = "msve-streaming-vector-bits=", .syntax = .joined },
3534.{ .name = "Wsystem-headers-in-module=", .syntax = .joined },
3535.{
3536 .name = "include-with-prefix-after=",
3537 .syntax = .joined,
3538 .pd1 = false,
3539 .pd2 = true,
3540},
3541.{ .name = "fcoverage-compilation-dir=", .syntax = .joined },
3542.{ .name = "fdx-rootsignature-version=", .syntax = .joined },
3543.{ .name = "fextend-variable-liveness=", .syntax = .joined },
3544.{ .name = "ffloat16-excess-precision=", .syntax = .joined },
3545.{ .name = "fms-compatibility-version=", .syntax = .joined },
3546.{ .name = "fopenmp-cuda-number-of-sm=", .syntax = .joined },
3547.{ .name = "foptimization-record-file=", .syntax = .joined },
3548.{ .name = "fpatchable-function-entry=", .syntax = .joined },
3549.{ .name = "frepack-arrays-contiguity=", .syntax = .joined },
3550.{ .name = "fsanitize-skip-hot-cutoff=", .syntax = .comma_joined },
3551.{ .name = "fsave-optimization-record=", .syntax = .joined },
3552.{ .name = "ftemplate-backtrace-limit=", .syntax = .joined },
3553.{
3554 .name = "gpu-max-threads-per-block=",
3555 .syntax = .joined,
3556 .pd1 = false,
3557 .pd2 = true,
3558},
3559.{
3560 .name = "offload-compression-level=",
3561 .syntax = .joined,
3562 .pd1 = false,
3563 .pd2 = true,
3564},
3565.{ .name = "Wno-nonportable-cfstrings", .syntax = .joined },
3566.{ .name = "analyzer-disable-checker=", .syntax = .joined },
3567.{ .name = "fbuild-session-timestamp=", .syntax = .joined },
3568.{ .name = "fdo-concurrent-to-openmp=", .syntax = .joined },
3569.{ .name = "fprofile-function-groups=", .syntax = .joined },
3570.{ .name = "fprofile-instrument-path=", .syntax = .joined },
3571.{ .name = "header-include-filtering=", .syntax = .joined },
3572.{ .name = "mdefault-build-attributes", .syntax = .joined },
3573.{ .name = "msign-return-address-key=", .syntax = .joined },
3574.{ .name = "verify-ignore-unexpected=", .syntax = .comma_joined },
3575.{
3576 .name = "include-directory-after=",
3577 .syntax = .joined,
3578 .pd1 = false,
3579 .pd2 = true,
3580},
3581.{
3582 .name = "compress-debug-sections=",
3583 .ze = .compress_debug_sections,
3584 .syntax = .joined,
3585 .pd2 = true,
3586},
3587.{ .name = "fc++-static-destructors=", .syntax = .joined },
3588.{ .name = "dump-minimization-hints=", .syntax = .joined },
3589.{ .name = "fapinotes-swift-version=", .syntax = .joined },
3590.{ .name = "fcomment-block-commands=", .syntax = .comma_joined },
3591.{ .name = "flax-vector-conversions=", .syntax = .joined },
3592.{ .name = "fmodules-embed-all-files", .syntax = .joined },
3593.{ .name = "fmodules-prune-interval=", .syntax = .joined },
3594.{ .name = "foverride-record-layout=", .syntax = .joined },
3595.{ .name = "fprofile-instr-generate=", .syntax = .joined },
3596.{ .name = "fprofile-remapping-file=", .syntax = .joined },
3597.{ .name = "fsanitize-coverage-type=", .syntax = .joined },
3598.{ .name = "fsanitize-hwaddress-abi=", .syntax = .joined },
3599.{ .name = "ftime-trace-granularity=", .syntax = .joined },
3600.{ .name = "fxray-always-instrument=", .syntax = .joined },
3601.{ .name = "mcf-branch-label-scheme=", .syntax = .joined },
3602.{
3603 .name = "no-system-header-prefix=",
3604 .syntax = .joined,
3605 .pd1 = false,
3606 .pd2 = true,
3607},
3608.{
3609 .name = "output-class-directory=",
3610 .syntax = .joined,
3611 .pd1 = false,
3612 .pd2 = true,
3613},
3614.{ .name = "analyzer-inlining-mode=", .syntax = .joined },
3615.{ .name = "fcodegen-data-generate=", .syntax = .joined },
3616.{ .name = "fconstant-string-class=", .syntax = .joined },
3617.{ .name = "fcrash-diagnostics-dir=", .syntax = .joined },
3618.{ .name = "fdebug-compilation-dir=", .syntax = .joined },
3619.{ .name = "fdebug-default-version=", .syntax = .joined },
3620.{ .name = "ffp-exception-behavior=", .syntax = .joined },
3621.{ .name = "fmacro-backtrace-limit=", .syntax = .joined },
3622.{ .name = "fmax-array-constructor=", .syntax = .joined },
3623.{ .name = "fmcdc-max-test-vectors=", .syntax = .joined },
3624.{ .name = "fprofile-exclude-files=", .syntax = .joined },
3625.{ .name = "frandomize-layout-seed=", .syntax = .joined },
3626.{ .name = "ftrivial-auto-var-init=", .syntax = .joined },
3627.{ .name = "fxray-never-instrument=", .syntax = .joined },
3628.{ .name = "gsimple-template-names=", .syntax = .joined },
3629.{ .name = "interface-stub-version=", .syntax = .joined_or_separate },
3630.{ .name = "malign-branch-boundary=", .syntax = .joined },
3631.{ .name = "mappletvos-version-min=", .syntax = .joined },
3632.{ .name = "mstack-protector-guard=", .syntax = .joined },
3633.{ .name = "Wnonportable-cfstrings", .syntax = .joined },
3634.{ .name = "miphoneos-version-min=", .syntax = .joined },
3635.{ .name = "fbasic-block-sections=", .syntax = .joined },
3636.{ .name = "fdefault-calling-conv=", .syntax = .joined },
3637.{ .name = "fdenormal-fp-math-f32=", .syntax = .joined },
3638.{ .name = "fembed-offload-object=", .syntax = .joined },
3639.{ .name = "ffile-compilation-dir=", .syntax = .joined },
3640.{ .name = "fgpu-inline-threshold=", .syntax = .joined },
3641.{ .name = "finline-max-stacksize=", .syntax = .joined },
3642.{ .name = "fmax-subrecord-length=", .syntax = .joined },
3643.{ .name = "fmodules-ignore-macro=", .syntax = .joined },
3644.{
3645 .name = "fno-sanitize-coverage=",
3646 .ze = .no_san_cov,
3647 .syntax = .comma_joined,
3648},
3649.{ .name = "fobjc-dispatch-method=", .syntax = .joined },
3650.{ .name = "foperator-arrow-depth=", .syntax = .joined },
3651.{ .name = "fprebuilt-module-path=", .syntax = .joined },
3652.{ .name = "fprofile-filter-files=", .syntax = .joined },
3653.{ .name = "fsanitize-memtag-mode=", .syntax = .joined },
3654.{ .name = "fspell-checking-limit=", .syntax = .joined },
3655.{ .name = "fvisibility-dllexport=", .syntax = .joined },
3656.{ .name = "fxray-function-groups=", .syntax = .joined },
3657.{ .name = "header-include-format=", .syntax = .joined },
3658.{
3659 .name = "hipstdpar-thrust-path=",
3660 .syntax = .joined,
3661 .pd1 = false,
3662 .pd2 = true,
3663},
3664.{ .name = "mlarge-data-threshold=", .syntax = .joined },
3665.{ .name = "msmall-data-threshold=", .syntax = .joined },
3666.{ .name = "mvscale-streaming-max=", .syntax = .joined },
3667.{ .name = "mvscale-streaming-min=", .syntax = .joined },
3668.{ .name = "Wlarge-by-value-copy=", .syntax = .joined },
3669.{ .name = "Xthinlto-distributor=", .syntax = .comma_joined },
3670.{ .name = "analyzer-constraints=", .syntax = .joined },
3671.{ .name = "analyzer-dump-egraph=", .syntax = .joined },
3672.{ .name = "compatibility_version", .syntax = .joined_or_separate },
3673.{ .name = "dylinker_install_name", .syntax = .joined_or_separate },
3674.{ .name = "fcoverage-prefix-map=", .syntax = .joined },
3675.{ .name = "fcs-profile-generate=", .syntax = .joined },
3676.{ .name = "fmcdc-max-conditions=", .syntax = .joined },
3677.{ .name = "fmodules-prune-after=", .syntax = .joined },
3678.{ .name = "fno-sanitize-recover=", .syntax = .comma_joined },
3679.{ .name = "fopenmp-target-debug=", .syntax = .joined },
3680.{ .name = "fsanitize-ignorelist=", .syntax = .joined },
3681.{ .name = "fthinlto-distributor=", .syntax = .joined },
3682.{ .name = "fzero-call-used-regs=", .syntax = .joined },
3683.{ .name = "iframeworkwithsysroot", .syntax = .joined_or_separate },
3684.{ .name = "mcode-object-version=", .syntax = .joined },
3685.{ .name = "mpad-max-prefix-size=", .syntax = .joined },
3686.{ .name = "mprefer-vector-width=", .syntax = .joined },
3687.{ .name = "msign-return-address=", .syntax = .joined },
3688.{ .name = "mwatchos-version-min=", .syntax = .joined },
3689.{
3690 .name = "rocm-device-lib-path=",
3691 .syntax = .joined,
3692 .pd1 = false,
3693 .pd2 = true,
3694},
3695.{
3696 .name = "system-header-prefix=",
3697 .syntax = .joined,
3698 .pd1 = false,
3699 .pd2 = true,
3700},
3701.{
3702 .name = "include-with-prefix=",
3703 .syntax = .joined,
3704 .pd1 = false,
3705 .pd2 = true,
3706},
3707.{ .name = "faltivec-src-compat=", .syntax = .joined },
3708.{
3709 .name = "hip-device-lib-path=",
3710 .syntax = .joined,
3711 .pd1 = false,
3712 .pd2 = true,
3713},
3714.{ .name = "mmacosx-version-min=", .syntax = .joined },
3715.{ .name = "coverage-notes-file=", .syntax = .joined },
3716.{ .name = "fsanitize-blacklist=", .syntax = .joined },
3717.{
3718 .name = "extract-api-ignores=",
3719 .syntax = .comma_joined,
3720 .pd1 = false,
3721 .pd2 = true,
3722},
3723.{ .name = "fbuild-session-file=", .syntax = .joined },
3724.{ .name = "fcomplex-arithmetic=", .syntax = .joined },
3725.{ .name = "fdiagnostics-format=", .syntax = .joined },
3726.{ .name = "fgpu-default-stream=", .syntax = .joined },
3727.{ .name = "fmax-stack-var-size=", .syntax = .joined },
3728.{ .name = "fmemory-profile-use=", .syntax = .joined },
3729.{ .name = "fmodules-cache-path=", .syntax = .joined },
3730.{ .name = "fmodules-embed-file=", .syntax = .joined },
3731.{ .name = "fms-omit-default-lib", .syntax = .joined },
3732.{ .name = "fprofile-instrument=", .syntax = .joined },
3733.{ .name = "fprofile-sample-use=", .syntax = .joined },
3734.{ .name = "fstrict-flex-arrays=", .syntax = .joined },
3735.{
3736 .name = "hipstdpar-prim-path=",
3737 .syntax = .joined,
3738 .pd1 = false,
3739 .pd2 = true,
3740},
3741.{
3742 .name = "no-cuda-include-ptx=",
3743 .syntax = .joined,
3744 .pd1 = false,
3745 .pd2 = true,
3746},
3747.{ .name = "fwinx64-eh-unwindv2=", .syntax = .joined },
3748.{ .name = "Wframe-larger-than=", .syntax = .joined },
3749.{ .name = "coverage-data-file=", .syntax = .joined },
3750.{ .name = "code-completion-at=", .syntax = .joined },
3751.{ .name = "fblas-matmul-limit=", .syntax = .joined },
3752.{ .name = "fcrash-diagnostics=", .syntax = .joined },
3753.{ .name = "fdiagnostics-color=", .syntax = .joined },
3754.{ .name = "femit-dwarf-unwind=", .syntax = .joined },
3755.{ .name = "ffixed-line-length=", .syntax = .joined },
3756.{ .name = "ffixed-line-length-", .syntax = .joined },
3757.{ .name = "ffuchsia-api-level=", .syntax = .joined },
3758.{ .name = "flimited-precision=", .syntax = .joined },
3759.{ .name = "fno-sanitize-merge=", .syntax = .comma_joined },
3760.{ .name = "fprofile-instr-use=", .syntax = .joined },
3761.{
3762 .name = "fsanitize-coverage=",
3763 .ze = .san_cov,
3764 .syntax = .comma_joined,
3765},
3766.{ .name = "fthin-link-bitcode=", .syntax = .joined },
3767.{ .name = "ftime-trace-verbose", .syntax = .joined },
3768.{
3769 .name = "gpu-instrument-lib=",
3770 .syntax = .joined,
3771 .pd1 = false,
3772 .pd2 = true,
3773},
3774.{
3775 .name = "hipspv-pass-plugin=",
3776 .syntax = .joined,
3777 .pd1 = false,
3778 .pd2 = true,
3779},
3780.{ .name = "mbranch-protection=", .syntax = .joined },
3781.{ .name = "mmacos-version-min=", .syntax = .joined },
3782.{
3783 .name = "output-asm-variant=",
3784 .syntax = .joined,
3785 .pd1 = false,
3786 .pd2 = true,
3787},
3788.{ .name = "pch-through-header=", .syntax = .joined },
3789.{ .name = "target-sdk-version=", .syntax = .joined },
3790.{
3791 .name = "execution-charset:",
3792 .syntax = .joined,
3793 .psl = true,
3794},
3795.{
3796 .name = "sourceDependencies",
3797 .syntax = .joined_or_separate,
3798 .psl = true,
3799},
3800.{
3801 .name = "include-directory=",
3802 .syntax = .joined,
3803 .pd1 = false,
3804 .pd2 = true,
3805},
3806.{
3807 .name = "library-directory=",
3808 .ze = .lib_dir,
3809 .syntax = .joined,
3810 .pd1 = false,
3811 .pd2 = true,
3812},
3813.{
3814 .name = "config-system-dir=",
3815 .syntax = .joined,
3816 .pd1 = false,
3817 .pd2 = true,
3818},
3819.{ .name = "fbinutils-version=", .syntax = .joined },
3820.{ .name = "fclang-abi-compat=", .syntax = .joined },
3821.{ .name = "fcodegen-data-use=", .syntax = .joined },
3822.{ .name = "fcompile-resource=", .syntax = .joined },
3823.{ .name = "fdebug-prefix-map=", .syntax = .joined },
3824.{ .name = "fdenormal-fp-math=", .syntax = .joined },
3825.{ .name = "fexcess-precision=", .syntax = .joined },
3826.{ .name = "fextend-arguments=", .syntax = .joined },
3827.{ .name = "ffree-line-length-", .syntax = .joined },
3828.{ .name = "fmacro-prefix-map=", .syntax = .joined },
3829.{
3830 .name = "fno-sanitize-trap=",
3831 .ze = .no_sanitize_trap,
3832 .syntax = .comma_joined,
3833},
3834.{ .name = "fobjc-abi-version=", .syntax = .joined },
3835.{ .name = "foutput-class-dir=", .syntax = .joined },
3836.{ .name = "fproc-stat-report=", .syntax = .joined },
3837.{ .name = "fprofile-generate=", .syntax = .joined },
3838.{ .name = "fsanitize-recover=", .syntax = .comma_joined },
3839.{ .name = "fsymbol-partition=", .syntax = .joined },
3840.{ .name = "mcompact-branches=", .syntax = .joined },
3841.{ .name = "msmall-data-limit=", .syntax = .joined },
3842.{ .name = "mstack-probe-size=", .syntax = .joined },
3843.{ .name = "mtvos-version-min=", .syntax = .joined },
3844.{
3845 .name = "offload-arch-tool=",
3846 .syntax = .joined,
3847 .pd1 = false,
3848 .pd2 = true,
3849},
3850.{ .name = "working-directory=", .syntax = .joined },
3851.{
3852 .name = "amdgpu-arch-tool=",
3853 .syntax = .joined,
3854 .pd1 = false,
3855 .pd2 = true,
3856},
3857.{ .name = "analyze-function=", .syntax = .joined },
3858.{ .name = "analyzer-checker=", .syntax = .joined },
3859.{ .name = "coverage-version=", .syntax = .joined },
3860.{
3861 .name = "cuda-include-ptx=",
3862 .syntax = .joined,
3863 .pd1 = false,
3864 .pd2 = true,
3865},
3866.{ .name = "falign-functions=", .syntax = .joined },
3867.{ .name = "fconstexpr-depth=", .syntax = .joined },
3868.{ .name = "fconstexpr-steps=", .syntax = .joined },
3869.{ .name = "ffile-prefix-map=", .syntax = .joined },
3870.{ .name = "fmodule-map-file=", .syntax = .joined },
3871.{ .name = "fobjc-arc-cxxlib=", .syntax = .joined },
3872.{ .name = "fproc-stat-report", .syntax = .joined },
3873.{ .name = "ftype-visibility=", .syntax = .joined },
3874.{ .name = "fwarn-stack-size=", .syntax = .joined },
3875.{ .name = "iapinotes-modules", .syntax = .joined_or_separate },
3876.{ .name = "iwithprefixbefore", .syntax = .joined_or_separate },
3877.{ .name = "malign-functions=", .syntax = .joined },
3878.{ .name = "mfunction-return=", .syntax = .joined },
3879.{ .name = "mios-version-min=", .syntax = .joined },
3880.{ .name = "mno-apx-features=", .syntax = .comma_joined },
3881.{ .name = "mrvv-vector-bits=", .syntax = .joined },
3882.{ .name = "mstack-alignment=", .syntax = .joined },
3883.{ .name = "msve-vector-bits=", .syntax = .joined },
3884.{
3885 .name = "multi-lib-config=",
3886 .syntax = .joined,
3887 .pd2 = true,
3888},
3889.{ .name = "mzos-sys-include=", .syntax = .joined },
3890.{
3891 .name = "no-cuda-gpu-arch=",
3892 .syntax = .joined,
3893 .pd1 = false,
3894 .pd2 = true,
3895},
3896.{ .name = "object-file-name=", .syntax = .joined },
3897.{
3898 .name = "symbol-graph-dir=",
3899 .syntax = .joined,
3900 .pd1 = false,
3901 .pd2 = true,
3902},
3903.{
3904 .name = "headerUnit:angle",
3905 .syntax = .joined_or_separate,
3906 .psl = true,
3907},
3908.{
3909 .name = "headerUnit:quote",
3910 .syntax = .joined_or_separate,
3911 .psl = true,
3912},
3913.{ .name = "analyzer-output=", .syntax = .joined },
3914.{ .name = "ftemplate-depth-", .syntax = .joined },
3915.{ .name = "ast-dump-filter=", .syntax = .joined },
3916.{
3917 .name = "config-user-dir=",
3918 .syntax = .joined,
3919 .pd1 = false,
3920 .pd2 = true,
3921},
3922.{ .name = "debug-info-kind=", .syntax = .joined },
3923.{ .name = "debugger-tuning=", .syntax = .joined },
3924.{ .name = "exception-model=", .syntax = .joined },
3925.{ .name = "fcf-runtime-abi=", .syntax = .joined },
3926.{ .name = "ffp-eval-method=", .syntax = .joined },
3927.{ .name = "finit-character=", .syntax = .joined },
3928.{ .name = "flto-partitions=", .syntax = .joined },
3929.{ .name = "fmax-type-align=", .syntax = .joined },
3930.{ .name = "fmemory-profile=", .syntax = .joined },
3931.{ .name = "fmessage-length=", .syntax = .joined },
3932.{ .name = "fms-runtime-lib=", .syntax = .joined },
3933.{ .name = "fopenmp-targets=", .syntax = .comma_joined },
3934.{ .name = "fopenmp-version=", .syntax = .joined },
3935.{ .name = "fprofile-update=", .syntax = .joined },
3936.{ .name = "fsanitize-merge=", .syntax = .comma_joined },
3937.{ .name = "fshow-overloads=", .syntax = .joined },
3938.{ .name = "fspv-target-env=", .syntax = .joined },
3939.{ .name = "fswift-async-fp=", .syntax = .joined },
3940.{ .name = "ftemplate-depth=", .syntax = .joined },
3941.{ .name = "fxray-attr-list=", .syntax = .joined },
3942.{
3943 .name = "gcc-install-dir=",
3944 .syntax = .joined,
3945 .pd1 = false,
3946 .pd2 = true,
3947},
3948.{ .name = "mlinker-version=", .syntax = .joined },
3949.{ .name = "mxcoff-build-id=", .syntax = .joined },
3950.{ .name = "mzos-hlq-csslib=", .syntax = .joined },
3951.{
3952 .name = "no-offload-arch=",
3953 .syntax = .joined,
3954 .pd1 = false,
3955 .pd2 = true,
3956},
3957.{
3958 .name = "nvptx-arch-tool=",
3959 .syntax = .joined,
3960 .pd1 = false,
3961 .pd2 = true,
3962},
3963.{
3964 .name = "offload-targets=",
3965 .syntax = .comma_joined,
3966 .pd1 = false,
3967 .pd2 = true,
3968},
3969.{
3970 .name = "print-file-name=",
3971 .syntax = .joined,
3972 .pd2 = true,
3973},
3974.{
3975 .name = "print-prog-name=",
3976 .syntax = .joined,
3977 .pd2 = true,
3978},
3979.{ .name = "reexport_library", .syntax = .joined_or_separate },
3980.{ .name = "stdlib++-isystem", .syntax = .joined_or_separate },
3981.{ .name = "Rpass-analysis=", .syntax = .joined },
3982.{ .name = "Xoffload-linker", .syntax = .joined_and_separate },
3983.{ .name = "Xopenmp-target=", .syntax = .joined_and_separate },
3984.{
3985 .name = "source-charset:",
3986 .syntax = .joined,
3987 .psl = true,
3988},
3989.{
3990 .name = "analyzer-output",
3991 .syntax = .joined_or_separate,
3992 .pd1 = false,
3993 .pd2 = true,
3994},
3995.{
3996 .name = "include-prefix=",
3997 .syntax = .joined,
3998 .pd1 = false,
3999 .pd2 = true,
4000},
4001.{
4002 .name = "undefine-macro=",
4003 .syntax = .joined,
4004 .pd1 = false,
4005 .pd2 = true,
4006},
4007.{ .name = "analyzer-purge=", .syntax = .joined },
4008.{ .name = "current_version", .syntax = .joined_or_separate },
4009.{ .name = "fbootclasspath=", .syntax = .joined },
4010.{ .name = "fbracket-depth=", .syntax = .joined },
4011.{ .name = "fcf-protection=", .syntax = .joined },
4012.{ .name = "fdepfile-entry=", .syntax = .joined },
4013.{ .name = "fembed-bitcode=", .syntax = .joined },
4014.{ .name = "finput-charset=", .syntax = .joined },
4015.{ .name = "fmodule-format=", .syntax = .joined },
4016.{ .name = "fmodule-header=", .syntax = .joined },
4017.{ .name = "fmodule-output=", .syntax = .joined },
4018.{ .name = "fms-memptr-rep=", .syntax = .joined },
4019.{
4020 .name = "fmultilib-flag=",
4021 .syntax = .joined,
4022 .pd2 = true,
4023},
4024.{ .name = "fnew-alignment=", .syntax = .joined },
4025.{ .name = "frecord-marker=", .syntax = .joined },
4026.{
4027 .name = "fsanitize-trap=",
4028 .ze = .sanitize_trap,
4029 .syntax = .comma_joined,
4030},
4031.{ .name = "fspv-extension=", .syntax = .joined },
4032.{ .name = "fthinlto-index=", .syntax = .joined },
4033.{ .name = "ftrap-function=", .syntax = .joined },
4034.{ .name = "ftrapv-handler=", .syntax = .joined },
4035.{
4036 .name = "funwind-tables=",
4037 .ze = .unwind_tables,
4038 .syntax = .joined,
4039},
4040.{ .name = "gen-reproducer=", .syntax = .joined },
4041.{
4042 .name = "hip-device-lib=",
4043 .syntax = .joined,
4044 .pd1 = false,
4045 .pd2 = true,
4046},
4047.{
4048 .name = "hipstdpar-path=",
4049 .syntax = .joined,
4050 .pd1 = false,
4051 .pd2 = true,
4052},
4053.{ .name = "mdynamic-no-pic", .syntax = .joined },
4054.{ .name = "mframe-pointer=", .syntax = .joined },
4055.{ .name = "mindirect-jump=", .syntax = .joined },
4056.{ .name = "mzos-hlq-clang=", .syntax = .joined },
4057.{ .name = "preamble-bytes=", .syntax = .joined },
4058.{ .name = "Wundef-prefix=", .syntax = .comma_joined },
4059.{
4060 .name = "vctoolsversion",
4061 .syntax = .joined_or_separate,
4062 .psl = true,
4063},
4064.{
4065 .name = "bootclasspath=",
4066 .syntax = .joined,
4067 .pd1 = false,
4068 .pd2 = true,
4069},
4070.{ .name = "complex-range=", .syntax = .joined },
4071.{
4072 .name = "cuda-gpu-arch=",
4073 .syntax = .joined,
4074 .pd1 = false,
4075 .pd2 = true,
4076},
4077.{
4078 .name = "dependent-lib=",
4079 .syntax = .joined,
4080 .pd1 = false,
4081 .pd2 = true,
4082},
4083.{ .name = "dwarf-version=", .syntax = .joined },
4084.{ .name = "falign-labels=", .syntax = .joined },
4085.{ .name = "fauto-profile=", .syntax = .joined },
4086.{ .name = "fexec-charset=", .syntax = .joined },
4087.{ .name = "fgnuc-version=", .syntax = .joined },
4088.{ .name = "finit-integer=", .syntax = .joined },
4089.{ .name = "finit-logical=", .syntax = .joined },
4090.{ .name = "finline-limit=", .syntax = .joined },
4091.{ .name = "fobjc-runtime=", .syntax = .joined },
4092.{ .name = "fprofile-list=", .syntax = .joined },
4093.{
4094 .name = "gcc-toolchain=",
4095 .syntax = .joined,
4096 .pd1 = false,
4097 .pd2 = true,
4098},
4099.{
4100 .name = "linker-option=",
4101 .syntax = .joined,
4102 .pd1 = false,
4103 .pd2 = true,
4104},
4105.{ .name = "malign-branch=", .syntax = .comma_joined },
4106.{ .name = "mapx-features=", .syntax = .comma_joined },
4107.{ .name = "vtordisp-mode=", .syntax = .joined },
4108.{ .name = "Rpass-missed=", .syntax = .joined },
4109.{ .name = "Wlarger-than-", .syntax = .joined },
4110.{ .name = "Wlarger-than=", .syntax = .joined },
4111.{
4112 .name = "experimental:",
4113 .syntax = .joined,
4114 .psl = true,
4115},
4116.{
4117 .name = "external:env:",
4118 .syntax = .joined,
4119 .psl = true,
4120},
4121.{
4122 .name = "funcoverride:",
4123 .syntax = .joined,
4124 .psl = true,
4125},
4126.{
4127 .name = "winsdkversion",
4128 .syntax = .joined_or_separate,
4129 .psl = true,
4130},
4131.{
4132 .name = "define-macro=",
4133 .syntax = .joined,
4134 .pd1 = false,
4135 .pd2 = true,
4136},
4137.{ .name = "ast-dump-all=", .syntax = .joined },
4138.{
4139 .name = "autocomplete=",
4140 .syntax = .joined,
4141 .pd1 = false,
4142 .pd2 = true,
4143},
4144.{
4145 .name = "cuda-feature=",
4146 .syntax = .joined,
4147 .pd1 = false,
4148 .pd2 = true,
4149},
4150.{ .name = "falign-jumps=", .syntax = .joined },
4151.{ .name = "falign-loops=", .syntax = .joined },
4152.{ .name = "faligned-new=", .syntax = .joined },
4153.{ .name = "ferror-limit=", .syntax = .joined },
4154.{ .name = "ffp-contract=", .syntax = .joined },
4155.{ .name = "fmodule-file=", .syntax = .joined },
4156.{ .name = "fmodule-name=", .syntax = .joined },
4157.{ .name = "fmsc-version=", .syntax = .joined },
4158.{
4159 .name = "fno-sanitize=",
4160 .ze = .no_sanitize,
4161 .syntax = .comma_joined,
4162},
4163.{ .name = "foffload-lto=", .syntax = .joined },
4164.{ .name = "fpack-struct=", .syntax = .joined },
4165.{ .name = "fpass-plugin=", .syntax = .joined },
4166.{ .name = "fprofile-dir=", .syntax = .joined },
4167.{ .name = "fprofile-use=", .syntax = .joined },
4168.{ .name = "frandom-seed=", .syntax = .joined },
4169.{ .name = "ftime-report=", .syntax = .joined },
4170.{ .name = "gsplit-dwarf=", .syntax = .joined },
4171.{ .name = "isystem-after", .syntax = .joined_or_separate },
4172.{ .name = "malign-jumps=", .syntax = .joined },
4173.{ .name = "malign-loops=", .syntax = .joined },
4174.{ .name = "mframe-chain=", .syntax = .joined },
4175.{ .name = "mimplicit-it=", .syntax = .joined },
4176.{ .name = "mprintf-kind=", .syntax = .joined },
4177.{ .name = "mtls-dialect=", .syntax = .joined },
4178.{
4179 .name = "offload-arch=",
4180 .syntax = .comma_joined,
4181 .pd1 = false,
4182 .pd2 = true,
4183},
4184.{
4185 .name = "offload-jobs=",
4186 .syntax = .joined,
4187 .pd1 = false,
4188 .pd2 = true,
4189},
4190.{ .name = "pagezero_size", .syntax = .joined_or_separate },
4191.{
4192 .name = "product-name=",
4193 .syntax = .joined,
4194 .pd1 = false,
4195 .pd2 = true,
4196},
4197.{ .name = "resource-dir=", .syntax = .joined },
4198.{
4199 .name = "dynamicdeopt",
4200 .syntax = .joined,
4201 .psl = true,
4202},
4203.{
4204 .name = "dyld-prefix=",
4205 .syntax = .joined,
4206 .pd1 = false,
4207 .pd2 = true,
4208},
4209.{
4210 .name = "driver-mode=",
4211 .syntax = .joined,
4212 .pd1 = false,
4213 .pd2 = true,
4214},
4215.{ .name = "fmax-errors=", .syntax = .joined },
4216.{ .name = "fmax-tokens=", .syntax = .joined },
4217.{ .name = "fno-builtin-", .syntax = .joined },
4218.{ .name = "fplugin-arg-", .syntax = .joined },
4219.{ .name = "ftime-trace=", .syntax = .joined },
4220.{ .name = "fvisibility=", .syntax = .joined },
4221.{ .name = "fwchar-type=", .syntax = .joined },
4222.{ .name = "fxray-modes=", .syntax = .joined },
4223.{
4224 .name = "hip-version=",
4225 .syntax = .joined,
4226 .pd1 = false,
4227 .pd2 = true,
4228},
4229.{ .name = "iwithsysroot", .syntax = .joined_or_separate },
4230.{
4231 .name = "mexec-model=",
4232 .ze = .exec_model,
4233 .syntax = .joined,
4234},
4235.{ .name = "mharden-sls=", .syntax = .joined },
4236.{ .name = "mhvx-length=", .syntax = .joined },
4237.{ .name = "mno-tocdata=", .syntax = .comma_joined },
4238.{ .name = "mvscale-max=", .syntax = .joined },
4239.{ .name = "mvscale-min=", .syntax = .joined },
4240.{ .name = "mzos-hlq-le=", .syntax = .joined },
4241.{ .name = "mzos-target=", .syntax = .joined },
4242.{
4243 .name = "rsp-quoting=",
4244 .syntax = .joined,
4245 .pd1 = false,
4246 .pd2 = true,
4247},
4248.{ .name = "std-default=", .syntax = .joined },
4249.{ .name = "sub_umbrella", .syntax = .joined_or_separate },
4250.{
4251 .name = "Qpar-report",
4252 .syntax = .joined,
4253 .psl = true,
4254},
4255.{
4256 .name = "Qvec-report",
4257 .syntax = .joined,
4258 .psl = true,
4259},
4260.{
4261 .name = "errorReport",
4262 .syntax = .joined,
4263 .psl = true,
4264},
4265.{
4266 .name = "headerName:",
4267 .syntax = .joined,
4268 .psl = true,
4269},
4270.{
4271 .name = "for-linker=",
4272 .ze = .for_linker,
4273 .syntax = .joined,
4274 .pd1 = false,
4275 .pd2 = true,
4276},
4277.{
4278 .name = "force-link=",
4279 .syntax = .joined,
4280 .pd1 = false,
4281 .pd2 = true,
4282},
4283.{ .name = "client_name", .syntax = .joined_or_separate },
4284.{ .name = "cxx-isystem", .syntax = .joined_or_separate },
4285.{ .name = "fclasspath=", .syntax = .joined },
4286.{ .name = "finit-real=", .syntax = .joined },
4287.{ .name = "fforce-addr", .syntax = .joined },
4288.{ .name = "ftls-model=", .syntax = .joined },
4289.{
4290 .name = "gcc-triple=",
4291 .syntax = .joined,
4292 .pd1 = false,
4293 .pd2 = true,
4294},
4295.{ .name = "inline-asm=", .syntax = .joined },
4296.{ .name = "ivfsoverlay", .syntax = .joined_or_separate },
4297.{ .name = "iwithprefix", .syntax = .joined_or_separate },
4298.{ .name = "mfloat-abi=", .syntax = .joined },
4299.{ .name = "plugin-arg-", .syntax = .joined_and_separate },
4300.{
4301 .name = "ptxas-path=",
4302 .syntax = .joined,
4303 .pd1 = false,
4304 .pd2 = true,
4305},
4306.{
4307 .name = "save-stats=",
4308 .syntax = .joined,
4309 .pd2 = true,
4310},
4311.{
4312 .name = "save-temps=",
4313 .syntax = .joined,
4314 .pd2 = true,
4315},
4316.{ .name = "stats-file=", .syntax = .joined },
4317.{ .name = "sub_library", .syntax = .joined_or_separate },
4318.{
4319 .name = "CLASSPATH=",
4320 .syntax = .joined,
4321 .pd1 = false,
4322 .pd2 = true,
4323},
4324.{
4325 .name = "constexpr:",
4326 .syntax = .joined,
4327 .psl = true,
4328},
4329.{
4330 .name = "external:I",
4331 .syntax = .joined_or_separate,
4332 .psl = true,
4333},
4334.{
4335 .name = "headerUnit",
4336 .syntax = .joined_or_separate,
4337 .psl = true,
4338},
4339.{
4340 .name = "vctoolsdir",
4341 .syntax = .joined_or_separate,
4342 .psl = true,
4343},
4344.{
4345 .name = "winsysroot",
4346 .syntax = .joined_or_separate,
4347 .psl = true,
4348},
4349.{
4350 .name = "classpath=",
4351 .syntax = .joined,
4352 .pd1 = false,
4353 .pd2 = true,
4354},
4355.{
4356 .name = "cuda-path=",
4357 .syntax = .joined,
4358 .pd1 = false,
4359 .pd2 = true,
4360},
4361.{
4362 .name = "embed-dir=",
4363 .syntax = .joined,
4364 .pd1 = false,
4365 .pd2 = true,
4366},
4367.{ .name = "fencoding=", .syntax = .joined },
4368.{ .name = "ffp-model=", .syntax = .joined },
4369.{ .name = "ffpe-trap=", .syntax = .joined },
4370.{ .name = "flto-jobs=", .syntax = .joined },
4371.{
4372 .name = "fsanitize=",
4373 .ze = .sanitize,
4374 .syntax = .comma_joined,
4375},
4376.{ .name = "fuse-cuid=", .syntax = .joined },
4377.{ .name = "fuse-lipo=", .syntax = .joined },
4378.{ .name = "gsrc-hash=", .syntax = .joined },
4379.{ .name = "iframework", .syntax = .joined_or_separate },
4380.{ .name = "module-dir", .syntax = .joined_or_separate },
4381.{ .name = "mtargetos=", .syntax = .joined },
4382.{ .name = "mtls-size=", .syntax = .joined },
4383.{ .name = "reexport-l", .syntax = .joined },
4384.{
4385 .name = "rocm-path=",
4386 .syntax = .joined,
4387 .pd1 = false,
4388 .pd2 = true,
4389},
4390.{ .name = "segs_read_", .syntax = .joined },
4391.{
4392 .name = "unwindlib=",
4393 .syntax = .joined,
4394 .pd2 = true,
4395},
4396.{
4397 .name = "vfsoverlay",
4398 .syntax = .joined_or_separate,
4399 .pd2 = true,
4400},
4401.{
4402 .name = "cgthreads",
4403 .syntax = .joined,
4404 .psl = true,
4405},
4406.{
4407 .name = "diasdkdir",
4408 .syntax = .joined_or_separate,
4409 .psl = true,
4410},
4411.{
4412 .name = "external:",
4413 .syntax = .joined,
4414 .psl = true,
4415},
4416.{
4417 .name = "reference",
4418 .syntax = .joined_or_separate,
4419 .psl = true,
4420},
4421.{
4422 .name = "winsdkdir",
4423 .syntax = .joined_or_separate,
4424 .psl = true,
4425},
4426.{
4427 .name = "encoding=",
4428 .syntax = .joined,
4429 .pd1 = false,
4430 .pd2 = true,
4431},
4432.{
4433 .name = "language=",
4434 .syntax = .joined,
4435 .pd1 = false,
4436 .pd2 = true,
4437},
4438.{
4439 .name = "optimize=",
4440 .ze = .optimize,
4441 .syntax = .joined,
4442 .pd1 = false,
4443 .pd2 = true,
4444},
4445.{
4446 .name = "resource=",
4447 .syntax = .joined,
4448 .pd1 = false,
4449 .pd2 = true,
4450},
4451.{ .name = "Xclangas=", .syntax = .joined },
4452.{ .name = "ast-dump=", .syntax = .joined },
4453.{
4454 .name = "dxv-path=",
4455 .syntax = .joined,
4456 .pd1 = false,
4457 .pd2 = true,
4458},
4459.{ .name = "fcoarray=", .syntax = .joined },
4460.{ .name = "fconvert=", .syntax = .joined },
4461.{ .name = "fc++-abi=", .syntax = .joined },
4462.{ .name = "fextdirs=", .syntax = .joined },
4463.{ .name = "ftabstop=", .syntax = .joined },
4464.{
4465 .name = "hip-path=",
4466 .syntax = .joined,
4467 .pd1 = false,
4468 .pd2 = true,
4469},
4470.{ .name = "idirafter", .syntax = .joined_or_separate },
4471.{ .name = "mregparm=", .syntax = .joined },
4472.{ .name = "mtocdata=", .syntax = .comma_joined },
4473.{ .name = "sycl-std=", .syntax = .joined },
4474.{
4475 .name = "undefined",
4476 .ze = .undefined,
4477 .syntax = .joined_or_separate,
4478},
4479.{
4480 .name = "extdirs=",
4481 .syntax = .joined,
4482 .pd1 = false,
4483 .pd2 = true,
4484},
4485.{
4486 .name = "imacros=",
4487 .syntax = .joined,
4488 .pd1 = false,
4489 .pd2 = true,
4490},
4491.{
4492 .name = "include=",
4493 .syntax = .joined,
4494 .pd1 = false,
4495 .pd2 = true,
4496},
4497.{
4498 .name = "sysroot=",
4499 .ze = .sysroot,
4500 .syntax = .joined,
4501 .pd1 = false,
4502 .pd2 = true,
4503},
4504.{ .name = "dsym-dir", .syntax = .joined_or_separate },
4505.{ .name = "fopenmp=", .syntax = .joined },
4506.{ .name = "fplugin=", .syntax = .joined },
4507.{ .name = "fuse-ld=", .syntax = .joined },
4508.{ .name = "fveclib=", .syntax = .joined },
4509.{ .name = "isysroot", .syntax = .joined_or_separate },
4510.{
4511 .name = "ld-path=",
4512 .syntax = .joined,
4513 .pd1 = false,
4514 .pd2 = true,
4515},
4516.{ .name = "mcmodel=", .syntax = .joined },
4517.{ .name = "mconsole", .syntax = .joined },
4518.{ .name = "mdouble=", .syntax = .joined },
4519.{ .name = "mfpmath=", .syntax = .joined },
4520.{ .name = "mhwmult=", .syntax = .joined },
4521.{ .name = "mthreads", .syntax = .joined },
4522.{
4523 .name = "municode",
4524 .ze = .mingw_unicode_entry_point,
4525 .syntax = .joined,
4526},
4527.{ .name = "mwindows", .syntax = .joined },
4528.{
4529 .name = "offload=",
4530 .syntax = .comma_joined,
4531 .pd1 = false,
4532 .pd2 = true,
4533},
4534.{ .name = "seg1addr", .syntax = .joined_or_separate },
4535.{
4536 .name = "assert=",
4537 .syntax = .joined,
4538 .pd1 = false,
4539 .pd2 = true,
4540},
4541.{
4542 .name = "mhwdiv=",
4543 .syntax = .joined,
4544 .pd1 = false,
4545 .pd2 = true,
4546},
4547.{
4548 .name = "output=",
4549 .syntax = .joined,
4550 .pd1 = false,
4551 .pd2 = true,
4552},
4553.{
4554 .name = "prefix=",
4555 .syntax = .joined,
4556 .pd1 = false,
4557 .pd2 = true,
4558},
4559.{ .name = "Xclang=", .syntax = .joined },
4560.{ .name = "cl-ext=", .syntax = .comma_joined },
4561.{ .name = "cl-std=", .syntax = .joined },
4562.{
4563 .name = "config=",
4564 .syntax = .joined,
4565 .pd1 = false,
4566 .pd2 = true,
4567},
4568.{ .name = "fcheck=", .syntax = .joined },
4569.{
4570 .name = "imacros",
4571 .syntax = .joined_or_separate,
4572 .pd2 = true,
4573},
4574.{
4575 .name = "include",
4576 .syntax = .joined_or_separate,
4577 .pd2 = true,
4578},
4579.{ .name = "iprefix", .syntax = .joined_or_separate },
4580.{ .name = "isystem", .syntax = .joined_or_separate },
4581.{ .name = "marm64x", .syntax = .joined },
4582.{ .name = "mguard=", .syntax = .joined },
4583.{ .name = "mhwdiv=", .syntax = .joined },
4584.{ .name = "moslib=", .syntax = .joined },
4585.{ .name = "mrecip=", .syntax = .comma_joined },
4586.{
4587 .name = "stdlib=",
4588 .syntax = .joined,
4589 .pd2 = true,
4590},
4591.{
4592 .name = "target=",
4593 .ze = .target,
4594 .syntax = .joined,
4595 .pd1 = false,
4596 .pd2 = true,
4597},
4598.{ .name = "triple=", .syntax = .joined },
4599.{ .name = "verify=", .syntax = .comma_joined },
4600.{ .name = "Rpass=", .syntax = .joined },
4601.{ .name = "Xarch_", .syntax = .joined_and_separate },
4602.{
4603 .name = "await:",
4604 .syntax = .joined,
4605 .psl = true,
4606},
4607.{
4608 .name = "clang:",
4609 .syntax = .joined,
4610 .psl = true,
4611},
4612.{
4613 .name = "guard:",
4614 .syntax = .joined,
4615 .psl = true,
4616},
4617.{
4618 .name = "debug=",
4619 .ze = .debug,
4620 .syntax = .joined,
4621 .pd1 = false,
4622 .pd2 = true,
4623},
4624.{
4625 .name = "param=",
4626 .syntax = .joined,
4627 .pd1 = false,
4628 .pd2 = true,
4629},
4630.{
4631 .name = "warn-=",
4632 .syntax = .joined,
4633 .pd1 = false,
4634 .pd2 = true,
4635},
4636.{ .name = "mllvm=", .syntax = .joined },
4637.{ .name = "fixit=", .syntax = .joined },
4638.{ .name = "gstabs", .syntax = .joined },
4639.{ .name = "gxcoff", .syntax = .joined },
4640.{ .name = "iquote", .syntax = .joined_or_separate },
4641.{
4642 .name = "march=",
4643 .ze = .mcpu,
4644 .syntax = .joined,
4645},
4646.{ .name = "msimd=", .syntax = .joined },
4647.{
4648 .name = "mtune=",
4649 .ze = .mcpu,
4650 .syntax = .joined,
4651},
4652.{
4653 .name = "rtlib=",
4654 .ze = .rtlib,
4655 .syntax = .joined,
4656 .pd2 = true,
4657},
4658.{
4659 .name = "specs=",
4660 .syntax = .joined,
4661 .pd2 = true,
4662},
4663.{
4664 .name = "weak-l",
4665 .ze = .weak_library,
4666 .syntax = .joined,
4667},
4668.{ .name = "Ofast", .ze = .optimize },
4669.{
4670 .name = "arch:",
4671 .syntax = .joined,
4672 .psl = true,
4673},
4674.{
4675 .name = "favor",
4676 .syntax = .joined,
4677 .psl = true,
4678},
4679.{
4680 .name = "imsvc",
4681 .syntax = .joined_or_separate,
4682 .psl = true,
4683},
4684.{
4685 .name = "tune:",
4686 .syntax = .joined,
4687 .psl = true,
4688},
4689.{
4690 .name = "warn-",
4691 .syntax = .joined,
4692 .pd1 = false,
4693 .pd2 = true,
4694},
4695.{ .name = "cuid=", .syntax = .joined },
4696.{
4697 .name = "flto=",
4698 .ze = .lto,
4699 .syntax = .joined,
4700},
4701.{ .name = "gcoff", .syntax = .joined },
4702.{ .name = "mabi=", .syntax = .joined },
4703.{ .name = "mabs=", .syntax = .joined },
4704.{ .name = "masm=", .syntax = .joined },
4705.{
4706 .name = "mcpu=",
4707 .ze = .mcpu,
4708 .syntax = .joined,
4709},
4710.{ .name = "mfpu=", .syntax = .joined },
4711.{ .name = "mhvx=", .syntax = .joined },
4712.{ .name = "mmcu=", .syntax = .joined },
4713.{ .name = "mnan=", .syntax = .joined },
4714.{
4715 .name = "link",
4716 .syntax = .remaining_args_joined,
4717 .psl = true,
4718},
4719.{
4720 .name = "std:",
4721 .syntax = .joined,
4722 .psl = true,
4723},
4724.{ .name = "ccc-", .syntax = .joined },
4725.{ .name = "gvms", .syntax = .joined },
4726.{ .name = "mdll", .syntax = .joined },
4727.{ .name = "mtp=", .syntax = .joined },
4728.{
4729 .name = "std=",
4730 .syntax = .joined,
4731 .pd2 = true,
4732},
4733.{ .name = "Wa,", .syntax = .comma_joined },
4734.{
4735 .name = "Wl,",
4736 .ze = .wl,
4737 .syntax = .comma_joined,
4738},
4739.{
4740 .name = "Wp,",
4741 .ze = .wp,
4742 .syntax = .comma_joined,
4743},
4744.{
4745 .name = "Fe:",
4746 .syntax = .joined_or_separate,
4747 .psl = true,
4748},
4749.{
4750 .name = "Fi:",
4751 .syntax = .joined_or_separate,
4752 .psl = true,
4753},
4754.{
4755 .name = "Fo:",
4756 .syntax = .joined_or_separate,
4757 .psl = true,
4758},
4759.{
4760 .name = "Fp:",
4761 .syntax = .joined_or_separate,
4762 .psl = true,
4763},
4764.{
4765 .name = "RTC",
4766 .syntax = .joined,
4767 .psl = true,
4768},
4769.{
4770 .name = "Zc:",
4771 .syntax = .joined,
4772 .psl = true,
4773},
4774.{
4775 .name = "clr",
4776 .syntax = .joined,
4777 .psl = true,
4778},
4779.{
4780 .name = "doc",
4781 .syntax = .joined,
4782 .psl = true,
4783},
4784.{ .name = "gz=", .syntax = .joined },
4785.{ .name = "A-", .syntax = .joined },
4786.{ .name = "G=", .syntax = .joined },
4787.{
4788 .name = "MF",
4789 .ze = .dep_file,
4790 .syntax = .joined_or_separate,
4791},
4792.{
4793 .name = "MJ",
4794 .ze = .dep_file,
4795 .syntax = .joined_or_separate,
4796},
4797.{
4798 .name = "MQ",
4799 .ze = .dep_file,
4800 .syntax = .joined_or_separate,
4801},
4802.{
4803 .name = "MT",
4804 .ze = .dep_file,
4805 .syntax = .joined_or_separate,
4806},
4807.{
4808 .name = "AI",
4809 .syntax = .joined_or_separate,
4810 .psl = true,
4811},
4812.{
4813 .name = "EH",
4814 .syntax = .joined,
4815 .psl = true,
4816},
4817.{
4818 .name = "FA",
4819 .syntax = .joined,
4820 .psl = true,
4821},
4822.{
4823 .name = "FI",
4824 .syntax = .joined_or_separate,
4825 .psl = true,
4826},
4827.{
4828 .name = "FR",
4829 .syntax = .joined,
4830 .psl = true,
4831},
4832.{
4833 .name = "FU",
4834 .syntax = .joined_or_separate,
4835 .psl = true,
4836},
4837.{
4838 .name = "Fa",
4839 .syntax = .joined,
4840 .psl = true,
4841},
4842.{
4843 .name = "Fd",
4844 .syntax = .joined,
4845 .psl = true,
4846},
4847.{
4848 .name = "Fe",
4849 .syntax = .joined,
4850 .psl = true,
4851},
4852.{
4853 .name = "Fi",
4854 .syntax = .joined,
4855 .psl = true,
4856},
4857.{
4858 .name = "Fm",
4859 .syntax = .joined,
4860 .psl = true,
4861},
4862.{
4863 .name = "Fo",
4864 .syntax = .joined,
4865 .psl = true,
4866},
4867.{
4868 .name = "Fp",
4869 .syntax = .joined,
4870 .psl = true,
4871},
4872.{
4873 .name = "Fr",
4874 .syntax = .joined,
4875 .psl = true,
4876},
4877.{
4878 .name = "Gs",
4879 .syntax = .joined,
4880 .psl = true,
4881},
4882.{
4883 .name = "MP",
4884 .ze = .dep_file,
4885 .syntax = .joined,
4886 .psl = true,
4887},
4888.{
4889 .name = "Tc",
4890 .syntax = .joined_or_separate,
4891 .psl = true,
4892},
4893.{
4894 .name = "Tp",
4895 .syntax = .joined_or_separate,
4896 .psl = true,
4897},
4898.{
4899 .name = "Wv",
4900 .syntax = .joined,
4901 .psl = true,
4902},
4903.{
4904 .name = "Yc",
4905 .syntax = .joined,
4906 .psl = true,
4907},
4908.{
4909 .name = "Yl",
4910 .syntax = .joined,
4911 .psl = true,
4912},
4913.{
4914 .name = "Yu",
4915 .syntax = .joined,
4916 .psl = true,
4917},
4918.{
4919 .name = "ZW",
4920 .syntax = .joined,
4921 .psl = true,
4922},
4923.{
4924 .name = "Zm",
4925 .syntax = .joined,
4926 .psl = true,
4927},
4928.{
4929 .name = "Zp",
4930 .syntax = .joined,
4931 .psl = true,
4932},
4933.{
4934 .name = "d1",
4935 .syntax = .joined,
4936 .psl = true,
4937},
4938.{
4939 .name = "d2",
4940 .syntax = .joined,
4941 .psl = true,
4942},
4943.{
4944 .name = "vd",
4945 .syntax = .joined,
4946 .psl = true,
4947},
4948.{
4949 .name = "wd",
4950 .syntax = .joined,
4951 .psl = true,
4952},
4953.{
4954 .name = "Fc",
4955 .syntax = .joined_or_separate,
4956 .psl = true,
4957},
4958.{
4959 .name = "Fo",
4960 .syntax = .joined_or_separate,
4961 .psl = true,
4962},
4963.{ .name = "A", .syntax = .joined_or_separate },
4964.{ .name = "B", .syntax = .joined_or_separate },
4965.{ .name = "D", .syntax = .joined_or_separate },
4966.{
4967 .name = "F",
4968 .ze = .framework_dir,
4969 .syntax = .joined_or_separate,
4970},
4971.{ .name = "G", .syntax = .joined_or_separate },
4972.{ .name = "I", .syntax = .joined_or_separate },
4973.{ .name = "J", .syntax = .joined_or_separate },
4974.{
4975 .name = "L",
4976 .ze = .lib_dir,
4977 .syntax = .joined_or_separate,
4978},
4979.{
4980 .name = "O",
4981 .ze = .optimize,
4982 .syntax = .joined,
4983},
4984.{ .name = "R", .syntax = .joined },
4985.{
4986 .name = "T",
4987 .ze = .linker_script,
4988 .syntax = .joined_or_separate,
4989},
4990.{ .name = "U", .syntax = .joined_or_separate },
4991.{ .name = "V", .syntax = .joined_or_separate },
4992.{ .name = "W", .syntax = .joined },
4993.{
4994 .name = "D",
4995 .syntax = .joined_or_separate,
4996 .psl = true,
4997},
4998.{
4999 .name = "F",
5000 .ze = .framework_dir,
5001 .syntax = .joined_or_separate,
5002 .psl = true,
5003},
5004.{
5005 .name = "I",
5006 .syntax = .joined_or_separate,
5007 .psl = true,
5008},
5009.{
5010 .name = "O",
5011 .ze = .optimize,
5012 .syntax = .joined,
5013 .psl = true,
5014},
5015.{
5016 .name = "U",
5017 .syntax = .joined_or_separate,
5018 .psl = true,
5019},
5020.{
5021 .name = "o",
5022 .ze = .o,
5023 .syntax = .joined_or_separate,
5024 .psl = true,
5025},
5026.{
5027 .name = "w",
5028 .syntax = .joined,
5029 .psl = true,
5030},
5031.{ .name = "b", .syntax = .joined_or_separate },
5032.{ .name = "d", .syntax = .joined },
5033.{
5034 .name = "l",
5035 .ze = .l,
5036 .syntax = .joined_or_separate,
5037},
5038.{
5039 .name = "o",
5040 .ze = .o,
5041 .syntax = .joined_or_separate,
5042},
5043.{
5044 .name = "T",
5045 .ze = .linker_script,
5046 .syntax = .joined_or_separate,
5047 .psl = true,
5048},
5049.{
5050 .name = "u",
5051 .ze = .force_undefined_symbol,
5052 .syntax = .joined_or_separate,
5053},
5054.{
5055 .name = "x",
5056 .ze = .x,
5057 .syntax = .joined_or_separate,
5058},
5059.{ .name = "y", .syntax = .joined },
5060}
\ No newline at end of file
src/clang_options_data.zig deleted-8622
......@@ -1,8622 +0,0 @@
1// This file is generated by tools/update_clang_options.zig.
2// zig fmt: off
3const clang_options = @import("clang_options.zig");
4const CliArg = clang_options.CliArg;
5const flagpd1 = clang_options.flagpd1;
6const flagpsl = clang_options.flagpsl;
7const joinpd1 = clang_options.joinpd1;
8const jspd1 = clang_options.jspd1;
9const sepd1 = clang_options.sepd1;
10const m = clang_options.m;
11pub const data = blk: { @setEvalBranchQuota(6000); break :blk &[_]CliArg{
12flagpd1("C"),
13flagpd1("CC"),
14.{
15 .name = "E",
16 .syntax = .flag,
17 .zig_equivalent = .preprocess_only,
18 .pd1 = true,
19 .pd2 = false,
20 .psl = false,
21},
22flagpd1("EB"),
23flagpd1("EL"),
24flagpd1("Eonly"),
25flagpd1("faapcs-bitfield-load"),
26flagpd1("H"),
27.{
28 .name = "<input>",
29 .syntax = .flag,
30 .zig_equivalent = .other,
31 .pd1 = false,
32 .pd2 = false,
33 .psl = false,
34},
35flagpd1("I-"),
36flagpd1("K"),
37.{
38 .name = "M",
39 .syntax = .flag,
40 .zig_equivalent = .dep_file_to_stdout,
41 .pd1 = true,
42 .pd2 = false,
43 .psl = false,
44},
45.{
46 .name = "MD",
47 .syntax = .flag,
48 .zig_equivalent = .dep_file,
49 .pd1 = true,
50 .pd2 = false,
51 .psl = false,
52},
53.{
54 .name = "MG",
55 .syntax = .flag,
56 .zig_equivalent = .dep_file,
57 .pd1 = true,
58 .pd2 = false,
59 .psl = false,
60},
61.{
62 .name = "MM",
63 .syntax = .flag,
64 .zig_equivalent = .dep_file_to_stdout,
65 .pd1 = true,
66 .pd2 = false,
67 .psl = false,
68},
69.{
70 .name = "MMD",
71 .syntax = .flag,
72 .zig_equivalent = .dep_file,
73 .pd1 = true,
74 .pd2 = false,
75 .psl = false,
76},
77.{
78 .name = "MP",
79 .syntax = .flag,
80 .zig_equivalent = .dep_file,
81 .pd1 = true,
82 .pd2 = false,
83 .psl = false,
84},
85.{
86 .name = "MV",
87 .syntax = .flag,
88 .zig_equivalent = .dep_file,
89 .pd1 = true,
90 .pd2 = false,
91 .psl = false,
92},
93flagpd1("Mach"),
94.{
95 .name = "O0",
96 .syntax = .flag,
97 .zig_equivalent = .optimize,
98 .pd1 = true,
99 .pd2 = false,
100 .psl = false,
101},
102.{
103 .name = "O4",
104 .syntax = .flag,
105 .zig_equivalent = .optimize,
106 .pd1 = true,
107 .pd2 = false,
108 .psl = false,
109},
110.{
111 .name = "O",
112 .syntax = .flag,
113 .zig_equivalent = .optimize,
114 .pd1 = true,
115 .pd2 = false,
116 .psl = false,
117},
118.{
119 .name = "ObjC",
120 .syntax = .flag,
121 .zig_equivalent = .force_load_objc,
122 .pd1 = true,
123 .pd2 = false,
124 .psl = false,
125},
126flagpd1("ObjC++"),
127flagpd1("P"),
128flagpd1("Q"),
129flagpd1("Qn"),
130flagpd1("Qunused-arguments"),
131flagpd1("Qy"),
132.{
133 .name = "S",
134 .syntax = .flag,
135 .zig_equivalent = .asm_only,
136 .pd1 = true,
137 .pd2 = false,
138 .psl = false,
139},
140.{
141 .name = "<unknown>",
142 .syntax = .flag,
143 .zig_equivalent = .other,
144 .pd1 = false,
145 .pd2 = false,
146 .psl = false,
147},
148flagpd1("WCL4"),
149flagpd1("Wall"),
150flagpd1("Wdeprecated"),
151flagpd1("Wframe-larger-than"),
152flagpd1("Winvalid-constexpr"),
153flagpd1("Winvalid-gnu-asm-cast"),
154flagpd1("Wlarge-by-value-copy"),
155flagpd1("Wno-deprecated"),
156flagpd1("Wno-invalid-constexpr"),
157flagpd1("Wno-rewrite-macros"),
158flagpd1("Wno-system-headers"),
159flagpd1("Wno-write-strings"),
160flagpd1("Wsystem-headers"),
161flagpd1("Wwrite-strings"),
162flagpd1("X"),
163sepd1("Xanalyzer"),
164sepd1("Xarch_device"),
165sepd1("Xarch_host"),
166sepd1("Xassembler"),
167sepd1("Xclang"),
168sepd1("Xclangas"),
169sepd1("Xcuda-fatbinary"),
170sepd1("Xcuda-ptxas"),
171sepd1("Xflang"),
172.{
173 .name = "Xlinker",
174 .syntax = .separate,
175 .zig_equivalent = .for_linker,
176 .pd1 = true,
177 .pd2 = false,
178 .psl = false,
179},
180sepd1("Xopenmp-target"),
181sepd1("Xpreprocessor"),
182flagpd1("Z"),
183flagpd1("Z-Xlinker-no-demangle"),
184flagpd1("Z-reserved-lib-cckext"),
185flagpd1("Z-reserved-lib-stdc++"),
186sepd1("Zlinker-input"),
187.{
188 .name = "CLASSPATH",
189 .syntax = .separate,
190 .zig_equivalent = .other,
191 .pd1 = false,
192 .pd2 = true,
193 .psl = false,
194},
195.{
196 .name = "###",
197 .syntax = .flag,
198 .zig_equivalent = .dry_run,
199 .pd1 = true,
200 .pd2 = false,
201 .psl = false,
202},
203.{
204 .name = "Brepro",
205 .syntax = .flag,
206 .zig_equivalent = .other,
207 .pd1 = true,
208 .pd2 = false,
209 .psl = true,
210},
211.{
212 .name = "Brepro-",
213 .syntax = .flag,
214 .zig_equivalent = .other,
215 .pd1 = true,
216 .pd2 = false,
217 .psl = true,
218},
219.{
220 .name = "Bt",
221 .syntax = .flag,
222 .zig_equivalent = .other,
223 .pd1 = true,
224 .pd2 = false,
225 .psl = true,
226},
227.{
228 .name = "Bt+",
229 .syntax = .flag,
230 .zig_equivalent = .other,
231 .pd1 = true,
232 .pd2 = false,
233 .psl = true,
234},
235.{
236 .name = "C",
237 .syntax = .flag,
238 .zig_equivalent = .other,
239 .pd1 = true,
240 .pd2 = false,
241 .psl = true,
242},
243.{
244 .name = "E",
245 .syntax = .flag,
246 .zig_equivalent = .preprocess_only,
247 .pd1 = true,
248 .pd2 = false,
249 .psl = true,
250},
251.{
252 .name = "EP",
253 .syntax = .flag,
254 .zig_equivalent = .other,
255 .pd1 = true,
256 .pd2 = false,
257 .psl = true,
258},
259.{
260 .name = "FC",
261 .syntax = .flag,
262 .zig_equivalent = .other,
263 .pd1 = true,
264 .pd2 = false,
265 .psl = true,
266},
267.{
268 .name = "FS",
269 .syntax = .flag,
270 .zig_equivalent = .other,
271 .pd1 = true,
272 .pd2 = false,
273 .psl = true,
274},
275.{
276 .name = "Fx",
277 .syntax = .flag,
278 .zig_equivalent = .other,
279 .pd1 = true,
280 .pd2 = false,
281 .psl = true,
282},
283.{
284 .name = "G1",
285 .syntax = .flag,
286 .zig_equivalent = .other,
287 .pd1 = true,
288 .pd2 = false,
289 .psl = true,
290},
291.{
292 .name = "G2",
293 .syntax = .flag,
294 .zig_equivalent = .other,
295 .pd1 = true,
296 .pd2 = false,
297 .psl = true,
298},
299.{
300 .name = "GA",
301 .syntax = .flag,
302 .zig_equivalent = .other,
303 .pd1 = true,
304 .pd2 = false,
305 .psl = true,
306},
307.{
308 .name = "GF",
309 .syntax = .flag,
310 .zig_equivalent = .other,
311 .pd1 = true,
312 .pd2 = false,
313 .psl = true,
314},
315.{
316 .name = "GF-",
317 .syntax = .flag,
318 .zig_equivalent = .other,
319 .pd1 = true,
320 .pd2 = false,
321 .psl = true,
322},
323.{
324 .name = "GH",
325 .syntax = .flag,
326 .zig_equivalent = .other,
327 .pd1 = true,
328 .pd2 = false,
329 .psl = true,
330},
331.{
332 .name = "GL",
333 .syntax = .flag,
334 .zig_equivalent = .other,
335 .pd1 = true,
336 .pd2 = false,
337 .psl = true,
338},
339.{
340 .name = "GL-",
341 .syntax = .flag,
342 .zig_equivalent = .other,
343 .pd1 = true,
344 .pd2 = false,
345 .psl = true,
346},
347.{
348 .name = "GR",
349 .syntax = .flag,
350 .zig_equivalent = .other,
351 .pd1 = true,
352 .pd2 = false,
353 .psl = true,
354},
355.{
356 .name = "GR-",
357 .syntax = .flag,
358 .zig_equivalent = .other,
359 .pd1 = true,
360 .pd2 = false,
361 .psl = true,
362},
363.{
364 .name = "GS",
365 .syntax = .flag,
366 .zig_equivalent = .other,
367 .pd1 = true,
368 .pd2 = false,
369 .psl = true,
370},
371.{
372 .name = "GS-",
373 .syntax = .flag,
374 .zig_equivalent = .other,
375 .pd1 = true,
376 .pd2 = false,
377 .psl = true,
378},
379.{
380 .name = "GT",
381 .syntax = .flag,
382 .zig_equivalent = .other,
383 .pd1 = true,
384 .pd2 = false,
385 .psl = true,
386},
387.{
388 .name = "GX",
389 .syntax = .flag,
390 .zig_equivalent = .other,
391 .pd1 = true,
392 .pd2 = false,
393 .psl = true,
394},
395.{
396 .name = "GX-",
397 .syntax = .flag,
398 .zig_equivalent = .other,
399 .pd1 = true,
400 .pd2 = false,
401 .psl = true,
402},
403.{
404 .name = "GZ",
405 .syntax = .flag,
406 .zig_equivalent = .other,
407 .pd1 = true,
408 .pd2 = false,
409 .psl = true,
410},
411.{
412 .name = "Gd",
413 .syntax = .flag,
414 .zig_equivalent = .other,
415 .pd1 = true,
416 .pd2 = false,
417 .psl = true,
418},
419.{
420 .name = "Ge",
421 .syntax = .flag,
422 .zig_equivalent = .other,
423 .pd1 = true,
424 .pd2 = false,
425 .psl = true,
426},
427.{
428 .name = "Gh",
429 .syntax = .flag,
430 .zig_equivalent = .other,
431 .pd1 = true,
432 .pd2 = false,
433 .psl = true,
434},
435.{
436 .name = "Gm",
437 .syntax = .flag,
438 .zig_equivalent = .other,
439 .pd1 = true,
440 .pd2 = false,
441 .psl = true,
442},
443.{
444 .name = "Gm-",
445 .syntax = .flag,
446 .zig_equivalent = .other,
447 .pd1 = true,
448 .pd2 = false,
449 .psl = true,
450},
451.{
452 .name = "Gr",
453 .syntax = .flag,
454 .zig_equivalent = .other,
455 .pd1 = true,
456 .pd2 = false,
457 .psl = true,
458},
459.{
460 .name = "Gregcall",
461 .syntax = .flag,
462 .zig_equivalent = .other,
463 .pd1 = true,
464 .pd2 = false,
465 .psl = true,
466},
467.{
468 .name = "Gregcall4",
469 .syntax = .flag,
470 .zig_equivalent = .other,
471 .pd1 = true,
472 .pd2 = false,
473 .psl = true,
474},
475.{
476 .name = "Gv",
477 .syntax = .flag,
478 .zig_equivalent = .other,
479 .pd1 = true,
480 .pd2 = false,
481 .psl = true,
482},
483.{
484 .name = "Gw",
485 .syntax = .flag,
486 .zig_equivalent = .other,
487 .pd1 = true,
488 .pd2 = false,
489 .psl = true,
490},
491.{
492 .name = "Gw-",
493 .syntax = .flag,
494 .zig_equivalent = .other,
495 .pd1 = true,
496 .pd2 = false,
497 .psl = true,
498},
499.{
500 .name = "Gy",
501 .syntax = .flag,
502 .zig_equivalent = .other,
503 .pd1 = true,
504 .pd2 = false,
505 .psl = true,
506},
507.{
508 .name = "Gy-",
509 .syntax = .flag,
510 .zig_equivalent = .other,
511 .pd1 = true,
512 .pd2 = false,
513 .psl = true,
514},
515.{
516 .name = "Gz",
517 .syntax = .flag,
518 .zig_equivalent = .other,
519 .pd1 = true,
520 .pd2 = false,
521 .psl = true,
522},
523.{
524 .name = "H",
525 .syntax = .flag,
526 .zig_equivalent = .other,
527 .pd1 = true,
528 .pd2 = false,
529 .psl = true,
530},
531.{
532 .name = "HELP",
533 .syntax = .flag,
534 .zig_equivalent = .other,
535 .pd1 = true,
536 .pd2 = false,
537 .psl = true,
538},
539.{
540 .name = "J",
541 .syntax = .flag,
542 .zig_equivalent = .other,
543 .pd1 = true,
544 .pd2 = false,
545 .psl = true,
546},
547.{
548 .name = "JMC",
549 .syntax = .flag,
550 .zig_equivalent = .other,
551 .pd1 = true,
552 .pd2 = false,
553 .psl = true,
554},
555.{
556 .name = "JMC-",
557 .syntax = .flag,
558 .zig_equivalent = .other,
559 .pd1 = true,
560 .pd2 = false,
561 .psl = true,
562},
563.{
564 .name = "LD",
565 .syntax = .flag,
566 .zig_equivalent = .other,
567 .pd1 = true,
568 .pd2 = false,
569 .psl = true,
570},
571.{
572 .name = "LDd",
573 .syntax = .flag,
574 .zig_equivalent = .other,
575 .pd1 = true,
576 .pd2 = false,
577 .psl = true,
578},
579.{
580 .name = "LN",
581 .syntax = .flag,
582 .zig_equivalent = .other,
583 .pd1 = true,
584 .pd2 = false,
585 .psl = true,
586},
587.{
588 .name = "MD",
589 .syntax = .flag,
590 .zig_equivalent = .dep_file,
591 .pd1 = true,
592 .pd2 = false,
593 .psl = true,
594},
595.{
596 .name = "MDd",
597 .syntax = .flag,
598 .zig_equivalent = .other,
599 .pd1 = true,
600 .pd2 = false,
601 .psl = true,
602},
603flagpsl("MT"),
604.{
605 .name = "MTd",
606 .syntax = .flag,
607 .zig_equivalent = .other,
608 .pd1 = true,
609 .pd2 = false,
610 .psl = true,
611},
612.{
613 .name = "P",
614 .syntax = .flag,
615 .zig_equivalent = .other,
616 .pd1 = true,
617 .pd2 = false,
618 .psl = true,
619},
620.{
621 .name = "QIfist",
622 .syntax = .flag,
623 .zig_equivalent = .other,
624 .pd1 = true,
625 .pd2 = false,
626 .psl = true,
627},
628.{
629 .name = "QIntel-jcc-erratum",
630 .syntax = .flag,
631 .zig_equivalent = .other,
632 .pd1 = true,
633 .pd2 = false,
634 .psl = true,
635},
636.{
637 .name = "?",
638 .syntax = .flag,
639 .zig_equivalent = .other,
640 .pd1 = true,
641 .pd2 = false,
642 .psl = true,
643},
644.{
645 .name = "Qfast_transcendentals",
646 .syntax = .flag,
647 .zig_equivalent = .other,
648 .pd1 = true,
649 .pd2 = false,
650 .psl = true,
651},
652.{
653 .name = "Qimprecise_fwaits",
654 .syntax = .flag,
655 .zig_equivalent = .other,
656 .pd1 = true,
657 .pd2 = false,
658 .psl = true,
659},
660.{
661 .name = "Qpar",
662 .syntax = .flag,
663 .zig_equivalent = .other,
664 .pd1 = true,
665 .pd2 = false,
666 .psl = true,
667},
668.{
669 .name = "Qsafe_fp_loads",
670 .syntax = .flag,
671 .zig_equivalent = .other,
672 .pd1 = true,
673 .pd2 = false,
674 .psl = true,
675},
676.{
677 .name = "Qspectre",
678 .syntax = .flag,
679 .zig_equivalent = .other,
680 .pd1 = true,
681 .pd2 = false,
682 .psl = true,
683},
684.{
685 .name = "Qspectre-load",
686 .syntax = .flag,
687 .zig_equivalent = .other,
688 .pd1 = true,
689 .pd2 = false,
690 .psl = true,
691},
692.{
693 .name = "Qspectre-load-cf",
694 .syntax = .flag,
695 .zig_equivalent = .other,
696 .pd1 = true,
697 .pd2 = false,
698 .psl = true,
699},
700.{
701 .name = "Qvec",
702 .syntax = .flag,
703 .zig_equivalent = .other,
704 .pd1 = true,
705 .pd2 = false,
706 .psl = true,
707},
708.{
709 .name = "Qvec-",
710 .syntax = .flag,
711 .zig_equivalent = .other,
712 .pd1 = true,
713 .pd2 = false,
714 .psl = true,
715},
716.{
717 .name = "TC",
718 .syntax = .flag,
719 .zig_equivalent = .other,
720 .pd1 = true,
721 .pd2 = false,
722 .psl = true,
723},
724.{
725 .name = "TP",
726 .syntax = .flag,
727 .zig_equivalent = .other,
728 .pd1 = true,
729 .pd2 = false,
730 .psl = true,
731},
732.{
733 .name = "V",
734 .syntax = .flag,
735 .zig_equivalent = .other,
736 .pd1 = true,
737 .pd2 = false,
738 .psl = true,
739},
740.{
741 .name = "W0",
742 .syntax = .flag,
743 .zig_equivalent = .other,
744 .pd1 = true,
745 .pd2 = false,
746 .psl = true,
747},
748.{
749 .name = "W1",
750 .syntax = .flag,
751 .zig_equivalent = .other,
752 .pd1 = true,
753 .pd2 = false,
754 .psl = true,
755},
756.{
757 .name = "W2",
758 .syntax = .flag,
759 .zig_equivalent = .other,
760 .pd1 = true,
761 .pd2 = false,
762 .psl = true,
763},
764.{
765 .name = "W3",
766 .syntax = .flag,
767 .zig_equivalent = .other,
768 .pd1 = true,
769 .pd2 = false,
770 .psl = true,
771},
772.{
773 .name = "W4",
774 .syntax = .flag,
775 .zig_equivalent = .other,
776 .pd1 = true,
777 .pd2 = false,
778 .psl = true,
779},
780.{
781 .name = "WL",
782 .syntax = .flag,
783 .zig_equivalent = .other,
784 .pd1 = true,
785 .pd2 = false,
786 .psl = true,
787},
788.{
789 .name = "WX",
790 .syntax = .flag,
791 .zig_equivalent = .other,
792 .pd1 = true,
793 .pd2 = false,
794 .psl = true,
795},
796.{
797 .name = "WX-",
798 .syntax = .flag,
799 .zig_equivalent = .other,
800 .pd1 = true,
801 .pd2 = false,
802 .psl = true,
803},
804.{
805 .name = "Wall",
806 .syntax = .flag,
807 .zig_equivalent = .other,
808 .pd1 = true,
809 .pd2 = false,
810 .psl = true,
811},
812.{
813 .name = "Wp64",
814 .syntax = .flag,
815 .zig_equivalent = .other,
816 .pd1 = true,
817 .pd2 = false,
818 .psl = true,
819},
820.{
821 .name = "X",
822 .syntax = .flag,
823 .zig_equivalent = .other,
824 .pd1 = true,
825 .pd2 = false,
826 .psl = true,
827},
828.{
829 .name = "Y-",
830 .syntax = .flag,
831 .zig_equivalent = .other,
832 .pd1 = true,
833 .pd2 = false,
834 .psl = true,
835},
836.{
837 .name = "Yd",
838 .syntax = .flag,
839 .zig_equivalent = .other,
840 .pd1 = true,
841 .pd2 = false,
842 .psl = true,
843},
844.{
845 .name = "Z7",
846 .syntax = .flag,
847 .zig_equivalent = .other,
848 .pd1 = true,
849 .pd2 = false,
850 .psl = true,
851},
852.{
853 .name = "ZH:MD5",
854 .syntax = .flag,
855 .zig_equivalent = .other,
856 .pd1 = true,
857 .pd2 = false,
858 .psl = true,
859},
860.{
861 .name = "ZH:SHA1",
862 .syntax = .flag,
863 .zig_equivalent = .other,
864 .pd1 = true,
865 .pd2 = false,
866 .psl = true,
867},
868.{
869 .name = "ZH:SHA_256",
870 .syntax = .flag,
871 .zig_equivalent = .other,
872 .pd1 = true,
873 .pd2 = false,
874 .psl = true,
875},
876.{
877 .name = "ZI",
878 .syntax = .flag,
879 .zig_equivalent = .other,
880 .pd1 = true,
881 .pd2 = false,
882 .psl = true,
883},
884.{
885 .name = "Za",
886 .syntax = .flag,
887 .zig_equivalent = .other,
888 .pd1 = true,
889 .pd2 = false,
890 .psl = true,
891},
892.{
893 .name = "Zc:__STDC__",
894 .syntax = .flag,
895 .zig_equivalent = .other,
896 .pd1 = true,
897 .pd2 = false,
898 .psl = true,
899},
900.{
901 .name = "Zc:__cplusplus",
902 .syntax = .flag,
903 .zig_equivalent = .other,
904 .pd1 = true,
905 .pd2 = false,
906 .psl = true,
907},
908.{
909 .name = "Zc:alignedNew",
910 .syntax = .flag,
911 .zig_equivalent = .other,
912 .pd1 = true,
913 .pd2 = false,
914 .psl = true,
915},
916.{
917 .name = "Zc:alignedNew-",
918 .syntax = .flag,
919 .zig_equivalent = .other,
920 .pd1 = true,
921 .pd2 = false,
922 .psl = true,
923},
924.{
925 .name = "Zc:auto",
926 .syntax = .flag,
927 .zig_equivalent = .other,
928 .pd1 = true,
929 .pd2 = false,
930 .psl = true,
931},
932.{
933 .name = "Zc:char8_t",
934 .syntax = .flag,
935 .zig_equivalent = .other,
936 .pd1 = true,
937 .pd2 = false,
938 .psl = true,
939},
940.{
941 .name = "Zc:char8_t-",
942 .syntax = .flag,
943 .zig_equivalent = .other,
944 .pd1 = true,
945 .pd2 = false,
946 .psl = true,
947},
948.{
949 .name = "Zc:dllexportInlines",
950 .syntax = .flag,
951 .zig_equivalent = .other,
952 .pd1 = true,
953 .pd2 = false,
954 .psl = true,
955},
956.{
957 .name = "Zc:dllexportInlines-",
958 .syntax = .flag,
959 .zig_equivalent = .other,
960 .pd1 = true,
961 .pd2 = false,
962 .psl = true,
963},
964.{
965 .name = "Zc:forScope",
966 .syntax = .flag,
967 .zig_equivalent = .other,
968 .pd1 = true,
969 .pd2 = false,
970 .psl = true,
971},
972.{
973 .name = "Zc:inline",
974 .syntax = .flag,
975 .zig_equivalent = .other,
976 .pd1 = true,
977 .pd2 = false,
978 .psl = true,
979},
980.{
981 .name = "Zc:rvalueCast",
982 .syntax = .flag,
983 .zig_equivalent = .other,
984 .pd1 = true,
985 .pd2 = false,
986 .psl = true,
987},
988.{
989 .name = "Zc:sizedDealloc",
990 .syntax = .flag,
991 .zig_equivalent = .other,
992 .pd1 = true,
993 .pd2 = false,
994 .psl = true,
995},
996.{
997 .name = "Zc:sizedDealloc-",
998 .syntax = .flag,
999 .zig_equivalent = .other,
1000 .pd1 = true,
1001 .pd2 = false,
1002 .psl = true,
1003},
1004.{
1005 .name = "Zc:strictStrings",
1006 .syntax = .flag,
1007 .zig_equivalent = .other,
1008 .pd1 = true,
1009 .pd2 = false,
1010 .psl = true,
1011},
1012.{
1013 .name = "Zc:ternary",
1014 .syntax = .flag,
1015 .zig_equivalent = .other,
1016 .pd1 = true,
1017 .pd2 = false,
1018 .psl = true,
1019},
1020.{
1021 .name = "Zc:threadSafeInit",
1022 .syntax = .flag,
1023 .zig_equivalent = .other,
1024 .pd1 = true,
1025 .pd2 = false,
1026 .psl = true,
1027},
1028.{
1029 .name = "Zc:threadSafeInit-",
1030 .syntax = .flag,
1031 .zig_equivalent = .other,
1032 .pd1 = true,
1033 .pd2 = false,
1034 .psl = true,
1035},
1036.{
1037 .name = "Zc:tlsGuards",
1038 .syntax = .flag,
1039 .zig_equivalent = .other,
1040 .pd1 = true,
1041 .pd2 = false,
1042 .psl = true,
1043},
1044.{
1045 .name = "Zc:tlsGuards-",
1046 .syntax = .flag,
1047 .zig_equivalent = .other,
1048 .pd1 = true,
1049 .pd2 = false,
1050 .psl = true,
1051},
1052.{
1053 .name = "Zc:trigraphs",
1054 .syntax = .flag,
1055 .zig_equivalent = .other,
1056 .pd1 = true,
1057 .pd2 = false,
1058 .psl = true,
1059},
1060.{
1061 .name = "Zc:trigraphs-",
1062 .syntax = .flag,
1063 .zig_equivalent = .other,
1064 .pd1 = true,
1065 .pd2 = false,
1066 .psl = true,
1067},
1068.{
1069 .name = "Zc:twoPhase",
1070 .syntax = .flag,
1071 .zig_equivalent = .other,
1072 .pd1 = true,
1073 .pd2 = false,
1074 .psl = true,
1075},
1076.{
1077 .name = "Zc:twoPhase-",
1078 .syntax = .flag,
1079 .zig_equivalent = .other,
1080 .pd1 = true,
1081 .pd2 = false,
1082 .psl = true,
1083},
1084.{
1085 .name = "Zc:wchar_t",
1086 .syntax = .flag,
1087 .zig_equivalent = .other,
1088 .pd1 = true,
1089 .pd2 = false,
1090 .psl = true,
1091},
1092.{
1093 .name = "Zc:wchar_t-",
1094 .syntax = .flag,
1095 .zig_equivalent = .other,
1096 .pd1 = true,
1097 .pd2 = false,
1098 .psl = true,
1099},
1100.{
1101 .name = "Ze",
1102 .syntax = .flag,
1103 .zig_equivalent = .other,
1104 .pd1 = true,
1105 .pd2 = false,
1106 .psl = true,
1107},
1108.{
1109 .name = "Zg",
1110 .syntax = .flag,
1111 .zig_equivalent = .other,
1112 .pd1 = true,
1113 .pd2 = false,
1114 .psl = true,
1115},
1116.{
1117 .name = "Zi",
1118 .syntax = .flag,
1119 .zig_equivalent = .other,
1120 .pd1 = true,
1121 .pd2 = false,
1122 .psl = true,
1123},
1124.{
1125 .name = "Zl",
1126 .syntax = .flag,
1127 .zig_equivalent = .other,
1128 .pd1 = true,
1129 .pd2 = false,
1130 .psl = true,
1131},
1132.{
1133 .name = "Zo",
1134 .syntax = .flag,
1135 .zig_equivalent = .other,
1136 .pd1 = true,
1137 .pd2 = false,
1138 .psl = true,
1139},
1140.{
1141 .name = "Zo-",
1142 .syntax = .flag,
1143 .zig_equivalent = .other,
1144 .pd1 = true,
1145 .pd2 = false,
1146 .psl = true,
1147},
1148.{
1149 .name = "Zp",
1150 .syntax = .flag,
1151 .zig_equivalent = .other,
1152 .pd1 = true,
1153 .pd2 = false,
1154 .psl = true,
1155},
1156.{
1157 .name = "Zs",
1158 .syntax = .flag,
1159 .zig_equivalent = .other,
1160 .pd1 = true,
1161 .pd2 = false,
1162 .psl = true,
1163},
1164.{
1165 .name = "analyze-",
1166 .syntax = .flag,
1167 .zig_equivalent = .other,
1168 .pd1 = true,
1169 .pd2 = false,
1170 .psl = true,
1171},
1172.{
1173 .name = "arm64EC",
1174 .syntax = .flag,
1175 .zig_equivalent = .other,
1176 .pd1 = true,
1177 .pd2 = false,
1178 .psl = true,
1179},
1180.{
1181 .name = "await",
1182 .syntax = .flag,
1183 .zig_equivalent = .other,
1184 .pd1 = true,
1185 .pd2 = false,
1186 .psl = true,
1187},
1188.{
1189 .name = "bigobj",
1190 .syntax = .flag,
1191 .zig_equivalent = .other,
1192 .pd1 = true,
1193 .pd2 = false,
1194 .psl = true,
1195},
1196.{
1197 .name = "c",
1198 .syntax = .flag,
1199 .zig_equivalent = .c,
1200 .pd1 = true,
1201 .pd2 = false,
1202 .psl = true,
1203},
1204.{
1205 .name = "d1PP",
1206 .syntax = .flag,
1207 .zig_equivalent = .other,
1208 .pd1 = true,
1209 .pd2 = false,
1210 .psl = true,
1211},
1212.{
1213 .name = "d1reportAllClassLayout",
1214 .syntax = .flag,
1215 .zig_equivalent = .other,
1216 .pd1 = true,
1217 .pd2 = false,
1218 .psl = true,
1219},
1220.{
1221 .name = "d2FastFail",
1222 .syntax = .flag,
1223 .zig_equivalent = .other,
1224 .pd1 = true,
1225 .pd2 = false,
1226 .psl = true,
1227},
1228.{
1229 .name = "d2Zi+",
1230 .syntax = .flag,
1231 .zig_equivalent = .other,
1232 .pd1 = true,
1233 .pd2 = false,
1234 .psl = true,
1235},
1236.{
1237 .name = "d2epilogunwind",
1238 .syntax = .flag,
1239 .zig_equivalent = .other,
1240 .pd1 = true,
1241 .pd2 = false,
1242 .psl = true,
1243},
1244.{
1245 .name = "d2epilogunwindrequirev2",
1246 .syntax = .flag,
1247 .zig_equivalent = .other,
1248 .pd1 = true,
1249 .pd2 = false,
1250 .psl = true,
1251},
1252.{
1253 .name = "diagnostics:caret",
1254 .syntax = .flag,
1255 .zig_equivalent = .other,
1256 .pd1 = true,
1257 .pd2 = false,
1258 .psl = true,
1259},
1260.{
1261 .name = "diagnostics:classic",
1262 .syntax = .flag,
1263 .zig_equivalent = .other,
1264 .pd1 = true,
1265 .pd2 = false,
1266 .psl = true,
1267},
1268.{
1269 .name = "diagnostics:column",
1270 .syntax = .flag,
1271 .zig_equivalent = .other,
1272 .pd1 = true,
1273 .pd2 = false,
1274 .psl = true,
1275},
1276.{
1277 .name = "exportHeader",
1278 .syntax = .flag,
1279 .zig_equivalent = .other,
1280 .pd1 = true,
1281 .pd2 = false,
1282 .psl = true,
1283},
1284.{
1285 .name = "external:W0",
1286 .syntax = .flag,
1287 .zig_equivalent = .other,
1288 .pd1 = true,
1289 .pd2 = false,
1290 .psl = true,
1291},
1292.{
1293 .name = "external:W1",
1294 .syntax = .flag,
1295 .zig_equivalent = .other,
1296 .pd1 = true,
1297 .pd2 = false,
1298 .psl = true,
1299},
1300.{
1301 .name = "external:W2",
1302 .syntax = .flag,
1303 .zig_equivalent = .other,
1304 .pd1 = true,
1305 .pd2 = false,
1306 .psl = true,
1307},
1308.{
1309 .name = "external:W3",
1310 .syntax = .flag,
1311 .zig_equivalent = .other,
1312 .pd1 = true,
1313 .pd2 = false,
1314 .psl = true,
1315},
1316.{
1317 .name = "external:W4",
1318 .syntax = .flag,
1319 .zig_equivalent = .other,
1320 .pd1 = true,
1321 .pd2 = false,
1322 .psl = true,
1323},
1324.{
1325 .name = "fp:contract",
1326 .syntax = .flag,
1327 .zig_equivalent = .other,
1328 .pd1 = true,
1329 .pd2 = false,
1330 .psl = true,
1331},
1332.{
1333 .name = "fp:except",
1334 .syntax = .flag,
1335 .zig_equivalent = .other,
1336 .pd1 = true,
1337 .pd2 = false,
1338 .psl = true,
1339},
1340.{
1341 .name = "fp:except-",
1342 .syntax = .flag,
1343 .zig_equivalent = .other,
1344 .pd1 = true,
1345 .pd2 = false,
1346 .psl = true,
1347},
1348.{
1349 .name = "fp:fast",
1350 .syntax = .flag,
1351 .zig_equivalent = .other,
1352 .pd1 = true,
1353 .pd2 = false,
1354 .psl = true,
1355},
1356.{
1357 .name = "fp:precise",
1358 .syntax = .flag,
1359 .zig_equivalent = .other,
1360 .pd1 = true,
1361 .pd2 = false,
1362 .psl = true,
1363},
1364.{
1365 .name = "fp:strict",
1366 .syntax = .flag,
1367 .zig_equivalent = .other,
1368 .pd1 = true,
1369 .pd2 = false,
1370 .psl = true,
1371},
1372.{
1373 .name = "fsanitize=address",
1374 .syntax = .flag,
1375 .zig_equivalent = .sanitize,
1376 .pd1 = true,
1377 .pd2 = false,
1378 .psl = true,
1379},
1380.{
1381 .name = "help",
1382 .syntax = .flag,
1383 .zig_equivalent = .driver_punt,
1384 .pd1 = true,
1385 .pd2 = false,
1386 .psl = true,
1387},
1388.{
1389 .name = "homeparams",
1390 .syntax = .flag,
1391 .zig_equivalent = .other,
1392 .pd1 = true,
1393 .pd2 = false,
1394 .psl = true,
1395},
1396.{
1397 .name = "hotpatch",
1398 .syntax = .flag,
1399 .zig_equivalent = .other,
1400 .pd1 = true,
1401 .pd2 = false,
1402 .psl = true,
1403},
1404.{
1405 .name = "kernel",
1406 .syntax = .flag,
1407 .zig_equivalent = .other,
1408 .pd1 = true,
1409 .pd2 = false,
1410 .psl = true,
1411},
1412.{
1413 .name = "kernel-",
1414 .syntax = .flag,
1415 .zig_equivalent = .other,
1416 .pd1 = true,
1417 .pd2 = false,
1418 .psl = true,
1419},
1420.{
1421 .name = "nologo",
1422 .syntax = .flag,
1423 .zig_equivalent = .other,
1424 .pd1 = true,
1425 .pd2 = false,
1426 .psl = true,
1427},
1428.{
1429 .name = "openmp",
1430 .syntax = .flag,
1431 .zig_equivalent = .other,
1432 .pd1 = true,
1433 .pd2 = false,
1434 .psl = true,
1435},
1436.{
1437 .name = "openmp-",
1438 .syntax = .flag,
1439 .zig_equivalent = .other,
1440 .pd1 = true,
1441 .pd2 = false,
1442 .psl = true,
1443},
1444.{
1445 .name = "openmp:experimental",
1446 .syntax = .flag,
1447 .zig_equivalent = .other,
1448 .pd1 = true,
1449 .pd2 = false,
1450 .psl = true,
1451},
1452.{
1453 .name = "permissive",
1454 .syntax = .flag,
1455 .zig_equivalent = .other,
1456 .pd1 = true,
1457 .pd2 = false,
1458 .psl = true,
1459},
1460.{
1461 .name = "permissive-",
1462 .syntax = .flag,
1463 .zig_equivalent = .other,
1464 .pd1 = true,
1465 .pd2 = false,
1466 .psl = true,
1467},
1468.{
1469 .name = "sdl",
1470 .syntax = .flag,
1471 .zig_equivalent = .other,
1472 .pd1 = true,
1473 .pd2 = false,
1474 .psl = true,
1475},
1476.{
1477 .name = "sdl-",
1478 .syntax = .flag,
1479 .zig_equivalent = .other,
1480 .pd1 = true,
1481 .pd2 = false,
1482 .psl = true,
1483},
1484.{
1485 .name = "showFilenames",
1486 .syntax = .flag,
1487 .zig_equivalent = .other,
1488 .pd1 = true,
1489 .pd2 = false,
1490 .psl = true,
1491},
1492.{
1493 .name = "showFilenames-",
1494 .syntax = .flag,
1495 .zig_equivalent = .other,
1496 .pd1 = true,
1497 .pd2 = false,
1498 .psl = true,
1499},
1500.{
1501 .name = "showIncludes",
1502 .syntax = .flag,
1503 .zig_equivalent = .other,
1504 .pd1 = true,
1505 .pd2 = false,
1506 .psl = true,
1507},
1508.{
1509 .name = "showIncludes:user",
1510 .syntax = .flag,
1511 .zig_equivalent = .other,
1512 .pd1 = true,
1513 .pd2 = false,
1514 .psl = true,
1515},
1516.{
1517 .name = "translateInclude",
1518 .syntax = .flag,
1519 .zig_equivalent = .other,
1520 .pd1 = true,
1521 .pd2 = false,
1522 .psl = true,
1523},
1524.{
1525 .name = "u",
1526 .syntax = .flag,
1527 .zig_equivalent = .force_undefined_symbol,
1528 .pd1 = true,
1529 .pd2 = false,
1530 .psl = true,
1531},
1532.{
1533 .name = "utf-8",
1534 .syntax = .flag,
1535 .zig_equivalent = .other,
1536 .pd1 = true,
1537 .pd2 = false,
1538 .psl = true,
1539},
1540.{
1541 .name = "validate-charset",
1542 .syntax = .flag,
1543 .zig_equivalent = .other,
1544 .pd1 = true,
1545 .pd2 = false,
1546 .psl = true,
1547},
1548.{
1549 .name = "validate-charset-",
1550 .syntax = .flag,
1551 .zig_equivalent = .other,
1552 .pd1 = true,
1553 .pd2 = false,
1554 .psl = true,
1555},
1556.{
1557 .name = "vmb",
1558 .syntax = .flag,
1559 .zig_equivalent = .other,
1560 .pd1 = true,
1561 .pd2 = false,
1562 .psl = true,
1563},
1564.{
1565 .name = "vmg",
1566 .syntax = .flag,
1567 .zig_equivalent = .other,
1568 .pd1 = true,
1569 .pd2 = false,
1570 .psl = true,
1571},
1572.{
1573 .name = "vmm",
1574 .syntax = .flag,
1575 .zig_equivalent = .other,
1576 .pd1 = true,
1577 .pd2 = false,
1578 .psl = true,
1579},
1580.{
1581 .name = "vms",
1582 .syntax = .flag,
1583 .zig_equivalent = .other,
1584 .pd1 = true,
1585 .pd2 = false,
1586 .psl = true,
1587},
1588.{
1589 .name = "vmv",
1590 .syntax = .flag,
1591 .zig_equivalent = .other,
1592 .pd1 = true,
1593 .pd2 = false,
1594 .psl = true,
1595},
1596.{
1597 .name = "volatile:iso",
1598 .syntax = .flag,
1599 .zig_equivalent = .other,
1600 .pd1 = true,
1601 .pd2 = false,
1602 .psl = true,
1603},
1604.{
1605 .name = "volatile:ms",
1606 .syntax = .flag,
1607 .zig_equivalent = .other,
1608 .pd1 = true,
1609 .pd2 = false,
1610 .psl = true,
1611},
1612.{
1613 .name = "w",
1614 .syntax = .flag,
1615 .zig_equivalent = .other,
1616 .pd1 = true,
1617 .pd2 = false,
1618 .psl = true,
1619},
1620.{
1621 .name = "all-warnings",
1622 .syntax = .flag,
1623 .zig_equivalent = .other,
1624 .pd1 = false,
1625 .pd2 = true,
1626 .psl = false,
1627},
1628.{
1629 .name = "analyze",
1630 .syntax = .flag,
1631 .zig_equivalent = .other,
1632 .pd1 = false,
1633 .pd2 = true,
1634 .psl = false,
1635},
1636.{
1637 .name = "analyzer-no-default-checks",
1638 .syntax = .flag,
1639 .zig_equivalent = .other,
1640 .pd1 = false,
1641 .pd2 = true,
1642 .psl = false,
1643},
1644.{
1645 .name = "assemble",
1646 .syntax = .flag,
1647 .zig_equivalent = .asm_only,
1648 .pd1 = false,
1649 .pd2 = true,
1650 .psl = false,
1651},
1652.{
1653 .name = "assert",
1654 .syntax = .separate,
1655 .zig_equivalent = .other,
1656 .pd1 = false,
1657 .pd2 = true,
1658 .psl = false,
1659},
1660.{
1661 .name = "bootclasspath",
1662 .syntax = .separate,
1663 .zig_equivalent = .other,
1664 .pd1 = false,
1665 .pd2 = true,
1666 .psl = false,
1667},
1668.{
1669 .name = "classpath",
1670 .syntax = .separate,
1671 .zig_equivalent = .other,
1672 .pd1 = false,
1673 .pd2 = true,
1674 .psl = false,
1675},
1676.{
1677 .name = "comments",
1678 .syntax = .flag,
1679 .zig_equivalent = .other,
1680 .pd1 = false,
1681 .pd2 = true,
1682 .psl = false,
1683},
1684.{
1685 .name = "comments-in-macros",
1686 .syntax = .flag,
1687 .zig_equivalent = .other,
1688 .pd1 = false,
1689 .pd2 = true,
1690 .psl = false,
1691},
1692.{
1693 .name = "compile",
1694 .syntax = .flag,
1695 .zig_equivalent = .other,
1696 .pd1 = false,
1697 .pd2 = true,
1698 .psl = false,
1699},
1700.{
1701 .name = "constant-cfstrings",
1702 .syntax = .flag,
1703 .zig_equivalent = .other,
1704 .pd1 = false,
1705 .pd2 = true,
1706 .psl = false,
1707},
1708.{
1709 .name = "debug",
1710 .syntax = .flag,
1711 .zig_equivalent = .debug,
1712 .pd1 = false,
1713 .pd2 = true,
1714 .psl = false,
1715},
1716.{
1717 .name = "define-macro",
1718 .syntax = .separate,
1719 .zig_equivalent = .other,
1720 .pd1 = false,
1721 .pd2 = true,
1722 .psl = false,
1723},
1724.{
1725 .name = "dependencies",
1726 .syntax = .flag,
1727 .zig_equivalent = .other,
1728 .pd1 = false,
1729 .pd2 = true,
1730 .psl = false,
1731},
1732.{
1733 .name = "dyld-prefix",
1734 .syntax = .separate,
1735 .zig_equivalent = .other,
1736 .pd1 = false,
1737 .pd2 = true,
1738 .psl = false,
1739},
1740.{
1741 .name = "encoding",
1742 .syntax = .separate,
1743 .zig_equivalent = .other,
1744 .pd1 = false,
1745 .pd2 = true,
1746 .psl = false,
1747},
1748.{
1749 .name = "entry",
1750 .syntax = .flag,
1751 .zig_equivalent = .entry,
1752 .pd1 = false,
1753 .pd2 = true,
1754 .psl = false,
1755},
1756.{
1757 .name = "extdirs",
1758 .syntax = .separate,
1759 .zig_equivalent = .other,
1760 .pd1 = false,
1761 .pd2 = true,
1762 .psl = false,
1763},
1764.{
1765 .name = "extra-warnings",
1766 .syntax = .flag,
1767 .zig_equivalent = .other,
1768 .pd1 = false,
1769 .pd2 = true,
1770 .psl = false,
1771},
1772.{
1773 .name = "for-linker",
1774 .syntax = .separate,
1775 .zig_equivalent = .for_linker,
1776 .pd1 = false,
1777 .pd2 = true,
1778 .psl = false,
1779},
1780.{
1781 .name = "force-link",
1782 .syntax = .separate,
1783 .zig_equivalent = .other,
1784 .pd1 = false,
1785 .pd2 = true,
1786 .psl = false,
1787},
1788.{
1789 .name = "help-hidden",
1790 .syntax = .flag,
1791 .zig_equivalent = .other,
1792 .pd1 = false,
1793 .pd2 = true,
1794 .psl = false,
1795},
1796.{
1797 .name = "include-barrier",
1798 .syntax = .flag,
1799 .zig_equivalent = .other,
1800 .pd1 = false,
1801 .pd2 = true,
1802 .psl = false,
1803},
1804.{
1805 .name = "include-directory",
1806 .syntax = .separate,
1807 .zig_equivalent = .other,
1808 .pd1 = false,
1809 .pd2 = true,
1810 .psl = false,
1811},
1812.{
1813 .name = "include-directory-after",
1814 .syntax = .separate,
1815 .zig_equivalent = .other,
1816 .pd1 = false,
1817 .pd2 = true,
1818 .psl = false,
1819},
1820.{
1821 .name = "include-prefix",
1822 .syntax = .separate,
1823 .zig_equivalent = .other,
1824 .pd1 = false,
1825 .pd2 = true,
1826 .psl = false,
1827},
1828.{
1829 .name = "include-with-prefix",
1830 .syntax = .separate,
1831 .zig_equivalent = .other,
1832 .pd1 = false,
1833 .pd2 = true,
1834 .psl = false,
1835},
1836.{
1837 .name = "include-with-prefix-after",
1838 .syntax = .separate,
1839 .zig_equivalent = .other,
1840 .pd1 = false,
1841 .pd2 = true,
1842 .psl = false,
1843},
1844.{
1845 .name = "include-with-prefix-before",
1846 .syntax = .separate,
1847 .zig_equivalent = .other,
1848 .pd1 = false,
1849 .pd2 = true,
1850 .psl = false,
1851},
1852.{
1853 .name = "language",
1854 .syntax = .separate,
1855 .zig_equivalent = .other,
1856 .pd1 = false,
1857 .pd2 = true,
1858 .psl = false,
1859},
1860.{
1861 .name = "library-directory",
1862 .syntax = .separate,
1863 .zig_equivalent = .lib_dir,
1864 .pd1 = false,
1865 .pd2 = true,
1866 .psl = false,
1867},
1868.{
1869 .name = "mhwdiv",
1870 .syntax = .separate,
1871 .zig_equivalent = .other,
1872 .pd1 = false,
1873 .pd2 = true,
1874 .psl = false,
1875},
1876.{
1877 .name = "no-line-commands",
1878 .syntax = .flag,
1879 .zig_equivalent = .other,
1880 .pd1 = false,
1881 .pd2 = true,
1882 .psl = false,
1883},
1884.{
1885 .name = "no-standard-includes",
1886 .syntax = .flag,
1887 .zig_equivalent = .nostdlibinc,
1888 .pd1 = false,
1889 .pd2 = true,
1890 .psl = false,
1891},
1892.{
1893 .name = "no-standard-libraries",
1894 .syntax = .flag,
1895 .zig_equivalent = .nostdlib,
1896 .pd1 = false,
1897 .pd2 = true,
1898 .psl = false,
1899},
1900.{
1901 .name = "no-undefined",
1902 .syntax = .flag,
1903 .zig_equivalent = .other,
1904 .pd1 = false,
1905 .pd2 = true,
1906 .psl = false,
1907},
1908.{
1909 .name = "no-warnings",
1910 .syntax = .flag,
1911 .zig_equivalent = .other,
1912 .pd1 = false,
1913 .pd2 = true,
1914 .psl = false,
1915},
1916.{
1917 .name = "optimize",
1918 .syntax = .flag,
1919 .zig_equivalent = .optimize,
1920 .pd1 = false,
1921 .pd2 = true,
1922 .psl = false,
1923},
1924.{
1925 .name = "output",
1926 .syntax = .separate,
1927 .zig_equivalent = .other,
1928 .pd1 = false,
1929 .pd2 = true,
1930 .psl = false,
1931},
1932.{
1933 .name = "output-class-directory",
1934 .syntax = .separate,
1935 .zig_equivalent = .other,
1936 .pd1 = false,
1937 .pd2 = true,
1938 .psl = false,
1939},
1940.{
1941 .name = "param",
1942 .syntax = .separate,
1943 .zig_equivalent = .other,
1944 .pd1 = false,
1945 .pd2 = true,
1946 .psl = false,
1947},
1948.{
1949 .name = "precompile",
1950 .syntax = .flag,
1951 .zig_equivalent = .other,
1952 .pd1 = false,
1953 .pd2 = true,
1954 .psl = false,
1955},
1956.{
1957 .name = "prefix",
1958 .syntax = .separate,
1959 .zig_equivalent = .other,
1960 .pd1 = false,
1961 .pd2 = true,
1962 .psl = false,
1963},
1964.{
1965 .name = "preprocess",
1966 .syntax = .flag,
1967 .zig_equivalent = .preprocess_only,
1968 .pd1 = false,
1969 .pd2 = true,
1970 .psl = false,
1971},
1972.{
1973 .name = "print-diagnostic-categories",
1974 .syntax = .flag,
1975 .zig_equivalent = .other,
1976 .pd1 = false,
1977 .pd2 = true,
1978 .psl = false,
1979},
1980.{
1981 .name = "print-file-name",
1982 .syntax = .separate,
1983 .zig_equivalent = .other,
1984 .pd1 = false,
1985 .pd2 = true,
1986 .psl = false,
1987},
1988.{
1989 .name = "print-missing-file-dependencies",
1990 .syntax = .flag,
1991 .zig_equivalent = .dep_file,
1992 .pd1 = false,
1993 .pd2 = true,
1994 .psl = false,
1995},
1996.{
1997 .name = "print-prog-name",
1998 .syntax = .separate,
1999 .zig_equivalent = .other,
2000 .pd1 = false,
2001 .pd2 = true,
2002 .psl = false,
2003},
2004.{
2005 .name = "profile",
2006 .syntax = .flag,
2007 .zig_equivalent = .other,
2008 .pd1 = false,
2009 .pd2 = true,
2010 .psl = false,
2011},
2012.{
2013 .name = "resource",
2014 .syntax = .separate,
2015 .zig_equivalent = .other,
2016 .pd1 = false,
2017 .pd2 = true,
2018 .psl = false,
2019},
2020.{
2021 .name = "rtlib",
2022 .syntax = .separate,
2023 .zig_equivalent = .rtlib,
2024 .pd1 = false,
2025 .pd2 = true,
2026 .psl = false,
2027},
2028.{
2029 .name = "serialize-diagnostics",
2030 .syntax = .separate,
2031 .zig_equivalent = .other,
2032 .pd1 = true,
2033 .pd2 = true,
2034 .psl = false,
2035},
2036.{
2037 .name = "signed-char",
2038 .syntax = .flag,
2039 .zig_equivalent = .other,
2040 .pd1 = false,
2041 .pd2 = true,
2042 .psl = false,
2043},
2044.{
2045 .name = "std",
2046 .syntax = .separate,
2047 .zig_equivalent = .other,
2048 .pd1 = false,
2049 .pd2 = true,
2050 .psl = false,
2051},
2052.{
2053 .name = "stdlib",
2054 .syntax = .separate,
2055 .zig_equivalent = .other,
2056 .pd1 = false,
2057 .pd2 = true,
2058 .psl = false,
2059},
2060.{
2061 .name = "sysroot",
2062 .syntax = .separate,
2063 .zig_equivalent = .sysroot,
2064 .pd1 = false,
2065 .pd2 = true,
2066 .psl = false,
2067},
2068.{
2069 .name = "target-help",
2070 .syntax = .flag,
2071 .zig_equivalent = .other,
2072 .pd1 = false,
2073 .pd2 = true,
2074 .psl = false,
2075},
2076.{
2077 .name = "trace-includes",
2078 .syntax = .flag,
2079 .zig_equivalent = .other,
2080 .pd1 = false,
2081 .pd2 = true,
2082 .psl = false,
2083},
2084.{
2085 .name = "undefine-macro",
2086 .syntax = .separate,
2087 .zig_equivalent = .other,
2088 .pd1 = false,
2089 .pd2 = true,
2090 .psl = false,
2091},
2092.{
2093 .name = "unsigned-char",
2094 .syntax = .flag,
2095 .zig_equivalent = .other,
2096 .pd1 = false,
2097 .pd2 = true,
2098 .psl = false,
2099},
2100.{
2101 .name = "user-dependencies",
2102 .syntax = .flag,
2103 .zig_equivalent = .dep_file_to_stdout,
2104 .pd1 = false,
2105 .pd2 = true,
2106 .psl = false,
2107},
2108.{
2109 .name = "verbose",
2110 .syntax = .flag,
2111 .zig_equivalent = .verbose,
2112 .pd1 = false,
2113 .pd2 = true,
2114 .psl = false,
2115},
2116.{
2117 .name = "version",
2118 .syntax = .flag,
2119 .zig_equivalent = .other,
2120 .pd1 = false,
2121 .pd2 = true,
2122 .psl = false,
2123},
2124.{
2125 .name = "write-dependencies",
2126 .syntax = .flag,
2127 .zig_equivalent = .dep_file,
2128 .pd1 = false,
2129 .pd2 = true,
2130 .psl = false,
2131},
2132.{
2133 .name = "write-user-dependencies",
2134 .syntax = .flag,
2135 .zig_equivalent = .dep_file,
2136 .pd1 = false,
2137 .pd2 = true,
2138 .psl = false,
2139},
2140sepd1("add-plugin"),
2141sepd1("alias_list"),
2142flagpd1("faligned-alloc-unavailable"),
2143flagpd1("all_load"),
2144sepd1("allowable_client"),
2145flagpd1("cfg-add-implicit-dtors"),
2146flagpd1("unoptimized-cfg"),
2147flagpd1("analyze"),
2148sepd1("analyze-function"),
2149sepd1("analyzer-checker"),
2150flagpd1("analyzer-checker-help"),
2151flagpd1("analyzer-checker-help-alpha"),
2152flagpd1("analyzer-checker-help-developer"),
2153flagpd1("analyzer-checker-option-help"),
2154flagpd1("analyzer-checker-option-help-alpha"),
2155flagpd1("analyzer-checker-option-help-developer"),
2156sepd1("analyzer-config"),
2157sepd1("analyzer-config-compatibility-mode"),
2158flagpd1("analyzer-config-help"),
2159sepd1("analyzer-constraints"),
2160flagpd1("analyzer-disable-all-checks"),
2161sepd1("analyzer-disable-checker"),
2162flagpd1("analyzer-disable-retry-exhausted"),
2163flagpd1("analyzer-display-progress"),
2164sepd1("analyzer-dump-egraph"),
2165sepd1("analyzer-inline-max-stack-depth"),
2166sepd1("analyzer-inlining-mode"),
2167flagpd1("analyzer-list-enabled-checkers"),
2168sepd1("analyzer-max-loop"),
2169flagpd1("analyzer-note-analysis-entry-points"),
2170flagpd1("analyzer-opt-analyze-headers"),
2171sepd1("analyzer-output"),
2172sepd1("analyzer-purge"),
2173flagpd1("analyzer-stats"),
2174flagpd1("analyzer-viz-egraph-graphviz"),
2175flagpd1("analyzer-werror"),
2176sepd1("fnew-alignment"),
2177flagpd1("faligned-new"),
2178flagpd1("fno-aligned-new"),
2179flagpd1("fsched-interblock"),
2180flagpd1("fcuda-rdc"),
2181flagpd1("fno-cuda-rdc"),
2182flagpd1("ftree-vectorize"),
2183flagpd1("fno-tree-vectorize"),
2184flagpd1("ftree-slp-vectorize"),
2185flagpd1("fno-tree-slp-vectorize"),
2186flagpd1("fterminated-vtables"),
2187flagpd1("grecord-gcc-switches"),
2188flagpd1("gno-record-gcc-switches"),
2189flagpd1("nogpuinc"),
2190flagpd1("nocudainc"),
2191flagpd1("nogpulib"),
2192flagpd1("nocudalib"),
2193.{
2194 .name = "print-multiarch",
2195 .syntax = .flag,
2196 .zig_equivalent = .other,
2197 .pd1 = true,
2198 .pd2 = true,
2199 .psl = false,
2200},
2201.{
2202 .name = "system-header-prefix",
2203 .syntax = .separate,
2204 .zig_equivalent = .other,
2205 .pd1 = false,
2206 .pd2 = true,
2207 .psl = false,
2208},
2209.{
2210 .name = "no-system-header-prefix",
2211 .syntax = .separate,
2212 .zig_equivalent = .other,
2213 .pd1 = false,
2214 .pd2 = true,
2215 .psl = false,
2216},
2217.{
2218 .name = "mcpu=help",
2219 .syntax = .flag,
2220 .zig_equivalent = .mcpu,
2221 .pd1 = true,
2222 .pd2 = false,
2223 .psl = false,
2224},
2225.{
2226 .name = "mtune=help",
2227 .syntax = .flag,
2228 .zig_equivalent = .mcpu,
2229 .pd1 = true,
2230 .pd2 = false,
2231 .psl = false,
2232},
2233flagpd1("integrated-as"),
2234flagpd1("no-integrated-as"),
2235flagpd1("fopenmp-is-device"),
2236flagpd1("fcuda-approx-transcendentals"),
2237flagpd1("fno-cuda-approx-transcendentals"),
2238.{
2239 .name = "Gs",
2240 .syntax = .flag,
2241 .zig_equivalent = .other,
2242 .pd1 = true,
2243 .pd2 = false,
2244 .psl = true,
2245},
2246.{
2247 .name = "O1",
2248 .syntax = .flag,
2249 .zig_equivalent = .optimize,
2250 .pd1 = true,
2251 .pd2 = false,
2252 .psl = true,
2253},
2254.{
2255 .name = "O2",
2256 .syntax = .flag,
2257 .zig_equivalent = .optimize,
2258 .pd1 = true,
2259 .pd2 = false,
2260 .psl = true,
2261},
2262.{
2263 .name = "Ob0",
2264 .syntax = .flag,
2265 .zig_equivalent = .other,
2266 .pd1 = true,
2267 .pd2 = false,
2268 .psl = true,
2269},
2270.{
2271 .name = "Ob1",
2272 .syntax = .flag,
2273 .zig_equivalent = .other,
2274 .pd1 = true,
2275 .pd2 = false,
2276 .psl = true,
2277},
2278.{
2279 .name = "Ob2",
2280 .syntax = .flag,
2281 .zig_equivalent = .other,
2282 .pd1 = true,
2283 .pd2 = false,
2284 .psl = true,
2285},
2286.{
2287 .name = "Ob3",
2288 .syntax = .flag,
2289 .zig_equivalent = .other,
2290 .pd1 = true,
2291 .pd2 = false,
2292 .psl = true,
2293},
2294.{
2295 .name = "Od",
2296 .syntax = .flag,
2297 .zig_equivalent = .other,
2298 .pd1 = true,
2299 .pd2 = false,
2300 .psl = true,
2301},
2302.{
2303 .name = "Og",
2304 .syntax = .flag,
2305 .zig_equivalent = .optimize,
2306 .pd1 = true,
2307 .pd2 = false,
2308 .psl = true,
2309},
2310.{
2311 .name = "Oi",
2312 .syntax = .flag,
2313 .zig_equivalent = .other,
2314 .pd1 = true,
2315 .pd2 = false,
2316 .psl = true,
2317},
2318.{
2319 .name = "Oi-",
2320 .syntax = .flag,
2321 .zig_equivalent = .other,
2322 .pd1 = true,
2323 .pd2 = false,
2324 .psl = true,
2325},
2326.{
2327 .name = "Os",
2328 .syntax = .flag,
2329 .zig_equivalent = .optimize,
2330 .pd1 = true,
2331 .pd2 = false,
2332 .psl = true,
2333},
2334.{
2335 .name = "Ot",
2336 .syntax = .flag,
2337 .zig_equivalent = .other,
2338 .pd1 = true,
2339 .pd2 = false,
2340 .psl = true,
2341},
2342.{
2343 .name = "Ox",
2344 .syntax = .flag,
2345 .zig_equivalent = .other,
2346 .pd1 = true,
2347 .pd2 = false,
2348 .psl = true,
2349},
2350.{
2351 .name = "Oy",
2352 .syntax = .flag,
2353 .zig_equivalent = .other,
2354 .pd1 = true,
2355 .pd2 = false,
2356 .psl = true,
2357},
2358.{
2359 .name = "Oy-",
2360 .syntax = .flag,
2361 .zig_equivalent = .other,
2362 .pd1 = true,
2363 .pd2 = false,
2364 .psl = true,
2365},
2366.{
2367 .name = "Qgather-",
2368 .syntax = .flag,
2369 .zig_equivalent = .other,
2370 .pd1 = true,
2371 .pd2 = false,
2372 .psl = true,
2373},
2374.{
2375 .name = "Qscatter-",
2376 .syntax = .flag,
2377 .zig_equivalent = .other,
2378 .pd1 = true,
2379 .pd2 = false,
2380 .psl = true,
2381},
2382flagpd1("shared-libasan"),
2383sepd1("Xmicrosoft-visualc-tools-root"),
2384sepd1("Xmicrosoft-visualc-tools-version"),
2385sepd1("Xmicrosoft-windows-sdk-root"),
2386sepd1("Xmicrosoft-windows-sdk-version"),
2387sepd1("Xmicrosoft-windows-sys-root"),
2388.{
2389 .name = "Qembed_debug",
2390 .syntax = .flag,
2391 .zig_equivalent = .other,
2392 .pd1 = true,
2393 .pd2 = false,
2394 .psl = true,
2395},
2396flagpd1("static-libasan"),
2397flagpd1("fslp-vectorize-aggressive"),
2398flagpd1("fident"),
2399flagpd1("fno-ident"),
2400flagpd1("fno-slp-vectorize-aggressive"),
2401flagpd1("fdiagnostics-color"),
2402flagpd1("fno-diagnostics-color"),
2403flagpd1("frecord-gcc-switches"),
2404flagpd1("fno-record-gcc-switches"),
2405flagpd1("Xparser"),
2406flagpd1("Xcompiler"),
2407flagpd1("fexpensive-optimizations"),
2408flagpd1("fno-expensive-optimizations"),
2409flagpd1("fdefer-pop"),
2410flagpd1("fno-defer-pop"),
2411flagpd1("fextended-identifiers"),
2412flagpd1("fno-extended-identifiers"),
2413flagpd1("fno-sanitize-blacklist"),
2414flagpd1("fhonor-infinites"),
2415flagpd1("fno-honor-infinites"),
2416flagpd1("findirect-virtual-calls"),
2417.{
2418 .name = "config",
2419 .syntax = .separate,
2420 .zig_equivalent = .other,
2421 .pd1 = false,
2422 .pd2 = true,
2423 .psl = false,
2424},
2425.{
2426 .name = "ansi",
2427 .syntax = .flag,
2428 .zig_equivalent = .other,
2429 .pd1 = true,
2430 .pd2 = true,
2431 .psl = false,
2432},
2433sepd1("arch"),
2434flagpd1("arch_errors_fatal"),
2435sepd1("arch_only"),
2436sepd1("as-secure-log-file"),
2437flagpd1("ast-dump"),
2438flagpd1("ast-dump-all"),
2439flagpd1("ast-dump-decl-types"),
2440sepd1("ast-dump-filter"),
2441flagpd1("ast-dump-lookups"),
2442flagpd1("ast-list"),
2443sepd1("ast-merge"),
2444flagpd1("ast-print"),
2445flagpd1("ast-view"),
2446sepd1("aux-target-cpu"),
2447sepd1("aux-target-feature"),
2448sepd1("aux-triple"),
2449flagpd1("bind_at_load"),
2450flagpd1("building-pch-with-obj"),
2451flagpd1("bundle"),
2452sepd1("bundle_loader"),
2453.{
2454 .name = "c",
2455 .syntax = .flag,
2456 .zig_equivalent = .c,
2457 .pd1 = true,
2458 .pd2 = false,
2459 .psl = false,
2460},
2461sepd1("c-isystem"),
2462flagpd1("canonical-prefixes"),
2463flagpd1("cc1"),
2464flagpd1("cc1as"),
2465sepd1("ccc-gcc-name"),
2466sepd1("ccc-install-dir"),
2467flagpd1("ccc-print-bindings"),
2468flagpd1("ccc-print-phases"),
2469flagpd1("cfguard"),
2470flagpd1("cfguard-no-checks"),
2471sepd1("chain-include"),
2472flagpd1("cl-denorms-are-zero"),
2473flagpd1("cl-fast-relaxed-math"),
2474flagpd1("cl-finite-math-only"),
2475flagpd1("cl-fp32-correctly-rounded-divide-sqrt"),
2476flagpd1("cl-kernel-arg-info"),
2477flagpd1("cl-mad-enable"),
2478flagpd1("cl-no-signed-zeros"),
2479flagpd1("cl-no-stdinc"),
2480flagpd1("cl-opt-disable"),
2481flagpd1("cl-single-precision-constant"),
2482flagpd1("cl-strict-aliasing"),
2483flagpd1("cl-uniform-work-group-size"),
2484flagpd1("cl-unsafe-math-optimizations"),
2485flagpd1("clangir-disable-passes"),
2486flagpd1("clangir-disable-verifier"),
2487flagpd1("clear-ast-before-backend"),
2488sepd1("code-completion-at"),
2489flagpd1("code-completion-brief-comments"),
2490flagpd1("code-completion-macros"),
2491flagpd1("code-completion-patterns"),
2492flagpd1("code-completion-with-fixits"),
2493.{
2494 .name = "combine",
2495 .syntax = .flag,
2496 .zig_equivalent = .other,
2497 .pd1 = true,
2498 .pd2 = true,
2499 .psl = false,
2500},
2501flagpd1("compiler-options-dump"),
2502.{
2503 .name = "compress-debug-sections",
2504 .syntax = .flag,
2505 .zig_equivalent = .compress_debug_sections,
2506 .pd1 = true,
2507 .pd2 = true,
2508 .psl = false,
2509},
2510.{
2511 .name = "coverage",
2512 .syntax = .flag,
2513 .zig_equivalent = .other,
2514 .pd1 = true,
2515 .pd2 = true,
2516 .psl = false,
2517},
2518flagpd1("cpp"),
2519flagpd1("cpp-precomp"),
2520.{
2521 .name = "crel",
2522 .syntax = .flag,
2523 .zig_equivalent = .other,
2524 .pd1 = false,
2525 .pd2 = true,
2526 .psl = false,
2527},
2528.{
2529 .name = "cuda-compile-host-device",
2530 .syntax = .flag,
2531 .zig_equivalent = .other,
2532 .pd1 = false,
2533 .pd2 = true,
2534 .psl = false,
2535},
2536.{
2537 .name = "cuda-device-only",
2538 .syntax = .flag,
2539 .zig_equivalent = .other,
2540 .pd1 = false,
2541 .pd2 = true,
2542 .psl = false,
2543},
2544.{
2545 .name = "cuda-host-only",
2546 .syntax = .flag,
2547 .zig_equivalent = .other,
2548 .pd1 = false,
2549 .pd2 = true,
2550 .psl = false,
2551},
2552.{
2553 .name = "cuda-noopt-device-debug",
2554 .syntax = .flag,
2555 .zig_equivalent = .other,
2556 .pd1 = false,
2557 .pd2 = true,
2558 .psl = false,
2559},
2560.{
2561 .name = "cuda-path-ignore-env",
2562 .syntax = .flag,
2563 .zig_equivalent = .other,
2564 .pd1 = false,
2565 .pd2 = true,
2566 .psl = false,
2567},
2568flagpd1("fc++-static-destructors"),
2569flagpd1("dA"),
2570flagpd1("dD"),
2571flagpd1("dE"),
2572flagpd1("dI"),
2573flagpd1("dM"),
2574flagpd1("d"),
2575sepd1("darwin-target-variant"),
2576sepd1("darwin-target-variant-triple"),
2577flagpd1("dead_strip"),
2578flagpd1("debug-forward-template-params"),
2579flagpd1("debug-info-macro"),
2580sepd1("default-function-attr"),
2581.{
2582 .name = "defsym",
2583 .syntax = .separate,
2584 .zig_equivalent = .other,
2585 .pd1 = false,
2586 .pd2 = true,
2587 .psl = false,
2588},
2589sepd1("dependency-dot"),
2590sepd1("dependency-file"),
2591flagpd1("detailed-preprocessing-record"),
2592sepd1("diagnostic-log-file"),
2593sepd1("serialize-diagnostic-file"),
2594flagpd1("disable-O0-optnone"),
2595flagpd1("disable-free"),
2596flagpd1("disable-lifetime-markers"),
2597flagpd1("disable-llvm-optzns"),
2598flagpd1("disable-llvm-passes"),
2599flagpd1("disable-llvm-verifier"),
2600flagpd1("disable-objc-default-synthesize-properties"),
2601flagpd1("disable-pragma-debug-crash"),
2602flagpd1("disable-red-zone"),
2603flagpd1("discard-value-names"),
2604flagpd1("dump-coverage-mapping"),
2605flagpd1("dump-deserialized-decls"),
2606flagpd1("dump-raw-tokens"),
2607flagpd1("dump-tokens"),
2608sepd1("dumpdir"),
2609flagpd1("dumpmachine"),
2610flagpd1("dumpspecs"),
2611flagpd1("dumpversion"),
2612sepd1("dwarf-debug-flags"),
2613sepd1("dwarf-debug-producer"),
2614flagpd1("dwarf-explicit-import"),
2615flagpd1("dwarf-ext-refs"),
2616.{
2617 .name = "Vd",
2618 .syntax = .flag,
2619 .zig_equivalent = .other,
2620 .pd1 = true,
2621 .pd2 = false,
2622 .psl = true,
2623},
2624.{
2625 .name = "Gis",
2626 .syntax = .flag,
2627 .zig_equivalent = .other,
2628 .pd1 = true,
2629 .pd2 = false,
2630 .psl = true,
2631},
2632.{
2633 .name = "hlsl-no-stdinc",
2634 .syntax = .flag,
2635 .zig_equivalent = .other,
2636 .pd1 = true,
2637 .pd2 = false,
2638 .psl = true,
2639},
2640.{
2641 .name = "force-rootsig-ver",
2642 .syntax = .separate,
2643 .zig_equivalent = .other,
2644 .pd1 = true,
2645 .pd2 = false,
2646 .psl = true,
2647},
2648sepd1("dylib_file"),
2649flagpd1("dylinker"),
2650.{
2651 .name = "dynamic",
2652 .syntax = .flag,
2653 .zig_equivalent = .dynamic,
2654 .pd1 = true,
2655 .pd2 = false,
2656 .psl = false,
2657},
2658.{
2659 .name = "dynamiclib",
2660 .syntax = .flag,
2661 .zig_equivalent = .shared,
2662 .pd1 = true,
2663 .pd2 = false,
2664 .psl = false,
2665},
2666.{
2667 .name = "e",
2668 .syntax = .separate,
2669 .zig_equivalent = .entry,
2670 .pd1 = true,
2671 .pd2 = false,
2672 .psl = false,
2673},
2674flagpd1("ehcontguard"),
2675flagpd1("emit-ast"),
2676flagpd1("emit-cir"),
2677flagpd1("emit-codegen-only"),
2678.{
2679 .name = "emit-extension-symbol-graphs",
2680 .syntax = .flag,
2681 .zig_equivalent = .other,
2682 .pd1 = false,
2683 .pd2 = true,
2684 .psl = false,
2685},
2686flagpd1("emit-fir"),
2687flagpd1("emit-header-unit"),
2688flagpd1("emit-hlfir"),
2689flagpd1("emit-html"),
2690flagpd1("emit-interface-stubs"),
2691.{
2692 .name = "emit-llvm",
2693 .syntax = .flag,
2694 .zig_equivalent = .emit_llvm,
2695 .pd1 = true,
2696 .pd2 = false,
2697 .psl = false,
2698},
2699flagpd1("emit-llvm-bc"),
2700flagpd1("emit-llvm-only"),
2701flagpd1("emit-llvm-uselists"),
2702flagpd1("emit-merged-ifs"),
2703flagpd1("emit-mlir"),
2704flagpd1("emit-module"),
2705flagpd1("emit-module-interface"),
2706flagpd1("emit-obj"),
2707flagpd1("emit-pch"),
2708.{
2709 .name = "pretty-sgf",
2710 .syntax = .flag,
2711 .zig_equivalent = .other,
2712 .pd1 = false,
2713 .pd2 = true,
2714 .psl = false,
2715},
2716.{
2717 .name = "emit-pristine-llvm",
2718 .syntax = .flag,
2719 .zig_equivalent = .other,
2720 .pd1 = true,
2721 .pd2 = false,
2722 .psl = true,
2723},
2724flagpd1("emit-reduced-module-interface"),
2725.{
2726 .name = "emit-sgf-symbol-labels-for-testing",
2727 .syntax = .flag,
2728 .zig_equivalent = .other,
2729 .pd1 = false,
2730 .pd2 = true,
2731 .psl = false,
2732},
2733.{
2734 .name = "emit-static-lib",
2735 .syntax = .flag,
2736 .zig_equivalent = .other,
2737 .pd1 = false,
2738 .pd2 = true,
2739 .psl = false,
2740},
2741flagpd1("emit-symbol-graph"),
2742.{
2743 .name = "enable-16bit-types",
2744 .syntax = .flag,
2745 .zig_equivalent = .other,
2746 .pd1 = true,
2747 .pd2 = false,
2748 .psl = true,
2749},
2750flagpd1("enable-noundef-analysis"),
2751flagpd1("enable-tlsdesc"),
2752.{
2753 .name = "end-no-unused-arguments",
2754 .syntax = .flag,
2755 .zig_equivalent = .other,
2756 .pd1 = false,
2757 .pd2 = true,
2758 .psl = false,
2759},
2760sepd1("error-on-deserialized-decl"),
2761sepd1("exception-model"),
2762flagpd1("fexperimental-modules-reduced-bmi"),
2763sepd1("exported_symbols_list"),
2764flagpd1("extract-api"),
2765.{
2766 .name = "fPIC",
2767 .syntax = .flag,
2768 .zig_equivalent = .pic,
2769 .pd1 = true,
2770 .pd2 = false,
2771 .psl = false,
2772},
2773.{
2774 .name = "fPIE",
2775 .syntax = .flag,
2776 .zig_equivalent = .pie,
2777 .pd1 = true,
2778 .pd2 = false,
2779 .psl = false,
2780},
2781flagpd1("faapcs-bitfield-width"),
2782flagpd1("faarch64-jump-table-hardening"),
2783flagpd1("faccess-control"),
2784flagpd1("faddrsig"),
2785flagpd1("faggressive-function-elimination"),
2786flagpd1("falign-commons"),
2787flagpd1("falign-functions"),
2788flagpd1("falign-jumps"),
2789flagpd1("falign-labels"),
2790flagpd1("falign-loops"),
2791flagpd1("faligned-allocation"),
2792flagpd1("fall-intrinsics"),
2793flagpd1("fallow-editor-placeholders"),
2794flagpd1("fallow-pch-with-different-modules-cache-path"),
2795flagpd1("fallow-pch-with-compiler-errors"),
2796flagpd1("fallow-pcm-with-compiler-errors"),
2797flagpd1("fallow-unsupported"),
2798flagpd1("falternative-parameter-statement"),
2799flagpd1("faltivec"),
2800flagpd1("fanalyzed-objects-for-unparse"),
2801flagpd1("fandroid-pad-segment"),
2802flagpd1("fkeep-inline-functions"),
2803flagpd1("funit-at-a-time"),
2804flagpd1("fansi-escape-codes"),
2805flagpd1("fapinotes"),
2806flagpd1("fapinotes-modules"),
2807flagpd1("fapple-kext"),
2808flagpd1("fapple-link-rtlib"),
2809flagpd1("fapple-pragma-pack"),
2810flagpd1("fapplication-extension"),
2811flagpd1("fapply-global-visibility-to-externs"),
2812flagpd1("fapprox-func"),
2813flagpd1("fasm"),
2814flagpd1("fasm-blocks"),
2815flagpd1("fassociative-math"),
2816flagpd1("fassume-nothrow-exception-dtor"),
2817flagpd1("fassume-sane-operator-new"),
2818flagpd1("fassume-unique-vtables"),
2819flagpd1("fassumptions"),
2820flagpd1("fast"),
2821flagpd1("fastcp"),
2822flagpd1("fastf"),
2823flagpd1("fasync-exceptions"),
2824.{
2825 .name = "fasynchronous-unwind-tables",
2826 .syntax = .flag,
2827 .zig_equivalent = .asynchronous_unwind_tables,
2828 .pd1 = true,
2829 .pd2 = false,
2830 .psl = false,
2831},
2832flagpd1("fatomic-fine-grained-memory"),
2833flagpd1("fatomic-ignore-denormal-mode"),
2834flagpd1("fatomic-remote-memory"),
2835flagpd1("fauto-import"),
2836flagpd1("fauto-profile-accurate"),
2837flagpd1("fautolink"),
2838flagpd1("fautomatic"),
2839flagpd1("fbackslash"),
2840flagpd1("fbacktrace"),
2841flagpd1("fbasic-block-address-map"),
2842flagpd1("fblocks"),
2843flagpd1("fblocks-runtime-optional"),
2844flagpd1("fborland-extensions"),
2845flagpd1("fbounds-check"),
2846flagpd1("fexperimental-bounds-safety"),
2847sepd1("fbracket-depth"),
2848flagpd1("fbranch-count-reg"),
2849.{
2850 .name = "fbuiltin",
2851 .syntax = .flag,
2852 .zig_equivalent = .builtin,
2853 .pd1 = true,
2854 .pd2 = false,
2855 .psl = false,
2856},
2857flagpd1("fbuiltin-headers-in-system-modules"),
2858flagpd1("fbuiltin-module-map"),
2859flagpd1("fcall-saved-x10"),
2860flagpd1("fcall-saved-x11"),
2861flagpd1("fcall-saved-x12"),
2862flagpd1("fcall-saved-x13"),
2863flagpd1("fcall-saved-x14"),
2864flagpd1("fcall-saved-x15"),
2865flagpd1("fcall-saved-x18"),
2866flagpd1("fcall-saved-x8"),
2867flagpd1("fcall-saved-x9"),
2868flagpd1("fcaller-saves"),
2869.{
2870 .name = "fcaret-diagnostics",
2871 .syntax = .flag,
2872 .zig_equivalent = .color_diagnostics,
2873 .pd1 = true,
2874 .pd2 = false,
2875 .psl = false,
2876},
2877flagpd1("fcf-protection"),
2878.{
2879 .name = "fcgl",
2880 .syntax = .flag,
2881 .zig_equivalent = .other,
2882 .pd1 = true,
2883 .pd2 = false,
2884 .psl = true,
2885},
2886flagpd1("fchar8_t"),
2887flagpd1("fcheck-array-temporaries"),
2888flagpd1("fcheck-new"),
2889flagpd1("fclangir"),
2890flagpd1("fcodegen-data-generate"),
2891flagpd1("fcodegen-data-use"),
2892.{
2893 .name = "fcolor-diagnostics",
2894 .syntax = .flag,
2895 .zig_equivalent = .color_diagnostics,
2896 .pd1 = true,
2897 .pd2 = false,
2898 .psl = false,
2899},
2900flagpd1("fcommon"),
2901flagpd1("fcompatibility-qualified-id-block-type-checking"),
2902flagpd1("fcomplete-member-pointers"),
2903flagpd1("fconst-strings"),
2904flagpd1("fconstant-cfstrings"),
2905sepd1("fconstant-string-class"),
2906flagpd1("fconvergent-functions"),
2907flagpd1("fcoro-aligned-allocation"),
2908flagpd1("fcoroutines"),
2909flagpd1("fcoverage-mapping"),
2910flagpd1("fcrash-diagnostics"),
2911flagpd1("fcray-pointer"),
2912flagpd1("fcreate-profile"),
2913flagpd1("fcs-profile-generate"),
2914flagpd1("fctor-dtor-return-this"),
2915flagpd1("fcuda-allow-variadic-functions"),
2916flagpd1("fcuda-flush-denormals-to-zero"),
2917sepd1("fcuda-include-gpubinary"),
2918flagpd1("fcuda-is-device"),
2919flagpd1("fcuda-short-ptr"),
2920flagpd1("fcx-fortran-rules"),
2921flagpd1("fcx-limited-range"),
2922flagpd1("fcxx-exceptions"),
2923flagpd1("fcxx-modules"),
2924flagpd1("fd-lines-as-code"),
2925flagpd1("fd-lines-as-comments"),
2926.{
2927 .name = "fdata-sections",
2928 .syntax = .flag,
2929 .zig_equivalent = .data_sections,
2930 .pd1 = true,
2931 .pd2 = false,
2932 .psl = false,
2933},
2934sepd1("fdebug-compilation-dir"),
2935flagpd1("fdebug-dump-all"),
2936flagpd1("fdebug-dump-parse-tree"),
2937flagpd1("fdebug-dump-parse-tree-no-sema"),
2938flagpd1("fdebug-dump-parsing-log"),
2939flagpd1("fdebug-dump-pft"),
2940flagpd1("fdebug-dump-provenance"),
2941flagpd1("fdebug-dump-symbols"),
2942flagpd1("fdebug-info-for-profiling"),
2943flagpd1("fdebug-macro"),
2944flagpd1("fdebug-measure-parse-tree"),
2945flagpd1("fdebug-module-writer"),
2946flagpd1("fdebug-pass-arguments"),
2947flagpd1("fdebug-pass-manager"),
2948flagpd1("fdebug-pass-structure"),
2949flagpd1("fdebug-pre-fir-tree"),
2950flagpd1("fdebug-ranges-base-address"),
2951flagpd1("fdebug-types-section"),
2952flagpd1("fdebug-unparse"),
2953flagpd1("fdebug-unparse-no-sema"),
2954flagpd1("fdebug-unparse-with-modules"),
2955flagpd1("fdebug-unparse-with-symbols"),
2956flagpd1("fdebugger-cast-result-to-id"),
2957flagpd1("fdebugger-objc-literal"),
2958flagpd1("fdebugger-support"),
2959flagpd1("fdeclare-opencl-builtins"),
2960flagpd1("fdeclspec"),
2961flagpd1("fdefault-double-8"),
2962flagpd1("fdefault-inline"),
2963flagpd1("fdefault-integer-8"),
2964flagpd1("fdefault-real-8"),
2965flagpd1("fdefine-target-os-macros"),
2966flagpd1("fdelayed-template-parsing"),
2967flagpd1("fdelete-null-pointer-checks"),
2968flagpd1("fdeprecated-macro"),
2969flagpd1("fdevirtualize"),
2970flagpd1("fdevirtualize-speculatively"),
2971flagpd1("fdiagnostics-absolute-paths"),
2972flagpd1("fdiagnostics-fixit-info"),
2973sepd1("fdiagnostics-format"),
2974flagpd1("fdiagnostics-parseable-fixits"),
2975flagpd1("fdiagnostics-print-source-range-info"),
2976sepd1("fdiagnostics-show-category"),
2977flagpd1("fdiagnostics-show-hotness"),
2978flagpd1("fdiagnostics-show-line-numbers"),
2979flagpd1("fdiagnostics-show-note-include-stack"),
2980flagpd1("fdiagnostics-show-option"),
2981flagpd1("fdiagnostics-show-template-tree"),
2982flagpd1("fdigraphs"),
2983flagpd1("fdirect-access-external-data"),
2984flagpd1("fdirectives-only"),
2985flagpd1("fdisable-block-signature-string"),
2986flagpd1("fdisable-integer-16"),
2987flagpd1("fdisable-integer-2"),
2988flagpd1("fdisable-module-hash"),
2989flagpd1("fdisable-real-10"),
2990flagpd1("fdisable-real-3"),
2991flagpd1("fdiscard-value-names"),
2992flagpd1("fdollar-ok"),
2993flagpd1("fdollars-in-identifiers"),
2994flagpd1("fdouble-square-bracket-attributes"),
2995flagpd1("fdriver-only"),
2996flagpd1("fdump-fortran-optimized"),
2997flagpd1("fdump-fortran-original"),
2998flagpd1("fdump-parse-tree"),
2999flagpd1("fdump-record-layouts"),
3000flagpd1("fdump-record-layouts-canonical"),
3001flagpd1("fdump-record-layouts-complete"),
3002flagpd1("fdump-record-layouts-simple"),
3003flagpd1("fdump-vtable-layouts"),
3004flagpd1("fdwarf2-cfi-asm"),
3005flagpd1("fdwarf-directory-asm"),
3006flagpd1("fdwarf-exceptions"),
3007flagpd1("felide-constructors"),
3008flagpd1("feliminate-unused-debug-symbols"),
3009flagpd1("feliminate-unused-debug-types"),
3010flagpd1("fembed-bitcode"),
3011flagpd1("fembed-bitcode-marker"),
3012flagpd1("femit-all-decls"),
3013flagpd1("femit-compact-unwind-non-canonical"),
3014flagpd1("femulated-tls"),
3015flagpd1("fenable-matrix"),
3016flagpd1("fencode-extended-block-signature"),
3017sepd1("ferror-limit"),
3018flagpd1("fescaping-block-tail-calls"),
3019flagpd1("fexceptions"),
3020flagpd1("fexperimental-isel"),
3021flagpd1("fexperimental-late-parse-attributes"),
3022flagpd1("fexperimental-library"),
3023flagpd1("fexperimental-new-constant-interpreter"),
3024flagpd1("fexperimental-omit-vtable-rtti"),
3025flagpd1("fexperimental-relative-c++-abi-vtables"),
3026flagpd1("fexperimental-sanitize-metadata=atomics"),
3027flagpd1("fexperimental-sanitize-metadata=covered"),
3028flagpd1("fexperimental-sanitize-metadata=uar"),
3029flagpd1("fexperimental-strict-floating-point"),
3030flagpd1("fextend-variable-liveness"),
3031flagpd1("fexternal-blas"),
3032flagpd1("fexternc-nounwind"),
3033flagpd1("ff2c"),
3034flagpd1("ffake-address-space-map"),
3035flagpd1("ffast-math"),
3036flagpd1("ffat-lto-objects"),
3037flagpd1("ffile-reproducible"),
3038flagpd1("fimplicit-modules-use-lock"),
3039flagpd1("ffine-grained-bitfield-accesses"),
3040flagpd1("ffinite-loops"),
3041flagpd1("ffinite-math-only"),
3042flagpd1("finline-limit"),
3043flagpd1("ffixed-a0"),
3044flagpd1("ffixed-a1"),
3045flagpd1("ffixed-a2"),
3046flagpd1("ffixed-a3"),
3047flagpd1("ffixed-a4"),
3048flagpd1("ffixed-a5"),
3049flagpd1("ffixed-a6"),
3050flagpd1("ffixed-d0"),
3051flagpd1("ffixed-d1"),
3052flagpd1("ffixed-d2"),
3053flagpd1("ffixed-d3"),
3054flagpd1("ffixed-d4"),
3055flagpd1("ffixed-d5"),
3056flagpd1("ffixed-d6"),
3057flagpd1("ffixed-d7"),
3058flagpd1("ffixed-form"),
3059flagpd1("ffixed-g1"),
3060flagpd1("ffixed-g2"),
3061flagpd1("ffixed-g3"),
3062flagpd1("ffixed-g4"),
3063flagpd1("ffixed-g5"),
3064flagpd1("ffixed-g6"),
3065flagpd1("ffixed-g7"),
3066flagpd1("ffixed-i0"),
3067flagpd1("ffixed-i1"),
3068flagpd1("ffixed-i2"),
3069flagpd1("ffixed-i3"),
3070flagpd1("ffixed-i4"),
3071flagpd1("ffixed-i5"),
3072flagpd1("ffixed-l0"),
3073flagpd1("ffixed-l1"),
3074flagpd1("ffixed-l2"),
3075flagpd1("ffixed-l3"),
3076flagpd1("ffixed-l4"),
3077flagpd1("ffixed-l5"),
3078flagpd1("ffixed-l6"),
3079flagpd1("ffixed-l7"),
3080flagpd1("ffixed-o0"),
3081flagpd1("ffixed-o1"),
3082flagpd1("ffixed-o2"),
3083flagpd1("ffixed-o3"),
3084flagpd1("ffixed-o4"),
3085flagpd1("ffixed-o5"),
3086flagpd1("ffixed-point"),
3087flagpd1("ffixed-r19"),
3088flagpd1("ffixed-r9"),
3089flagpd1("ffixed-x1"),
3090flagpd1("ffixed-x10"),
3091flagpd1("ffixed-x11"),
3092flagpd1("ffixed-x12"),
3093flagpd1("ffixed-x13"),
3094flagpd1("ffixed-x14"),
3095flagpd1("ffixed-x15"),
3096flagpd1("ffixed-x16"),
3097flagpd1("ffixed-x17"),
3098flagpd1("ffixed-x18"),
3099flagpd1("ffixed-x19"),
3100flagpd1("ffixed-x2"),
3101flagpd1("ffixed-x20"),
3102flagpd1("ffixed-x21"),
3103flagpd1("ffixed-x22"),
3104flagpd1("ffixed-x23"),
3105flagpd1("ffixed-x24"),
3106flagpd1("ffixed-x25"),
3107flagpd1("ffixed-x26"),
3108flagpd1("ffixed-x27"),
3109flagpd1("ffixed-x28"),
3110flagpd1("ffixed-x29"),
3111flagpd1("ffixed-x3"),
3112flagpd1("ffixed-x30"),
3113flagpd1("ffixed-x31"),
3114flagpd1("ffixed-x4"),
3115flagpd1("ffixed-x5"),
3116flagpd1("ffixed-x6"),
3117flagpd1("ffixed-x7"),
3118flagpd1("ffixed-x8"),
3119flagpd1("ffixed-x9"),
3120flagpd1("ffloat-store"),
3121flagpd1("ffor-scope"),
3122flagpd1("fforbid-guard-variables"),
3123flagpd1("fforce-check-cxx20-modules-input-files"),
3124flagpd1("fforce-dwarf-frame"),
3125flagpd1("fforce-emit-vtables"),
3126flagpd1("fforce-enable-int128"),
3127flagpd1("ffree-form"),
3128flagpd1("ffreestanding"),
3129flagpd1("ffriend-injection"),
3130flagpd1("ffrontend-optimize"),
3131flagpd1("ffunction-attribute-list"),
3132.{
3133 .name = "ffunction-sections",
3134 .syntax = .flag,
3135 .zig_equivalent = .function_sections,
3136 .pd1 = true,
3137 .pd2 = false,
3138 .psl = false,
3139},
3140flagpd1("fgcse"),
3141flagpd1("fgcse-after-reload"),
3142flagpd1("fgcse-las"),
3143flagpd1("fgcse-sm"),
3144.{
3145 .name = "fget-definition",
3146 .syntax = .{.multi_arg=3},
3147 .zig_equivalent = .other,
3148 .pd1 = true,
3149 .pd2 = false,
3150 .psl = false,
3151},
3152flagpd1("fget-symbols-sources"),
3153flagpd1("fglobal-isel"),
3154flagpd1("fgnu"),
3155flagpd1("fgnu89-inline"),
3156flagpd1("fgnu-inline-asm"),
3157flagpd1("fgnu-keywords"),
3158flagpd1("fgnu-runtime"),
3159flagpd1("fgpu-allow-device-init"),
3160flagpd1("fgpu-approx-transcendentals"),
3161flagpd1("fgpu-defer-diag"),
3162flagpd1("fgpu-exclude-wrong-side-overloads"),
3163flagpd1("fgpu-flush-denormals-to-zero"),
3164flagpd1("fgpu-rdc"),
3165flagpd1("fgpu-sanitize"),
3166flagpd1("fhalf-no-semantic-interposition"),
3167flagpd1("fheinous-gnu-extensions"),
3168flagpd1("fhermetic-module-files"),
3169flagpd1("fhip-dump-offload-linker-script"),
3170flagpd1("fhip-emit-relocatable"),
3171flagpd1("fhip-fp32-correctly-rounded-divide-sqrt"),
3172flagpd1("fhip-kernel-arg-name"),
3173flagpd1("fhip-new-launch-api"),
3174flagpd1("fhlsl-strict-availability"),
3175flagpd1("fhonor-infinities"),
3176flagpd1("fhonor-nans"),
3177flagpd1("fhosted"),
3178flagpd1("fignore-exceptions"),
3179sepd1("filelist"),
3180sepd1("filetype"),
3181flagpd1("fimplement-inlines"),
3182flagpd1("fimplicit-module-maps"),
3183flagpd1("fimplicit-modules"),
3184flagpd1("fimplicit-none"),
3185flagpd1("fimplicit-none-ext"),
3186flagpd1("fimplicit-templates"),
3187flagpd1("finclude-default-header"),
3188flagpd1("fincremental-extensions"),
3189flagpd1("finit-global-zero"),
3190flagpd1("finit-local-zero"),
3191flagpd1("finline"),
3192flagpd1("finline-functions"),
3193flagpd1("finline-functions-called-once"),
3194flagpd1("finline-hint-functions"),
3195flagpd1("finline-small-functions"),
3196flagpd1("finstrument-function-entry-bare"),
3197flagpd1("finstrument-functions"),
3198flagpd1("finstrument-functions-after-inlining"),
3199flagpd1("finteger-4-integer-8"),
3200flagpd1("fintegrated-as"),
3201flagpd1("fintegrated-cc1"),
3202flagpd1("fintegrated-objemitter"),
3203sepd1("fintrinsic-modules-path"),
3204flagpd1("fipa-cp"),
3205flagpd1("fivopts"),
3206flagpd1("fix-only-warnings"),
3207flagpd1("fix-what-you-can"),
3208flagpd1("fixit"),
3209flagpd1("fixit-recompile"),
3210flagpd1("fixit-to-temporary"),
3211flagpd1("fjmc"),
3212flagpd1("fjump-tables"),
3213flagpd1("fkeep-persistent-storage-variables"),
3214flagpd1("fkeep-static-consts"),
3215flagpd1("fkeep-system-includes"),
3216flagpd1("flang-deprecated-no-hlfir"),
3217flagpd1("flang-experimental-hlfir"),
3218flagpd1("flarge-sizes"),
3219flagpd1("flat_namespace"),
3220flagpd1("flax-vector-conversions"),
3221flagpd1("fexperimental-lifetime-safety"),
3222flagpd1("flimit-debug-info"),
3223flagpd1("flogical-abbreviations"),
3224flagpd1("floop-interchange"),
3225flagpd1("fversion-loops-for-stride"),
3226.{
3227 .name = "flto",
3228 .syntax = .flag,
3229 .zig_equivalent = .lto,
3230 .pd1 = true,
3231 .pd2 = false,
3232 .psl = false,
3233},
3234.{
3235 .name = "flto=auto",
3236 .syntax = .flag,
3237 .zig_equivalent = .lto,
3238 .pd1 = true,
3239 .pd2 = false,
3240 .psl = false,
3241},
3242.{
3243 .name = "flto=jobserver",
3244 .syntax = .flag,
3245 .zig_equivalent = .lto,
3246 .pd1 = true,
3247 .pd2 = false,
3248 .psl = false,
3249},
3250flagpd1("flto-unit"),
3251flagpd1("flto-visibility-public-std"),
3252flagpd1("fmath-errno"),
3253flagpd1("fmax-identifier-length"),
3254flagpd1("fcoverage-mcdc"),
3255flagpd1("fmemory-profile"),
3256flagpd1("fmerge-all-constants"),
3257flagpd1("fmerge-constants"),
3258flagpd1("fmerge-functions"),
3259flagpd1("fminimize-whitespace"),
3260sepd1("fmodule-feature"),
3261flagpd1("fmodule-file-deps"),
3262flagpd1("fmodule-file-home-is-cwd"),
3263flagpd1("fmodule-header"),
3264sepd1("fmodule-implementation-of"),
3265flagpd1("fmodule-map-file-home-is-cwd"),
3266flagpd1("fmodule-maps"),
3267flagpd1("fmodule-output"),
3268flagpd1("fmodule-private"),
3269flagpd1("fmodulemap-allow-subdirectory-search"),
3270flagpd1("fmodules"),
3271flagpd1("fmodules-codegen"),
3272flagpd1("fmodules-debuginfo"),
3273flagpd1("fmodules-decluse"),
3274flagpd1("fmodules-disable-diagnostic-validation"),
3275flagpd1("fmodules-force-validate-user-headers"),
3276flagpd1("fmodules-hash-content"),
3277flagpd1("fmodules-local-submodule-visibility"),
3278flagpd1("fmodules-search-all"),
3279flagpd1("fmodules-skip-diagnostic-options"),
3280flagpd1("fmodules-skip-header-search-paths"),
3281flagpd1("fmodules-strict-context-hash"),
3282flagpd1("fmodules-strict-decluse"),
3283sepd1("fmodules-user-build-path"),
3284flagpd1("fmodules-validate-input-files-content"),
3285flagpd1("fmodules-validate-once-per-build-session"),
3286flagpd1("fmodules-validate-system-headers"),
3287flagpd1("fmodulo-sched"),
3288flagpd1("fmodulo-sched-allow-regmoves"),
3289flagpd1("fms-compatibility"),
3290flagpd1("fms-define-stdc"),
3291flagpd1("fms-extensions"),
3292flagpd1("fms-hotpatch"),
3293flagpd1("fms-kernel"),
3294flagpd1("fms-tls-guards"),
3295flagpd1("fms-volatile"),
3296flagpd1("fmudflap"),
3297flagpd1("fmudflapth"),
3298flagpd1("fnative-half-arguments-and-returns"),
3299flagpd1("fnative-half-type"),
3300flagpd1("fnested-functions"),
3301flagpd1("fnew-infallible"),
3302flagpd1("fnext-runtime"),
3303.{
3304 .name = "fno-PIC",
3305 .syntax = .flag,
3306 .zig_equivalent = .no_pic,
3307 .pd1 = true,
3308 .pd2 = false,
3309 .psl = false,
3310},
3311.{
3312 .name = "fno-PIE",
3313 .syntax = .flag,
3314 .zig_equivalent = .no_pie,
3315 .pd1 = true,
3316 .pd2 = false,
3317 .psl = false,
3318},
3319flagpd1("fno-aapcs-bitfield-width"),
3320flagpd1("fno-aarch64-jump-table-hardening"),
3321flagpd1("fno-access-control"),
3322flagpd1("fno-addrsig"),
3323flagpd1("fno-aggressive-function-elimination"),
3324flagpd1("fno-align-commons"),
3325flagpd1("fno-align-functions"),
3326flagpd1("fno-align-jumps"),
3327flagpd1("fno-align-labels"),
3328flagpd1("fno-align-loops"),
3329flagpd1("fno-aligned-allocation"),
3330flagpd1("fno-all-intrinsics"),
3331flagpd1("fno-allow-editor-placeholders"),
3332flagpd1("fno-altivec"),
3333flagpd1("fno-analyzed-objects-for-unparse"),
3334flagpd1("fno-android-pad-segment"),
3335flagpd1("fno-keep-inline-functions"),
3336flagpd1("fno-unit-at-a-time"),
3337flagpd1("fno-apinotes"),
3338flagpd1("fno-apinotes-modules"),
3339flagpd1("fno-apple-pragma-pack"),
3340flagpd1("fno-application-extension"),
3341flagpd1("fno-approx-func"),
3342flagpd1("fno-asm"),
3343flagpd1("fno-asm-blocks"),
3344flagpd1("fno-associative-math"),
3345flagpd1("fno-assume-nothrow-exception-dtor"),
3346flagpd1("fno-assume-sane-operator-new"),
3347flagpd1("fno-assume-unique-vtables"),
3348flagpd1("fno-assumptions"),
3349flagpd1("fno-async-exceptions"),
3350.{
3351 .name = "fno-asynchronous-unwind-tables",
3352 .syntax = .flag,
3353 .zig_equivalent = .no_asynchronous_unwind_tables,
3354 .pd1 = true,
3355 .pd2 = false,
3356 .psl = false,
3357},
3358flagpd1("fno-atomic-fine-grained-memory"),
3359flagpd1("fno-atomic-ignore-denormal-mode"),
3360flagpd1("fno-atomic-remote-memory"),
3361flagpd1("fno-auto-import"),
3362flagpd1("fno-auto-profile"),
3363flagpd1("fno-auto-profile-accurate"),
3364flagpd1("fno-autolink"),
3365flagpd1("fno-automatic"),
3366flagpd1("fno-backslash"),
3367flagpd1("fno-backtrace"),
3368flagpd1("fno-basic-block-address-map"),
3369flagpd1("fno-bitfield-type-align"),
3370flagpd1("fno-blocks"),
3371flagpd1("fno-borland-extensions"),
3372flagpd1("fno-bounds-check"),
3373flagpd1("fno-experimental-bounds-safety"),
3374flagpd1("fno-branch-count-reg"),
3375.{
3376 .name = "fno-builtin",
3377 .syntax = .flag,
3378 .zig_equivalent = .no_builtin,
3379 .pd1 = true,
3380 .pd2 = false,
3381 .psl = false,
3382},
3383flagpd1("fno-caller-saves"),
3384.{
3385 .name = "fno-caret-diagnostics",
3386 .syntax = .flag,
3387 .zig_equivalent = .no_color_diagnostics,
3388 .pd1 = true,
3389 .pd2 = false,
3390 .psl = false,
3391},
3392flagpd1("fno-char8_t"),
3393flagpd1("fno-check-array-temporaries"),
3394flagpd1("fno-check-new"),
3395flagpd1("fno-clangir"),
3396.{
3397 .name = "fno-color-diagnostics",
3398 .syntax = .flag,
3399 .zig_equivalent = .no_color_diagnostics,
3400 .pd1 = true,
3401 .pd2 = false,
3402 .psl = false,
3403},
3404flagpd1("fno-common"),
3405flagpd1("fno-complete-member-pointers"),
3406flagpd1("fno-const-strings"),
3407flagpd1("fno-constant-cfstrings"),
3408flagpd1("fno-convergent-functions"),
3409flagpd1("fno-coro-aligned-allocation"),
3410flagpd1("fno-coroutines"),
3411flagpd1("fno-coverage-mapping"),
3412flagpd1("fno-crash-diagnostics"),
3413flagpd1("fno-cray-pointer"),
3414flagpd1("fno-cuda-flush-denormals-to-zero"),
3415flagpd1("fno-cuda-host-device-constexpr"),
3416flagpd1("fno-cuda-short-ptr"),
3417flagpd1("fno-cx-fortran-rules"),
3418flagpd1("fno-cx-limited-range"),
3419flagpd1("fno-cxx-exceptions"),
3420flagpd1("fno-cxx-modules"),
3421flagpd1("fno-d-lines-as-code"),
3422flagpd1("fno-d-lines-as-comments"),
3423.{
3424 .name = "fno-data-sections",
3425 .syntax = .flag,
3426 .zig_equivalent = .no_data_sections,
3427 .pd1 = true,
3428 .pd2 = false,
3429 .psl = false,
3430},
3431flagpd1("fno-debug-info-for-profiling"),
3432flagpd1("fno-debug-macro"),
3433flagpd1("fno-debug-pass-manager"),
3434flagpd1("fno-debug-ranges-base-address"),
3435flagpd1("fno-debug-types-section"),
3436flagpd1("fno-declspec"),
3437flagpd1("fno-default-inline"),
3438flagpd1("fno-define-target-os-macros"),
3439flagpd1("fno-delayed-template-parsing"),
3440flagpd1("fno-delete-null-pointer-checks"),
3441flagpd1("fno-deprecated-macro"),
3442flagpd1("fno-devirtualize"),
3443flagpd1("fno-devirtualize-speculatively"),
3444flagpd1("fno-diagnostics-fixit-info"),
3445flagpd1("fno-diagnostics-show-hotness"),
3446flagpd1("fno-diagnostics-show-line-numbers"),
3447flagpd1("fno-diagnostics-show-note-include-stack"),
3448flagpd1("fno-diagnostics-show-option"),
3449flagpd1("fno-diagnostics-use-presumed-location"),
3450flagpd1("fno-digraphs"),
3451flagpd1("fno-direct-access-external-data"),
3452flagpd1("fno-directives-only"),
3453flagpd1("fno-disable-block-signature-string"),
3454flagpd1("fno-discard-value-names"),
3455flagpd1("fno-dllexport-inlines"),
3456flagpd1("fno-dollar-ok"),
3457flagpd1("fno-dollars-in-identifiers"),
3458flagpd1("fno-double-square-bracket-attributes"),
3459flagpd1("fno-dump-fortran-optimized"),
3460flagpd1("fno-dump-fortran-original"),
3461flagpd1("fno-dump-parse-tree"),
3462flagpd1("fno-dwarf2-cfi-asm"),
3463flagpd1("fno-dwarf-directory-asm"),
3464flagpd1("fno-elide-constructors"),
3465flagpd1("fno-elide-type"),
3466flagpd1("fno-eliminate-unused-debug-symbols"),
3467flagpd1("fno-eliminate-unused-debug-types"),
3468flagpd1("fno-emit-compact-unwind-non-canonical"),
3469flagpd1("fno-emulated-tls"),
3470flagpd1("fno-escaping-block-tail-calls"),
3471flagpd1("fno-exceptions"),
3472flagpd1("fno-experimental-isel"),
3473flagpd1("fno-experimental-late-parse-attributes"),
3474flagpd1("fno-experimental-library"),
3475flagpd1("fno-experimental-omit-vtable-rtti"),
3476flagpd1("fno-experimental-relative-c++-abi-vtables"),
3477flagpd1("fno-external-blas"),
3478flagpd1("fno-f2c"),
3479flagpd1("fno-fast-math"),
3480flagpd1("fno-fat-lto-objects"),
3481flagpd1("fno-file-reproducible"),
3482flagpd1("fno-implicit-modules-use-lock"),
3483flagpd1("fno-fine-grained-bitfield-accesses"),
3484flagpd1("fno-finite-loops"),
3485flagpd1("fno-finite-math-only"),
3486flagpd1("fno-inline-limit"),
3487flagpd1("fno-fixed-point"),
3488flagpd1("fno-float-store"),
3489flagpd1("fno-for-scope"),
3490flagpd1("fno-force-dwarf-frame"),
3491flagpd1("fno-force-emit-vtables"),
3492flagpd1("fno-force-enable-int128"),
3493flagpd1("fno-friend-injection"),
3494flagpd1("fno-frontend-optimize"),
3495flagpd1("fno-function-attribute-list"),
3496.{
3497 .name = "fno-function-sections",
3498 .syntax = .flag,
3499 .zig_equivalent = .no_function_sections,
3500 .pd1 = true,
3501 .pd2 = false,
3502 .psl = false,
3503},
3504flagpd1("fno-gcse"),
3505flagpd1("fno-gcse-after-reload"),
3506flagpd1("fno-gcse-las"),
3507flagpd1("fno-gcse-sm"),
3508flagpd1("fno-global-isel"),
3509flagpd1("fno-gnu"),
3510flagpd1("fno-gnu89-inline"),
3511flagpd1("fno-gnu-inline-asm"),
3512flagpd1("fno-gnu-keywords"),
3513flagpd1("fno-gpu-allow-device-init"),
3514flagpd1("fno-gpu-approx-transcendentals"),
3515flagpd1("fno-gpu-defer-diag"),
3516flagpd1("fno-gpu-exclude-wrong-side-overloads"),
3517flagpd1("fno-gpu-flush-denormals-to-zero"),
3518flagpd1("fno-gpu-rdc"),
3519flagpd1("fno-gpu-sanitize"),
3520flagpd1("fno-hip-emit-relocatable"),
3521flagpd1("fno-hip-fp32-correctly-rounded-divide-sqrt"),
3522flagpd1("fno-hip-kernel-arg-name"),
3523flagpd1("fno-hip-new-launch-api"),
3524flagpd1("fno-honor-infinities"),
3525flagpd1("fno-honor-nans"),
3526flagpd1("fno-implement-inlines"),
3527flagpd1("fno-implicit-module-maps"),
3528flagpd1("fno-implicit-modules"),
3529flagpd1("fno-implicit-none"),
3530flagpd1("fno-implicit-none-ext"),
3531flagpd1("fno-implicit-templates"),
3532flagpd1("fno-init-global-zero"),
3533flagpd1("fno-init-local-zero"),
3534flagpd1("fno-inline"),
3535flagpd1("fno-inline-functions"),
3536flagpd1("fno-inline-functions-called-once"),
3537flagpd1("fno-inline-small-functions"),
3538flagpd1("fno-integer-4-integer-8"),
3539flagpd1("fno-integrated-as"),
3540flagpd1("fno-integrated-cc1"),
3541flagpd1("fno-integrated-objemitter"),
3542flagpd1("fno-ipa-cp"),
3543flagpd1("fno-ivopts"),
3544flagpd1("fno-jmc"),
3545flagpd1("fno-jump-tables"),
3546flagpd1("fno-keep-persistent-storage-variables"),
3547flagpd1("fno-keep-static-consts"),
3548flagpd1("fno-keep-system-includes"),
3549flagpd1("fno-knr-functions"),
3550flagpd1("fno-lax-vector-conversions"),
3551flagpd1("fno-experimental-lifetime-safety"),
3552flagpd1("fno-limit-debug-info"),
3553flagpd1("fno-logical-abbreviations"),
3554flagpd1("fno-loop-interchange"),
3555flagpd1("fno-version-loops-for-stride"),
3556.{
3557 .name = "fno-lto",
3558 .syntax = .flag,
3559 .zig_equivalent = .no_lto,
3560 .pd1 = true,
3561 .pd2 = false,
3562 .psl = false,
3563},
3564flagpd1("fno-lto-unit"),
3565flagpd1("fno-math-builtin"),
3566flagpd1("fno-math-errno"),
3567flagpd1("fno-max-identifier-length"),
3568flagpd1("fno-max-type-align"),
3569flagpd1("fno-coverage-mcdc"),
3570flagpd1("fno-memory-profile"),
3571flagpd1("fno-merge-all-constants"),
3572flagpd1("fno-merge-constants"),
3573flagpd1("fno-minimize-whitespace"),
3574flagpd1("fno-module-file-deps"),
3575flagpd1("fno-module-maps"),
3576flagpd1("fno-module-private"),
3577flagpd1("fno-modulemap-allow-subdirectory-search"),
3578flagpd1("fno-modules"),
3579flagpd1("fno-modules-decluse"),
3580flagpd1("fno-modules-error-recovery"),
3581flagpd1("fno-modules-force-validate-user-headers"),
3582flagpd1("fno-modules-global-index"),
3583flagpd1("fno-modules-prune-non-affecting-module-map-files"),
3584flagpd1("fno-modules-search-all"),
3585flagpd1("fno-modules-share-filemanager"),
3586flagpd1("fno-modules-skip-diagnostic-options"),
3587flagpd1("fno-modules-skip-header-search-paths"),
3588flagpd1("fno-strict-modules-decluse"),
3589flagpd1("fno_modules-validate-input-files-content"),
3590flagpd1("fno-modules-validate-system-headers"),
3591flagpd1("fno-modules-validate-textual-header-includes"),
3592flagpd1("fno-modulo-sched"),
3593flagpd1("fno-modulo-sched-allow-regmoves"),
3594flagpd1("fno-ms-compatibility"),
3595flagpd1("fno-ms-extensions"),
3596flagpd1("fno-ms-tls-guards"),
3597flagpd1("fno-ms-volatile"),
3598flagpd1("fno-new-infallible"),
3599flagpd1("fno-non-call-exceptions"),
3600flagpd1("fno-objc-arc"),
3601flagpd1("fno-objc-arc-exceptions"),
3602flagpd1("fno-objc-avoid-heapify-local-blocks"),
3603flagpd1("fno-objc-convert-messages-to-runtime-calls"),
3604flagpd1("fno-objc-encode-cxx-class-template-spec"),
3605flagpd1("fno-objc-exceptions"),
3606flagpd1("fno-objc-infer-related-result-type"),
3607flagpd1("fno-objc-legacy-dispatch"),
3608flagpd1("fno-objc-nonfragile-abi"),
3609flagpd1("fno-objc-weak"),
3610flagpd1("fno-offload-implicit-host-device-templates"),
3611flagpd1("fno-offload-lto"),
3612flagpd1("fno-offload-uniform-block"),
3613flagpd1("fno-offload-via-llvm"),
3614.{
3615 .name = "fno-omit-frame-pointer",
3616 .syntax = .flag,
3617 .zig_equivalent = .no_omit_frame_pointer,
3618 .pd1 = true,
3619 .pd2 = false,
3620 .psl = false,
3621},
3622flagpd1("fno-openmp"),
3623flagpd1("fno-openmp-assume-teams-oversubscription"),
3624flagpd1("fno-openmp-assume-threads-oversubscription"),
3625flagpd1("fno-openmp-cuda-mode"),
3626flagpd1("fno-openmp-extensions"),
3627flagpd1("fno-openmp-new-driver"),
3628flagpd1("fno-openmp-optimistic-collapse"),
3629flagpd1("fno-openmp-simd"),
3630flagpd1("fno-openmp-target-debug"),
3631flagpd1("fno-openmp-target-jit"),
3632flagpd1("fno-openmp-target-new-runtime"),
3633flagpd1("fno-operator-names"),
3634flagpd1("fno-optimize-sibling-calls"),
3635flagpd1("fno-pack-derived"),
3636flagpd1("fno-pack-struct"),
3637flagpd1("fno-padding-on-unsigned-fixed-point"),
3638flagpd1("fno-pascal-strings"),
3639flagpd1("fno-pch-codegen"),
3640flagpd1("fno-pch-debuginfo"),
3641flagpd1("fno-pch-instantiate-templates"),
3642flagpd1("fno-pch-timestamp"),
3643flagpd1("fno_pch-validate-input-files-content"),
3644flagpd1("fno-peel-loops"),
3645flagpd1("fno-permissive"),
3646.{
3647 .name = "fno-pic",
3648 .syntax = .flag,
3649 .zig_equivalent = .no_pic,
3650 .pd1 = true,
3651 .pd2 = false,
3652 .psl = false,
3653},
3654.{
3655 .name = "fno-pie",
3656 .syntax = .flag,
3657 .zig_equivalent = .no_pie,
3658 .pd1 = true,
3659 .pd2 = false,
3660 .psl = false,
3661},
3662flagpd1("fno-plt"),
3663flagpd1("fno-pointer-tbaa"),
3664flagpd1("fno-ppc-native-vector-element-order"),
3665flagpd1("fno-prebuilt-implicit-modules"),
3666flagpd1("fno-prefetch-loop-arrays"),
3667flagpd1("fno-preserve-as-comments"),
3668flagpd1("fno-printf"),
3669flagpd1("fno-profile"),
3670flagpd1("fno-profile-arcs"),
3671flagpd1("fno-profile-correction"),
3672flagpd1("fno-profile-generate"),
3673flagpd1("fno-profile-generate-sampling"),
3674flagpd1("fno-profile-instr-generate"),
3675flagpd1("fno-profile-instr-use"),
3676flagpd1("fno-profile-reusedist"),
3677flagpd1("fno-profile-sample-accurate"),
3678flagpd1("fno-profile-sample-use"),
3679flagpd1("fno-profile-use"),
3680flagpd1("fno-profile-values"),
3681flagpd1("fno-protect-parens"),
3682flagpd1("fno-pseudo-probe-for-profiling"),
3683flagpd1("fno-ptrauth-auth-traps"),
3684flagpd1("fno-ptrauth-block-descriptor-pointers"),
3685flagpd1("fno-ptrauth-calls"),
3686flagpd1("fno-ptrauth-elf-got"),
3687flagpd1("fno-ptrauth-function-pointer-type-discrimination"),
3688flagpd1("fno-ptrauth-indirect-gotos"),
3689flagpd1("fno-ptrauth-init-fini"),
3690flagpd1("fno-ptrauth-init-fini-address-discrimination"),
3691flagpd1("fno-ptrauth-intrinsics"),
3692flagpd1("fno-ptrauth-objc-class-ro"),
3693flagpd1("fno-ptrauth-objc-interface-sel"),
3694flagpd1("fno-ptrauth-objc-isa"),
3695flagpd1("fno-ptrauth-returns"),
3696flagpd1("fno-ptrauth-type-info-vtable-pointer-discrimination"),
3697flagpd1("fno-ptrauth-vtable-pointer-address-discrimination"),
3698flagpd1("fno-ptrauth-vtable-pointer-type-discrimination"),
3699flagpd1("fno-range-check"),
3700flagpd1("fno-raw-string-literals"),
3701flagpd1("fno-real-4-real-10"),
3702flagpd1("fno-real-4-real-16"),
3703flagpd1("fno-real-4-real-8"),
3704flagpd1("fno-real-8-real-10"),
3705flagpd1("fno-real-8-real-16"),
3706flagpd1("fno-real-8-real-4"),
3707flagpd1("fno-realloc-lhs"),
3708flagpd1("fno-reciprocal-math"),
3709flagpd1("fno-record-command-line"),
3710flagpd1("fno-recovery-ast"),
3711flagpd1("fno-recovery-ast-type"),
3712flagpd1("fno-recursive"),
3713flagpd1("fno-reformat"),
3714flagpd1("fno-register-global-dtors-with-atexit"),
3715flagpd1("fno-regs-graph"),
3716flagpd1("fno-rename-registers"),
3717flagpd1("fno-reorder-blocks"),
3718flagpd1("fno-repack-arrays"),
3719flagpd1("fno-rewrite-imports"),
3720flagpd1("fno-rewrite-includes"),
3721flagpd1("fno-ripa"),
3722flagpd1("fno-ropi"),
3723flagpd1("fno-rounding-math"),
3724flagpd1("fno-rtlib-add-rpath"),
3725flagpd1("fno-rtlib-defaultlib"),
3726flagpd1("fno-rtti"),
3727flagpd1("fno-rtti-data"),
3728flagpd1("fno-rwpi"),
3729flagpd1("fno-safe-buffer-usage-suggestions"),
3730flagpd1("fno-sample-profile-use-profi"),
3731flagpd1("fno-sanitize-address-globals-dead-stripping"),
3732flagpd1("fno-sanitize-address-outline-instrumentation"),
3733flagpd1("fno-sanitize-address-poison-custom-array-cookie"),
3734flagpd1("fno-sanitize-address-use-after-scope"),
3735flagpd1("fno-sanitize-address-use-odr-indicator"),
3736flagpd1("fno-sanitize-annotate-debug-info"),
3737flagpd1("fno-sanitize-cfi-canonical-jump-tables"),
3738flagpd1("fno-sanitize-cfi-cross-dso"),
3739flagpd1("fno-sanitize-hwaddress-experimental-aliasing"),
3740flagpd1("fno-sanitize-ignorelist"),
3741flagpd1("fno-sanitize-link-c++-runtime"),
3742flagpd1("fno-sanitize-link-runtime"),
3743flagpd1("fno-sanitize-memory-param-retval"),
3744flagpd1("fno-sanitize-memory-track-origins"),
3745flagpd1("fno-sanitize-memory-use-after-dtor"),
3746flagpd1("fno-sanitize-merge"),
3747flagpd1("fno-sanitize-minimal-runtime"),
3748flagpd1("fno-sanitize-recover"),
3749flagpd1("fno-sanitize-stable-abi"),
3750flagpd1("fno-sanitize-stats"),
3751flagpd1("fno-sanitize-thread-atomics"),
3752flagpd1("fno-sanitize-thread-func-entry-exit"),
3753flagpd1("fno-sanitize-thread-memory-access"),
3754.{
3755 .name = "fno-sanitize-trap",
3756 .syntax = .flag,
3757 .zig_equivalent = .no_sanitize_trap,
3758 .pd1 = true,
3759 .pd2 = false,
3760 .psl = false,
3761},
3762flagpd1("fno-sanitize-undefined-trap-on-error"),
3763flagpd1("fno-save-main-program"),
3764flagpd1("fno-save-optimization-record"),
3765flagpd1("fno-schedule-insns"),
3766flagpd1("fno-schedule-insns2"),
3767flagpd1("fno-second-underscore"),
3768flagpd1("fno-see"),
3769flagpd1("fno-semantic-interposition"),
3770flagpd1("fno-separate-named-sections"),
3771flagpd1("fno-short-enums"),
3772flagpd1("fno-short-wchar"),
3773flagpd1("fno-show-column"),
3774flagpd1("fno-show-source-location"),
3775flagpd1("fno-sign-zero"),
3776flagpd1("fno-signaling-math"),
3777flagpd1("fno-signaling-nans"),
3778flagpd1("fno-signed-char"),
3779flagpd1("fno-signed-wchar"),
3780flagpd1("fno-signed-zeros"),
3781flagpd1("fno-single-precision-constant"),
3782flagpd1("fno-sized-deallocation"),
3783flagpd1("fno-skip-odr-check-in-gmf"),
3784flagpd1("fno-slp-vectorize"),
3785flagpd1("fno-spec-constr-count"),
3786flagpd1("fno-spell-checking"),
3787flagpd1("fno-split-dwarf-inlining"),
3788flagpd1("fno-split-lto-unit"),
3789flagpd1("fno-split-machine-functions"),
3790flagpd1("fno-split-stack"),
3791flagpd1("fno-stack-arrays"),
3792.{
3793 .name = "fno-stack-check",
3794 .syntax = .flag,
3795 .zig_equivalent = .no_stack_check,
3796 .pd1 = true,
3797 .pd2 = false,
3798 .psl = false,
3799},
3800flagpd1("fno-stack-clash-protection"),
3801.{
3802 .name = "fno-stack-protector",
3803 .syntax = .flag,
3804 .zig_equivalent = .no_stack_protector,
3805 .pd1 = true,
3806 .pd2 = false,
3807 .psl = false,
3808},
3809flagpd1("fno-stack-repack-arrays"),
3810flagpd1("fno-stack-size-section"),
3811flagpd1("fno-standalone-debug"),
3812flagpd1("fno-strength-reduce"),
3813flagpd1("fno-strict-aliasing"),
3814flagpd1("fno-strict-enums"),
3815flagpd1("fno-strict-float-cast-overflow"),
3816flagpd1("fno-strict-overflow"),
3817flagpd1("fno-strict-return"),
3818flagpd1("fno-strict-vtable-pointers"),
3819flagpd1("fno-struct-path-tbaa"),
3820flagpd1("fno-swift-version-independent-apinotes"),
3821flagpd1("fno-sycl"),
3822flagpd1("fno-temp-file"),
3823flagpd1("fno-test-coverage"),
3824flagpd1("fno-threadsafe-statics"),
3825flagpd1("fno-tls-model"),
3826flagpd1("fno-tracer"),
3827flagpd1("fno-trapping-math"),
3828flagpd1("fno-tree-dce"),
3829flagpd1("fno-tree-salias"),
3830flagpd1("fno-tree-ter"),
3831flagpd1("fno-tree-vectorizer-verbose"),
3832flagpd1("fno-tree-vrp"),
3833flagpd1("fno-trigraphs"),
3834flagpd1("fno-underscoring"),
3835flagpd1("fno-unified-lto"),
3836flagpd1("fno-unique-basic-block-section-names"),
3837flagpd1("fno-unique-internal-linkage-names"),
3838flagpd1("fno-unique-section-names"),
3839flagpd1("fno-unique-source-file-names"),
3840flagpd1("fno-unroll-all-loops"),
3841flagpd1("fno-unroll-loops"),
3842flagpd1("fno-unsafe-loop-optimizations"),
3843flagpd1("fno-unsafe-math-optimizations"),
3844flagpd1("fno-unsigned"),
3845flagpd1("fno-unsigned-char"),
3846flagpd1("fno-unswitch-loops"),
3847.{
3848 .name = "fno-unwind-tables",
3849 .syntax = .flag,
3850 .zig_equivalent = .no_unwind_tables,
3851 .pd1 = true,
3852 .pd2 = false,
3853 .psl = false,
3854},
3855flagpd1("fno-use-ctor-homing"),
3856flagpd1("fno-use-cxa-atexit"),
3857flagpd1("fno-use-init-array"),
3858flagpd1("fno-use-line-directives"),
3859flagpd1("fno-use-linker-plugin"),
3860flagpd1("fno-validate-pch"),
3861flagpd1("fno-var-tracking"),
3862flagpd1("fno-variable-expansion-in-unroller"),
3863flagpd1("fno-vect-cost-model"),
3864flagpd1("fno-vectorize"),
3865flagpd1("fno-verbose-asm"),
3866flagpd1("fno-verify-intermediate-code"),
3867flagpd1("fno-virtual-function-elimination"),
3868flagpd1("fno-visibility-from-dllstorageclass"),
3869flagpd1("fno-visibility-inlines-hidden"),
3870flagpd1("fno-visibility-inlines-hidden-static-local-var"),
3871flagpd1("fno-wchar"),
3872flagpd1("fno-web"),
3873flagpd1("fno-whole-file"),
3874flagpd1("fno-whole-program"),
3875flagpd1("fno-whole-program-vtables"),
3876flagpd1("fno-working-directory"),
3877flagpd1("fno-wrapv"),
3878flagpd1("fno-wrapv-pointer"),
3879flagpd1("fno-xl-pragma-pack"),
3880flagpd1("fno-xor-operator"),
3881flagpd1("fno-xray-always-emit-customevents"),
3882flagpd1("fno-xray-always-emit-typedevents"),
3883flagpd1("fno-xray-function-index"),
3884flagpd1("fno-xray-ignore-loops"),
3885flagpd1("fno-xray-instrument"),
3886flagpd1("fno-xray-link-deps"),
3887flagpd1("fno-xray-shared"),
3888flagpd1("fno-zero-initialized-in-bss"),
3889flagpd1("fno-zos-extensions"),
3890flagpd1("fno-zvector"),
3891flagpd1("fnon-call-exceptions"),
3892flagpd1("fnoopenmp-relocatable-target"),
3893flagpd1("fnoopenmp-use-tls"),
3894flagpd1("fobjc-arc"),
3895flagpd1("fobjc-arc-exceptions"),
3896flagpd1("fobjc-atdefs"),
3897flagpd1("fobjc-avoid-heapify-local-blocks"),
3898flagpd1("fobjc-call-cxx-cdtors"),
3899flagpd1("fobjc-convert-messages-to-runtime-calls"),
3900flagpd1("fobjc-disable-direct-methods-for-testing"),
3901flagpd1("fobjc-encode-cxx-class-template-spec"),
3902flagpd1("fobjc-exceptions"),
3903flagpd1("fobjc-gc"),
3904flagpd1("fobjc-gc-only"),
3905flagpd1("fobjc-infer-related-result-type"),
3906flagpd1("fobjc-legacy-dispatch"),
3907flagpd1("fobjc-link-runtime"),
3908flagpd1("fobjc-new-property"),
3909flagpd1("fobjc-nonfragile-abi"),
3910flagpd1("fobjc-runtime-has-weak"),
3911flagpd1("fobjc-sender-dependent-dispatch"),
3912flagpd1("fobjc-subscripting-legacy-runtime"),
3913flagpd1("fobjc-weak"),
3914flagpd1("foffload-implicit-host-device-templates"),
3915flagpd1("foffload-lto"),
3916flagpd1("foffload-uniform-block"),
3917flagpd1("foffload-via-llvm"),
3918.{
3919 .name = "fomit-frame-pointer",
3920 .syntax = .flag,
3921 .zig_equivalent = .omit_frame_pointer,
3922 .pd1 = true,
3923 .pd2 = false,
3924 .psl = false,
3925},
3926flagpd1("fopenacc"),
3927flagpd1("fopenmp"),
3928flagpd1("fopenmp-assume-no-nested-parallelism"),
3929flagpd1("fopenmp-assume-no-thread-state"),
3930flagpd1("fopenmp-assume-teams-oversubscription"),
3931flagpd1("fopenmp-assume-threads-oversubscription"),
3932flagpd1("fopenmp-cuda-mode"),
3933flagpd1("fopenmp-enable-irbuilder"),
3934flagpd1("fopenmp-extensions"),
3935flagpd1("fopenmp-force-usm"),
3936sepd1("fopenmp-host-ir-file-path"),
3937flagpd1("fopenmp-is-target-device"),
3938flagpd1("fopenmp-new-driver"),
3939flagpd1("fopenmp-offload-mandatory"),
3940flagpd1("fopenmp-optimistic-collapse"),
3941flagpd1("fopenmp-relocatable-target"),
3942flagpd1("fopenmp-simd"),
3943flagpd1("fopenmp-target-debug"),
3944flagpd1("fopenmp-target-jit"),
3945flagpd1("fopenmp-target-new-runtime"),
3946flagpd1("fopenmp-use-tls"),
3947flagpd1("foperator-names"),
3948flagpd1("foptimize-sibling-calls"),
3949flagpd1("force_cpusubtype_ALL"),
3950flagpd1("force_flat_namespace"),
3951sepd1("force_load"),
3952flagpd1("fpack-derived"),
3953flagpd1("fpack-struct"),
3954flagpd1("fpadding-on-unsigned-fixed-point"),
3955flagpd1("fparse-all-comments"),
3956flagpd1("fpascal-strings"),
3957flagpd1("fpass-by-value-is-noalias"),
3958flagpd1("fpcc-struct-return"),
3959flagpd1("fpch-codegen"),
3960flagpd1("fpch-debuginfo"),
3961flagpd1("fpch-instantiate-templates"),
3962flagpd1("fpch-preprocess"),
3963flagpd1("fpch-validate-input-files-content"),
3964flagpd1("fpeel-loops"),
3965flagpd1("fpermissive"),
3966.{
3967 .name = "fpic",
3968 .syntax = .flag,
3969 .zig_equivalent = .pic,
3970 .pd1 = true,
3971 .pd2 = false,
3972 .psl = false,
3973},
3974.{
3975 .name = "fpie",
3976 .syntax = .flag,
3977 .zig_equivalent = .pie,
3978 .pd1 = true,
3979 .pd2 = false,
3980 .psl = false,
3981},
3982flagpd1("fplt"),
3983flagpd1("fpointer-tbaa"),
3984flagpd1("fppc-native-vector-element-order"),
3985flagpd1("fprebuilt-implicit-modules"),
3986flagpd1("fprefetch-loop-arrays"),
3987flagpd1("fpreprocess-include-lines"),
3988flagpd1("fpreserve-as-comments"),
3989flagpd1("fprintf"),
3990flagpd1("fprofile"),
3991flagpd1("fprofile-arcs"),
3992flagpd1("fprofile-continuous"),
3993flagpd1("fprofile-correction"),
3994flagpd1("fprofile-generate"),
3995flagpd1("fprofile-generate-cold-function-coverage"),
3996flagpd1("fprofile-generate-sampling"),
3997flagpd1("fprofile-instr-generate"),
3998flagpd1("fprofile-instr-use"),
3999flagpd1("fprofile-reusedist"),
4000flagpd1("fprofile-sample-accurate"),
4001flagpd1("fprofile-use"),
4002flagpd1("fprofile-values"),
4003flagpd1("fprotect-parens"),
4004flagpd1("fpseudo-probe-for-profiling"),
4005flagpd1("fptrauth-auth-traps"),
4006flagpd1("fptrauth-block-descriptor-pointers"),
4007flagpd1("fptrauth-calls"),
4008flagpd1("fptrauth-elf-got"),
4009flagpd1("fptrauth-function-pointer-type-discrimination"),
4010flagpd1("fptrauth-indirect-gotos"),
4011flagpd1("fptrauth-init-fini"),
4012flagpd1("fptrauth-init-fini-address-discrimination"),
4013flagpd1("fptrauth-intrinsics"),
4014flagpd1("fptrauth-objc-class-ro"),
4015flagpd1("fptrauth-objc-interface-sel"),
4016flagpd1("fptrauth-objc-isa"),
4017flagpd1("fptrauth-returns"),
4018flagpd1("fptrauth-type-info-vtable-pointer-discrimination"),
4019flagpd1("fptrauth-vtable-pointer-address-discrimination"),
4020flagpd1("fptrauth-vtable-pointer-type-discrimination"),
4021.{
4022 .name = "framework",
4023 .syntax = .separate,
4024 .zig_equivalent = .framework,
4025 .pd1 = true,
4026 .pd2 = false,
4027 .psl = false,
4028},
4029flagpd1("frange-check"),
4030flagpd1("fraw-string-literals"),
4031flagpd1("freal-4-real-10"),
4032flagpd1("freal-4-real-16"),
4033flagpd1("freal-4-real-8"),
4034flagpd1("freal-8-real-10"),
4035flagpd1("freal-8-real-16"),
4036flagpd1("freal-8-real-4"),
4037flagpd1("frealloc-lhs"),
4038flagpd1("freciprocal-math"),
4039flagpd1("frecord-command-line"),
4040flagpd1("frecovery-ast"),
4041flagpd1("frecovery-ast-type"),
4042flagpd1("frecursive"),
4043flagpd1("freg-struct-return"),
4044flagpd1("fregister-global-dtors-with-atexit"),
4045flagpd1("fregs-graph"),
4046flagpd1("frename-registers"),
4047flagpd1("freorder-blocks"),
4048flagpd1("frepack-arrays"),
4049flagpd1("fretain-comments-from-system-headers"),
4050flagpd1("frewrite-imports"),
4051flagpd1("frewrite-includes"),
4052flagpd1("fripa"),
4053flagpd1("fropi"),
4054flagpd1("frounding-math"),
4055flagpd1("frtlib-add-rpath"),
4056flagpd1("frtlib-defaultlib"),
4057flagpd1("frtti"),
4058flagpd1("frtti-data"),
4059flagpd1("frwpi"),
4060flagpd1("fsafe-buffer-usage-suggestions"),
4061flagpd1("fsample-profile-use-profi"),
4062flagpd1("fsanitize-address-globals-dead-stripping"),
4063flagpd1("fsanitize-address-outline-instrumentation"),
4064flagpd1("fsanitize-address-poison-custom-array-cookie"),
4065flagpd1("fsanitize-address-use-after-scope"),
4066flagpd1("fsanitize-address-use-odr-indicator"),
4067flagpd1("fsanitize-annotate-debug-info"),
4068flagpd1("fsanitize-cfi-canonical-jump-tables"),
4069flagpd1("fsanitize-cfi-cross-dso"),
4070flagpd1("fsanitize-cfi-icall-generalize-pointers"),
4071flagpd1("fsanitize-cfi-icall-experimental-normalize-integers"),
4072flagpd1("fsanitize-coverage-8bit-counters"),
4073flagpd1("fsanitize-coverage-control-flow"),
4074flagpd1("fsanitize-coverage-indirect-calls"),
4075flagpd1("fsanitize-coverage-inline-8bit-counters"),
4076flagpd1("fsanitize-coverage-inline-bool-flag"),
4077flagpd1("fsanitize-coverage-no-prune"),
4078flagpd1("fsanitize-coverage-pc-table"),
4079flagpd1("fsanitize-coverage-stack-depth"),
4080flagpd1("fsanitize-coverage-trace-bb"),
4081flagpd1("fsanitize-coverage-trace-cmp"),
4082flagpd1("fsanitize-coverage-trace-div"),
4083flagpd1("fsanitize-coverage-trace-gep"),
4084flagpd1("fsanitize-coverage-trace-loads"),
4085flagpd1("fsanitize-coverage-trace-pc"),
4086.{
4087 .name = "fsanitize-coverage-trace-pc-guard",
4088 .syntax = .flag,
4089 .zig_equivalent = .san_cov_trace_pc_guard,
4090 .pd1 = true,
4091 .pd2 = false,
4092 .psl = false,
4093},
4094flagpd1("fsanitize-coverage-trace-stores"),
4095flagpd1("fsanitize-hwaddress-experimental-aliasing"),
4096flagpd1("fsanitize-kcfi-arity"),
4097flagpd1("fsanitize-link-c++-runtime"),
4098flagpd1("fsanitize-link-runtime"),
4099flagpd1("fsanitize-memory-param-retval"),
4100flagpd1("fsanitize-memory-track-origins"),
4101flagpd1("fsanitize-memory-use-after-dtor"),
4102flagpd1("fsanitize-merge"),
4103flagpd1("fsanitize-minimal-runtime"),
4104flagpd1("fsanitize-recover"),
4105flagpd1("fsanitize-stable-abi"),
4106flagpd1("fsanitize-stats"),
4107flagpd1("fsanitize-thread-atomics"),
4108flagpd1("fsanitize-thread-func-entry-exit"),
4109flagpd1("fsanitize-thread-memory-access"),
4110.{
4111 .name = "fsanitize-trap",
4112 .syntax = .flag,
4113 .zig_equivalent = .sanitize_trap,
4114 .pd1 = true,
4115 .pd2 = false,
4116 .psl = false,
4117},
4118flagpd1("fsanitize-undefined-trap-on-error"),
4119flagpd1("fsave-main-program"),
4120flagpd1("fsave-optimization-record"),
4121flagpd1("fschedule-insns"),
4122flagpd1("fschedule-insns2"),
4123flagpd1("fsecond-underscore"),
4124flagpd1("fsee"),
4125flagpd1("fseh-exceptions"),
4126flagpd1("fsemantic-interposition"),
4127flagpd1("fseparate-named-sections"),
4128flagpd1("fshort-enums"),
4129flagpd1("fshort-wchar"),
4130flagpd1("fshow-column"),
4131flagpd1("fshow-skipped-includes"),
4132flagpd1("fshow-source-location"),
4133flagpd1("fsign-zero"),
4134flagpd1("fsignaling-math"),
4135flagpd1("fsignaling-nans"),
4136flagpd1("fsigned-bitfields"),
4137flagpd1("fsigned-char"),
4138flagpd1("fsigned-wchar"),
4139flagpd1("fsigned-zeros"),
4140flagpd1("fsingle-precision-constant"),
4141flagpd1("fsized-deallocation"),
4142flagpd1("fsjlj-exceptions"),
4143flagpd1("fskip-odr-check-in-gmf"),
4144flagpd1("fslp-vectorize"),
4145flagpd1("fspec-constr-count"),
4146flagpd1("fspell-checking"),
4147flagpd1("fsplit-dwarf-inlining"),
4148flagpd1("fsplit-lto-unit"),
4149flagpd1("fsplit-machine-functions"),
4150flagpd1("fsplit-stack"),
4151flagpd1("fstack-arrays"),
4152.{
4153 .name = "fstack-check",
4154 .syntax = .flag,
4155 .zig_equivalent = .stack_check,
4156 .pd1 = true,
4157 .pd2 = false,
4158 .psl = false,
4159},
4160flagpd1("fstack-clash-protection"),
4161.{
4162 .name = "fstack-protector",
4163 .syntax = .flag,
4164 .zig_equivalent = .stack_protector,
4165 .pd1 = true,
4166 .pd2 = false,
4167 .psl = false,
4168},
4169.{
4170 .name = "fstack-protector-all",
4171 .syntax = .flag,
4172 .zig_equivalent = .stack_protector,
4173 .pd1 = true,
4174 .pd2 = false,
4175 .psl = false,
4176},
4177.{
4178 .name = "fstack-protector-strong",
4179 .syntax = .flag,
4180 .zig_equivalent = .stack_protector,
4181 .pd1 = true,
4182 .pd2 = false,
4183 .psl = false,
4184},
4185flagpd1("fstack-repack-arrays"),
4186flagpd1("fstack-size-section"),
4187flagpd1("fstack-usage"),
4188flagpd1("fstandalone-debug"),
4189flagpd1("fstrength-reduce"),
4190flagpd1("fstrict-aliasing"),
4191flagpd1("fstrict-enums"),
4192flagpd1("fstrict-float-cast-overflow"),
4193flagpd1("fstrict-overflow"),
4194flagpd1("fstrict-return"),
4195flagpd1("fstrict-vtable-pointers"),
4196flagpd1("fstruct-path-tbaa"),
4197flagpd1("fswift-version-independent-apinotes"),
4198flagpd1("fsycl"),
4199flagpd1("fsycl-device-only"),
4200flagpd1("fsycl-host-only"),
4201flagpd1("fsycl-is-device"),
4202flagpd1("fsycl-is-host"),
4203flagpd1("fsyntax-only"),
4204flagpd1("fsystem-module"),
4205sepd1("ftabstop"),
4206flagpd1("ftemporal-profile"),
4207flagpd1("ftest-coverage"),
4208flagpd1("fthreadsafe-statics"),
4209flagpd1("ftime-report"),
4210flagpd1("ftime-report-json"),
4211flagpd1("ftime-trace"),
4212flagpd1("ftls-model"),
4213flagpd1("ftracer"),
4214flagpd1("ftrapping-math"),
4215flagpd1("ftrapv"),
4216sepd1("ftrapv-handler"),
4217flagpd1("ftree-dce"),
4218flagpd1("ftree-salias"),
4219flagpd1("ftree-ter"),
4220flagpd1("ftree-vectorizer-verbose"),
4221flagpd1("ftree-vrp"),
4222flagpd1("ftrigraphs"),
4223sepd1("function-alignment"),
4224flagpd1("funderscoring"),
4225flagpd1("funified-lto"),
4226flagpd1("funique-basic-block-section-names"),
4227flagpd1("funique-internal-linkage-names"),
4228flagpd1("funique-section-names"),
4229flagpd1("funique-source-file-names"),
4230flagpd1("funknown-anytype"),
4231flagpd1("funroll-all-loops"),
4232flagpd1("funroll-loops"),
4233flagpd1("funsafe-loop-optimizations"),
4234flagpd1("funsafe-math-optimizations"),
4235flagpd1("funsigned"),
4236flagpd1("funsigned-bitfields"),
4237flagpd1("funsigned-char"),
4238flagpd1("funswitch-loops"),
4239.{
4240 .name = "funwind-tables",
4241 .syntax = .flag,
4242 .zig_equivalent = .unwind_tables,
4243 .pd1 = true,
4244 .pd2 = false,
4245 .psl = false,
4246},
4247flagpd1("fuse-ctor-homing"),
4248flagpd1("fuse-cxa-atexit"),
4249flagpd1("fuse-init-array"),
4250flagpd1("fuse-line-directives"),
4251flagpd1("fuse-linker-plugin"),
4252flagpd1("fuse-register-sized-bitfield-access"),
4253flagpd1("fvalidate-ast-input-files-content"),
4254flagpd1("fvariable-expansion-in-unroller"),
4255flagpd1("fvect-cost-model"),
4256flagpd1("fvectorize"),
4257flagpd1("fverbose-asm"),
4258flagpd1("fverify-debuginfo-preserve"),
4259flagpd1("fverify-intermediate-code"),
4260flagpd1("fvirtual-function-elimination"),
4261flagpd1("fvisibility-from-dllstorageclass"),
4262flagpd1("fvisibility-global-new-delete-hidden"),
4263flagpd1("fvisibility-inlines-hidden"),
4264flagpd1("fvisibility-inlines-hidden-static-local-var"),
4265flagpd1("fvisibility-ms-compat"),
4266.{
4267 .name = "fvk-use-dx-layout",
4268 .syntax = .flag,
4269 .zig_equivalent = .other,
4270 .pd1 = true,
4271 .pd2 = false,
4272 .psl = true,
4273},
4274.{
4275 .name = "fvk-use-gl-layout",
4276 .syntax = .flag,
4277 .zig_equivalent = .other,
4278 .pd1 = true,
4279 .pd2 = false,
4280 .psl = true,
4281},
4282.{
4283 .name = "fvk-use-scalar-layout",
4284 .syntax = .flag,
4285 .zig_equivalent = .other,
4286 .pd1 = true,
4287 .pd2 = false,
4288 .psl = true,
4289},
4290flagpd1("fwasm-exceptions"),
4291flagpd1("fweb"),
4292flagpd1("fwhole-file"),
4293flagpd1("fwhole-program"),
4294flagpd1("fwhole-program-vtables"),
4295flagpd1("fwrapv"),
4296flagpd1("fwrapv-pointer"),
4297flagpd1("fwritable-strings"),
4298flagpd1("fxl-pragma-pack"),
4299flagpd1("fxor-operator"),
4300flagpd1("fxray-always-emit-customevents"),
4301flagpd1("fxray-always-emit-typedevents"),
4302flagpd1("fxray-function-index"),
4303flagpd1("fxray-ignore-loops"),
4304flagpd1("fxray-instrument"),
4305flagpd1("fxray-link-deps"),
4306flagpd1("fxray-shared"),
4307flagpd1("fzero-initialized-in-bss"),
4308flagpd1("fzos-extensions"),
4309flagpd1("fzvector"),
4310flagpd1("g0"),
4311.{
4312 .name = "g1",
4313 .syntax = .flag,
4314 .zig_equivalent = .debug,
4315 .pd1 = true,
4316 .pd2 = false,
4317 .psl = false,
4318},
4319flagpd1("g2"),
4320flagpd1("g3"),
4321.{
4322 .name = "g",
4323 .syntax = .flag,
4324 .zig_equivalent = .debug,
4325 .pd1 = true,
4326 .pd2 = false,
4327 .psl = false,
4328},
4329flagpd1("gcodeview"),
4330flagpd1("gcodeview-command-line"),
4331flagpd1("gcodeview-ghash"),
4332flagpd1("gcolumn-info"),
4333flagpd1("gdbx"),
4334.{
4335 .name = "gdwarf",
4336 .syntax = .flag,
4337 .zig_equivalent = .debug,
4338 .pd1 = true,
4339 .pd2 = false,
4340 .psl = false,
4341},
4342.{
4343 .name = "gdwarf32",
4344 .syntax = .flag,
4345 .zig_equivalent = .gdwarf32,
4346 .pd1 = true,
4347 .pd2 = false,
4348 .psl = false,
4349},
4350.{
4351 .name = "gdwarf64",
4352 .syntax = .flag,
4353 .zig_equivalent = .gdwarf64,
4354 .pd1 = true,
4355 .pd2 = false,
4356 .psl = false,
4357},
4358.{
4359 .name = "gdwarf-2",
4360 .syntax = .flag,
4361 .zig_equivalent = .debug,
4362 .pd1 = true,
4363 .pd2 = false,
4364 .psl = false,
4365},
4366.{
4367 .name = "gdwarf-3",
4368 .syntax = .flag,
4369 .zig_equivalent = .debug,
4370 .pd1 = true,
4371 .pd2 = false,
4372 .psl = false,
4373},
4374.{
4375 .name = "gdwarf-4",
4376 .syntax = .flag,
4377 .zig_equivalent = .debug,
4378 .pd1 = true,
4379 .pd2 = false,
4380 .psl = false,
4381},
4382.{
4383 .name = "gdwarf-5",
4384 .syntax = .flag,
4385 .zig_equivalent = .debug,
4386 .pd1 = true,
4387 .pd2 = false,
4388 .psl = false,
4389},
4390flagpd1("gdwarf-aranges"),
4391flagpd1("gembed-source"),
4392sepd1("gen-cdb-fragment-path"),
4393flagpd1("gen-reproducer"),
4394flagpd1("gfull"),
4395flagpd1("ggdb"),
4396flagpd1("ggdb0"),
4397flagpd1("ggdb1"),
4398flagpd1("ggdb2"),
4399flagpd1("ggdb3"),
4400flagpd1("ggnu-pubnames"),
4401flagpd1("ginline-line-tables"),
4402flagpd1("gkey-instructions"),
4403flagpd1("gline-directives-only"),
4404.{
4405 .name = "gline-tables-only",
4406 .syntax = .flag,
4407 .zig_equivalent = .debug,
4408 .pd1 = true,
4409 .pd2 = false,
4410 .psl = false,
4411},
4412flagpd1("glldb"),
4413flagpd1("gmlt"),
4414flagpd1("gmodules"),
4415flagpd1("gno-codeview-command-line"),
4416flagpd1("gno-codeview-ghash"),
4417flagpd1("gno-column-info"),
4418flagpd1("gno-embed-source"),
4419flagpd1("gno-gnu-pubnames"),
4420flagpd1("gno-inline-line-tables"),
4421flagpd1("gno-key-instructions"),
4422flagpd1("gno-modules"),
4423flagpd1("gno-omit-unreferenced-methods"),
4424flagpd1("gno-pubnames"),
4425flagpd1("gno-record-command-line"),
4426flagpd1("gno-simple-template-names"),
4427flagpd1("gno-split-dwarf"),
4428flagpd1("gno-strict-dwarf"),
4429flagpd1("gno-template-alias"),
4430flagpd1("gomit-unreferenced-methods"),
4431.{
4432 .name = "gpu-bundle-output",
4433 .syntax = .flag,
4434 .zig_equivalent = .other,
4435 .pd1 = false,
4436 .pd2 = true,
4437 .psl = false,
4438},
4439.{
4440 .name = "gpu-use-aux-triple-only",
4441 .syntax = .flag,
4442 .zig_equivalent = .other,
4443 .pd1 = false,
4444 .pd2 = true,
4445 .psl = false,
4446},
4447flagpd1("gpubnames"),
4448flagpd1("gpulibc"),
4449flagpd1("grecord-command-line"),
4450flagpd1("gsce"),
4451flagpd1("gsimple-template-names"),
4452flagpd1("gsplit-dwarf"),
4453flagpd1("gstrict-dwarf"),
4454flagpd1("gtemplate-alias"),
4455flagpd1("gtoggle"),
4456flagpd1("gused"),
4457flagpd1("gz"),
4458sepd1("header-include-file"),
4459.{
4460 .name = "help",
4461 .syntax = .flag,
4462 .zig_equivalent = .driver_punt,
4463 .pd1 = true,
4464 .pd2 = true,
4465 .psl = false,
4466},
4467.{
4468 .name = "hip-link",
4469 .syntax = .flag,
4470 .zig_equivalent = .other,
4471 .pd1 = false,
4472 .pd2 = true,
4473 .psl = false,
4474},
4475.{
4476 .name = "hipstdpar",
4477 .syntax = .flag,
4478 .zig_equivalent = .other,
4479 .pd1 = false,
4480 .pd2 = true,
4481 .psl = false,
4482},
4483.{
4484 .name = "hipstdpar-interpose-alloc",
4485 .syntax = .flag,
4486 .zig_equivalent = .other,
4487 .pd1 = false,
4488 .pd2 = true,
4489 .psl = false,
4490},
4491flagpd1("ibuiltininc"),
4492flagpd1("ignore-pch"),
4493sepd1("image_base"),
4494flagpd1("import-call-optimization"),
4495sepd1("imultilib"),
4496sepd1("include-pch"),
4497sepd1("init"),
4498flagpd1("init-only"),
4499.{
4500 .name = "install_name",
4501 .syntax = .separate,
4502 .zig_equivalent = .install_name,
4503 .pd1 = true,
4504 .pd2 = false,
4505 .psl = false,
4506},
4507sepd1("internal-externc-isystem"),
4508sepd1("internal-iframework"),
4509sepd1("internal-isystem"),
4510flagpd1("keep_private_externs"),
4511sepd1("lazy_framework"),
4512sepd1("lazy_library"),
4513flagpd1("llvm-verify-each"),
4514sepd1("load"),
4515flagpd1("m16"),
4516flagpd1("m32"),
4517flagpd1("m3dnow"),
4518flagpd1("m3dnowa"),
4519flagpd1("m64"),
4520flagpd1("m68000"),
4521flagpd1("m68010"),
4522flagpd1("m68020"),
4523flagpd1("m68030"),
4524flagpd1("m68040"),
4525flagpd1("m68060"),
4526flagpd1("m68881"),
4527flagpd1("m80387"),
4528m("mseses"),
4529flagpd1("mabi=ieeelongdouble"),
4530flagpd1("mabi=quadword-atomics"),
4531flagpd1("mabi=vec-extabi"),
4532flagpd1("mabicalls"),
4533m("madx"),
4534m("maes"),
4535sepd1("main-file-name"),
4536flagpd1("maix32"),
4537flagpd1("maix64"),
4538flagpd1("maix-shared-lib-tls-model-opt"),
4539flagpd1("maix-small-local-dynamic-tls"),
4540flagpd1("maix-small-local-exec-tls"),
4541flagpd1("maix-struct-return"),
4542flagpd1("malign-double"),
4543m("maltivec"),
4544flagpd1("mamdgpu-ieee"),
4545flagpd1("mamdgpu-precise-memory-op"),
4546m("mamx-avx512"),
4547m("mamx-bf16"),
4548m("mamx-complex"),
4549m("mamx-fp16"),
4550m("mamx-fp8"),
4551m("mamx-int8"),
4552m("mamx-movrs"),
4553m("mamx-tf32"),
4554m("mamx-tile"),
4555m("mamx-transpose"),
4556flagpd1("mannotate-tablejump"),
4557flagpd1("mapx-inline-asm-use-gpr32"),
4558flagpd1("mapxf"),
4559flagpd1("marm"),
4560flagpd1("massembler-fatal-warnings"),
4561flagpd1("massembler-no-warn"),
4562m("matomics"),
4563m("mavx"),
4564flagpd1("mavx10.1"),
4565flagpd1("mavx10.1-256"),
4566m("mavx10.1-512"),
4567flagpd1("mavx10.2"),
4568flagpd1("mavx10.2-256"),
4569m("mavx10.2-512"),
4570m("mavx2"),
4571m("mavx512bf16"),
4572m("mavx512bitalg"),
4573m("mavx512bw"),
4574m("mavx512cd"),
4575m("mavx512dq"),
4576m("mavx512f"),
4577m("mavx512fp16"),
4578m("mavx512ifma"),
4579m("mavx512vbmi"),
4580m("mavx512vbmi2"),
4581m("mavx512vl"),
4582m("mavx512vnni"),
4583m("mavx512vp2intersect"),
4584m("mavx512vpopcntdq"),
4585m("mavxifma"),
4586m("mavxneconvert"),
4587m("mavxvnni"),
4588m("mavxvnniint16"),
4589m("mavxvnniint8"),
4590m("mbackchain"),
4591flagpd1("mbig-endian"),
4592m("mbmi"),
4593m("mbmi2"),
4594flagpd1("mbranch-likely"),
4595flagpd1("mbranch-protection-pauth-lr"),
4596flagpd1("mbranch-target-enforce"),
4597flagpd1("mbranches-within-32B-boundaries"),
4598m("mbulk-memory"),
4599m("mbulk-memory-opt"),
4600m("mcabac"),
4601m("mcall-indirect-overlong"),
4602flagpd1("mcheck-zero-division"),
4603m("mcldemote"),
4604m("mclflushopt"),
4605m("mclwb"),
4606m("mclzero"),
4607m("mcmpb"),
4608m("mcmpccxadd"),
4609flagpd1("mcmse"),
4610flagpd1("mconstant-cfstrings"),
4611flagpd1("mconstructor-aliases"),
4612m("mcrbits"),
4613m("mcrc"),
4614m("mcrc32"),
4615m("mcumode"),
4616m("mcx16"),
4617flagpd1("mdaz-ftz"),
4618sepd1("mdebug-pass"),
4619m("mdirect-move"),
4620m("mdiv32"),
4621flagpd1("mdouble-float"),
4622m("mdsp"),
4623m("mdspr2"),
4624sepd1("meabi"),
4625m("mefpu2"),
4626flagpd1("membedded-data"),
4627flagpd1("menable-experimental-extensions"),
4628flagpd1("menable-no-infs"),
4629flagpd1("menable-no-nans"),
4630m("menqcmd"),
4631.{
4632 .name = "metal",
4633 .syntax = .flag,
4634 .zig_equivalent = .other,
4635 .pd1 = true,
4636 .pd2 = false,
4637 .psl = true,
4638},
4639m("mevex512"),
4640m("mexception-handling"),
4641m("mexecute-only"),
4642m("mextended-const"),
4643flagpd1("mextern-sdata"),
4644m("mf16c"),
4645flagpd1("mfancy-math-387"),
4646flagpd1("mfentry"),
4647flagpd1("mfix4300"),
4648flagpd1("mfix-and-continue"),
4649m("mfix-cmse-cve-2021-35465"),
4650m("mfix-cortex-a53-835769"),
4651flagpd1("mfix-cortex-a53-843419"),
4652m("mfix-cortex-a57-aes-1742098"),
4653flagpd1("mfix-cortex-a72-aes-1655431"),
4654flagpd1("mfix-gr712rc"),
4655flagpd1("mfix-ut700"),
4656m("mfloat128"),
4657sepd1("mfloat-abi"),
4658m("mfma"),
4659m("mfma4"),
4660m("mfp16"),
4661flagpd1("mfp32"),
4662m("mfp64"),
4663sepd1("mfpmath"),
4664m("mfprnd"),
4665m("mfpu"),
4666m("mfpxx"),
4667m("mfrecipe"),
4668m("mfsgsbase"),
4669flagpd1("mfsmuld"),
4670m("mfxsr"),
4671flagpd1("mgeneral-regs-only"),
4672m("mgfni"),
4673m("mginv"),
4674flagpd1("mglibc"),
4675flagpd1("mglobal-merge"),
4676flagpd1("mgpopt"),
4677flagpd1("mguarded-control-stack"),
4678m("mhard-float"),
4679m("mhard-quad-float"),
4680m("mhvx"),
4681m("mhvx-ieee-fp"),
4682m("mhvx-qfloat"),
4683m("mhreset"),
4684m("mhtm"),
4685flagpd1("miamcu"),
4686flagpd1("mieee-fp"),
4687flagpd1("mieee-rnd-near"),
4688flagpd1("mignore-xcoff-visibility"),
4689flagpd1("no-finalize-removal"),
4690flagpd1("no-ns-alloc-error"),
4691flagpd1("mimplicit-float"),
4692flagpd1("mincremental-linker-compatible"),
4693flagpd1("mindirect-branch-cs-prefix"),
4694flagpd1("minline-all-stringops"),
4695m("minvariant-function-descriptors"),
4696m("minvpcid"),
4697flagpd1("mips1"),
4698flagpd1("mips16"),
4699flagpd1("mips2"),
4700flagpd1("mips3"),
4701flagpd1("mips32"),
4702flagpd1("mips32r2"),
4703flagpd1("mips32r3"),
4704flagpd1("mips32r5"),
4705flagpd1("mips32r6"),
4706flagpd1("mips4"),
4707flagpd1("mips5"),
4708flagpd1("mips64"),
4709flagpd1("mips64r2"),
4710flagpd1("mips64r3"),
4711flagpd1("mips64r5"),
4712flagpd1("mips64r6"),
4713m("misel"),
4714flagpd1("mkernel"),
4715m("mkl"),
4716m("mlam-bh"),
4717m("mlamcas"),
4718m("mlasx"),
4719m("mld-seq-sa"),
4720flagpd1("mldc1-sdc1"),
4721sepd1("mlimit-float-precision"),
4722sepd1("mlink-bitcode-file"),
4723sepd1("mlink-builtin-bitcode"),
4724flagpd1("mlink-builtin-bitcode-postopt"),
4725flagpd1("mlittle-endian"),
4726sepd1("mllvm"),
4727flagpd1("mlocal-sdata"),
4728m("mlong-calls"),
4729flagpd1("mlong-double-128"),
4730flagpd1("mlong-double-64"),
4731flagpd1("mlong-double-80"),
4732m("mlongcall"),
4733flagpd1("mlr-for-calls-only"),
4734m("mlsx"),
4735m("mlvi-cfi"),
4736flagpd1("mlvi-hardening"),
4737m("mlwp"),
4738m("mlzcnt"),
4739flagpd1("mmadd4"),
4740flagpd1("mmapsyms=implicit"),
4741flagpd1("mmark-bti-property"),
4742m("mmemops"),
4743flagpd1("mmfcrf"),
4744m("mmfocrf"),
4745m("mmicromips"),
4746sepd1("mmlir"),
4747m("mmma"),
4748m("mmmx"),
4749m("mmovbe"),
4750m("mmovdir64b"),
4751m("mmovdiri"),
4752m("mmovrs"),
4753flagpd1("mmpx"),
4754flagpd1("mms-bitfields"),
4755m("mmsa"),
4756m("mmt"),
4757m("mmultimemory"),
4758m("mmultivalue"),
4759m("mmutable-globals"),
4760m("mmwaitx"),
4761flagpd1("mno-3dnow"),
4762flagpd1("mno-3dnowa"),
4763flagpd1("mno-80387"),
4764flagpd1("mno-abicalls"),
4765m("mno-adx"),
4766m("mno-aes"),
4767m("mno-altivec"),
4768flagpd1("mno-amdgpu-ieee"),
4769flagpd1("mno-amdgpu-precise-memory-op"),
4770m("mno-amx-avx512"),
4771m("mno-amx-bf16"),
4772m("mno-amx-complex"),
4773m("mno-amx-fp16"),
4774m("mno-amx-fp8"),
4775m("mno-amx-int8"),
4776m("mno-amx-movrs"),
4777m("mno-amx-tf32"),
4778m("mno-amx-tile"),
4779m("mno-amx-transpose"),
4780flagpd1("mno-annotate-tablejump"),
4781flagpd1("mno-apxf"),
4782m("mno-atomics"),
4783m("mno-avx"),
4784flagpd1("mno-avx10.1"),
4785flagpd1("mno-avx10.1-256"),
4786m("mno-avx10.1-512"),
4787flagpd1("mno-avx10.2"),
4788m("mno-avx2"),
4789m("mno-avx512bf16"),
4790m("mno-avx512bitalg"),
4791m("mno-avx512bw"),
4792m("mno-avx512cd"),
4793m("mno-avx512dq"),
4794m("mno-avx512f"),
4795m("mno-avx512fp16"),
4796m("mno-avx512ifma"),
4797m("mno-avx512vbmi"),
4798m("mno-avx512vbmi2"),
4799m("mno-avx512vl"),
4800m("mno-avx512vnni"),
4801m("mno-avx512vp2intersect"),
4802m("mno-avx512vpopcntdq"),
4803m("mno-avxifma"),
4804m("mno-avxneconvert"),
4805m("mno-avxvnni"),
4806m("mno-avxvnniint16"),
4807m("mno-avxvnniint8"),
4808m("mno-backchain"),
4809m("mno-bmi"),
4810m("mno-bmi2"),
4811flagpd1("mno-branch-likely"),
4812m("mno-bti-at-return-twice"),
4813m("mno-bulk-memory"),
4814m("mno-bulk-memory-opt"),
4815m("mno-call-indirect-overlong"),
4816flagpd1("mno-check-zero-division"),
4817m("mno-cldemote"),
4818m("mno-clflushopt"),
4819m("mno-clwb"),
4820m("mno-clzero"),
4821m("mno-cmpb"),
4822m("mno-cmpccxadd"),
4823flagpd1("mno-constant-cfstrings"),
4824flagpd1("mno-constructor-aliases"),
4825m("mno-crbits"),
4826m("mno-crc"),
4827m("mno-crc32"),
4828m("mno-cumode"),
4829m("mno-cx16"),
4830flagpd1("mno-daz-ftz"),
4831m("mno-div32"),
4832m("mno-dsp"),
4833m("mno-dspr2"),
4834flagpd1("mno-embedded-data"),
4835m("mno-enqcmd"),
4836m("mno-evex512"),
4837m("mno-exception-handling"),
4838flagpd1("mnoexecstack"),
4839m("mno-execute-only"),
4840m("mno-extended-const"),
4841flagpd1("mno-extern-sdata"),
4842m("mno-f16c"),
4843m("mno-fix-cmse-cve-2021-35465"),
4844m("mno-fix-cortex-a53-835769"),
4845flagpd1("mno-fix-cortex-a53-843419"),
4846m("mno-fix-cortex-a57-aes-1742098"),
4847flagpd1("mno-fix-cortex-a72-aes-1655431"),
4848m("mno-float128"),
4849m("mno-fma"),
4850m("mno-fma4"),
4851m("mno-fmv"),
4852m("mno-fp16"),
4853flagpd1("mno-fp-ret-in-387"),
4854m("mno-fprnd"),
4855m("mno-fpu"),
4856m("mno-frecipe"),
4857m("mno-fsgsbase"),
4858m("mno-fsmuld"),
4859m("mno-fxsr"),
4860flagpd1("mno-gather"),
4861m("mno-gfni"),
4862m("mno-ginv"),
4863flagpd1("mno-global-merge"),
4864flagpd1("mno-gpopt"),
4865m("mno-hvx"),
4866m("mno-hvx-ieee-fp"),
4867m("mno-hvx-qfloat"),
4868m("mno-hreset"),
4869m("mno-htm"),
4870flagpd1("mno-iamcu"),
4871flagpd1("mno-implicit-float"),
4872flagpd1("mno-incremental-linker-compatible"),
4873flagpd1("mno-inline-all-stringops"),
4874m("mno-invariant-function-descriptors"),
4875m("mno-invpcid"),
4876m("mno-isel"),
4877m("mno-kl"),
4878m("mno-lam-bh"),
4879m("mno-lamcas"),
4880m("mno-lasx"),
4881m("mno-ld-seq-sa"),
4882flagpd1("mno-ldc1-sdc1"),
4883flagpd1("mno-link-builtin-bitcode-postopt"),
4884flagpd1("mno-local-sdata"),
4885m("mno-long-calls"),
4886m("mno-longcall"),
4887m("mno-lsx"),
4888m("mno-lvi-cfi"),
4889flagpd1("mno-lvi-hardening"),
4890m("mno-lwp"),
4891m("mno-lzcnt"),
4892flagpd1("mno-madd4"),
4893m("mno-memops"),
4894flagpd1("mno-mfcrf"),
4895m("mno-mfocrf"),
4896m("mno-micromips"),
4897m("mno-mips16"),
4898m("mno-mma"),
4899m("mno-mmx"),
4900m("mno-movbe"),
4901m("mno-movdir64b"),
4902m("mno-movdiri"),
4903m("mno-movrs"),
4904m("mno-movt"),
4905flagpd1("mno-mpx"),
4906flagpd1("mno-ms-bitfields"),
4907m("mno-msa"),
4908m("mno-mt"),
4909m("mno-multimemory"),
4910m("mno-multivalue"),
4911m("mno-mutable-globals"),
4912m("mno-mwaitx"),
4913m("mno-neg-immediates"),
4914m("mno-nontrapping-fptoint"),
4915m("mno-nvj"),
4916m("mno-nvs"),
4917flagpd1("mno-odd-spreg"),
4918flagpd1("mno-omit-leaf-frame-pointer"),
4919flagpd1("mno-outline"),
4920m("mno-outline-atomics"),
4921flagpd1("mno-packed-stack"),
4922m("mno-packets"),
4923flagpd1("mno-pascal-strings"),
4924m("mno-pclmul"),
4925m("mno-pconfig"),
4926flagpd1("mno-pcrel"),
4927flagpd1("mno-pic-data-is-text-relative"),
4928m("mno-pku"),
4929m("mno-popc"),
4930m("mno-popcnt"),
4931m("mno-popcntd"),
4932m("mno-power10-vector"),
4933m("mno-power8-vector"),
4934m("mno-power9-vector"),
4935m("mno-prefetchi"),
4936flagpd1("mno-prefixed"),
4937m("mno-prfchw"),
4938m("mno-ptwrite"),
4939flagpd1("mno-pure-code"),
4940m("mno-raoint"),
4941m("mno-rdpid"),
4942m("mno-rdpru"),
4943m("mno-rdrnd"),
4944m("mno-rdseed"),
4945.{
4946 .name = "mno-red-zone",
4947 .syntax = .flag,
4948 .zig_equivalent = .no_red_zone,
4949 .pd1 = true,
4950 .pd2 = false,
4951 .psl = false,
4952},
4953m("mno-reference-types"),
4954flagpd1("mno-regnames"),
4955m("mno-relax"),
4956flagpd1("mno-relax-all"),
4957flagpd1("mno-relax-pic-calls"),
4958m("mno-relaxed-simd"),
4959flagpd1("mno-restrict-it"),
4960m("mno-retpoline"),
4961m("mno-retpoline-external-thunk"),
4962flagpd1("mno-rtd"),
4963m("mno-rtm"),
4964m("mno-sahf"),
4965m("mno-save-restore"),
4966flagpd1("mno-scalar-strict-align"),
4967flagpd1("mno-scatter"),
4968m("mno-scq"),
4969m("mno-serialize"),
4970m("mno-seses"),
4971m("mno-sgx"),
4972m("mno-sha"),
4973m("mno-sha512"),
4974m("mno-shstk"),
4975m("mno-sign-ext"),
4976m("mno-simd128"),
4977flagpd1("mno-skip-rax-setup"),
4978m("mno-sm3"),
4979m("mno-sm4"),
4980m("mno-soft-float"),
4981m("mno-spe"),
4982flagpd1("mno-speculative-load-hardening"),
4983m("mno-sse"),
4984m("mno-sse2"),
4985m("mno-sse3"),
4986flagpd1("mno-sse4"),
4987m("mno-sse4.1"),
4988m("mno-sse4.2"),
4989m("mno-sse4a"),
4990m("mno-ssse3"),
4991flagpd1("mno-stack-arg-probe"),
4992flagpd1("mno-stackrealign"),
4993m("mno-strict-align"),
4994m("mno-tail-call"),
4995m("mno-tbm"),
4996m("mno-tgsplit"),
4997flagpd1("mno-thumb"),
4998flagpd1("mno-tls-direct-seg-refs"),
4999flagpd1("mno-tocdata"),
5000m("mno-tsxldtrk"),
5001flagpd1("mno-type-check"),
5002m("mno-uintr"),
5003flagpd1("mno-unaligned-access"),
5004m("mno-unaligned-symbols"),
5005flagpd1("mno-unsafe-fp-atomics"),
5006m("mno-usermsr"),
5007m("mno-v8plus"),
5008m("mno-vaes"),
5009flagpd1("mno-vector-strict-align"),
5010flagpd1("mno-vevpu"),
5011m("mno-virt"),
5012m("mno-vis"),
5013m("mno-vis2"),
5014m("mno-vis3"),
5015m("mno-vpclmulqdq"),
5016m("mno-vsx"),
5017flagpd1("mno-vx"),
5018m("mno-vzeroupper"),
5019m("mno-waitpkg"),
5020flagpd1("mno-warn-nonportable-cfstrings"),
5021m("mno-wavefrontsize64"),
5022m("mno-wbnoinvd"),
5023m("mno-wide-arithmetic"),
5024m("mno-widekl"),
5025m("mno-x87"),
5026flagpd1("mno-xcoff-roptr"),
5027m("mno-xgot"),
5028m("mno-xop"),
5029m("mno-xsave"),
5030m("mno-xsavec"),
5031m("mno-xsaveopt"),
5032m("mno-xsaves"),
5033flagpd1("mno-zvector"),
5034flagpd1("mnocrc"),
5035m("mno-direct-move"),
5036m("mnontrapping-fptoint"),
5037flagpd1("mnop-mcount"),
5038m("mno-paired-vector-memops"),
5039m("mno-crypto"),
5040m("mnvj"),
5041m("mnvs"),
5042flagpd1("modd-spreg"),
5043sepd1("module-dependency-dir"),
5044flagpd1("module-file-deps"),
5045flagpd1("module-file-info"),
5046sepd1("module-suffix"),
5047flagpd1("fmodules-reduced-bmi"),
5048flagpd1("momit-leaf-frame-pointer"),
5049flagpd1("moutline"),
5050m("moutline-atomics"),
5051flagpd1("mpacked-stack"),
5052m("mpackets"),
5053m("mpaired-vector-memops"),
5054flagpd1("mpascal-strings"),
5055m("mpclmul"),
5056m("mpconfig"),
5057flagpd1("mpcrel"),
5058flagpd1("mpic-data-is-text-relative"),
5059m("mpku"),
5060m("mpopc"),
5061m("mpopcnt"),
5062m("mpopcntd"),
5063m("mpower10-vector"),
5064m("mcrypto"),
5065m("mpower8-vector"),
5066m("mpower9-vector"),
5067m("mprefetchi"),
5068flagpd1("mprefixed"),
5069m("mprfchw"),
5070m("mprivileged"),
5071m("mptwrite"),
5072flagpd1("mpure-code"),
5073flagpd1("mqdsp6-compat"),
5074m("mraoint"),
5075m("mrdpid"),
5076m("mrdpru"),
5077m("mrdrnd"),
5078m("mrdseed"),
5079flagpd1("mreassociate"),
5080flagpd1("mrecip"),
5081flagpd1("mrecord-mcount"),
5082.{
5083 .name = "mred-zone",
5084 .syntax = .flag,
5085 .zig_equivalent = .red_zone,
5086 .pd1 = true,
5087 .pd2 = false,
5088 .psl = false,
5089},
5090m("mreference-types"),
5091flagpd1("mregnames"),
5092sepd1("mregparm"),
5093m("mrelax"),
5094flagpd1("mrelax-all"),
5095flagpd1("mrelax-pic-calls"),
5096flagpd1("mrelax-relocations=no"),
5097m("mrelaxed-simd"),
5098sepd1("mrelocation-model"),
5099flagpd1("mrestrict-it"),
5100m("mretpoline"),
5101m("mretpoline-external-thunk"),
5102m("mrop-protect"),
5103flagpd1("mrtd"),
5104m("mrtm"),
5105m("msahf"),
5106flagpd1("msave-reg-params"),
5107m("msave-restore"),
5108flagpd1("msave-temp-labels"),
5109flagpd1("mscalar-strict-align"),
5110m("mscq"),
5111m("msecure-plt"),
5112m("mserialize"),
5113m("msgx"),
5114m("msha"),
5115m("msha512"),
5116m("mshstk"),
5117m("msign-ext"),
5118flagpd1("msim"),
5119m("msimd128"),
5120m("msingle-float"),
5121flagpd1("mskip-rax-setup"),
5122m("msm3"),
5123m("msm4"),
5124sepd1("msmall-data-limit"),
5125m("msoft-float"),
5126flagpd1("msoft-quad-float"),
5127m("mspe"),
5128flagpd1("mspeculative-load-hardening"),
5129m("msse"),
5130m("msse2"),
5131flagpd1("msse2avx"),
5132m("msse3"),
5133flagpd1("msse4"),
5134m("msse4.1"),
5135m("msse4.2"),
5136m("msse4a"),
5137m("mssse3"),
5138flagpd1("mstack-arg-probe"),
5139flagpd1("mstackrealign"),
5140m("mstrict-align"),
5141flagpd1("msvr4-struct-return"),
5142m("mtail-call"),
5143m("mtbm"),
5144m("mtgsplit"),
5145sepd1("mthread-model"),
5146flagpd1("mthumb"),
5147flagpd1("mtls-direct-seg-refs"),
5148flagpd1("mtocdata"),
5149sepd1("mtp"),
5150m("mtsxldtrk"),
5151flagpd1("muclibc"),
5152m("muintr"),
5153flagpd1("multi_module"),
5154sepd1("multiply_defined"),
5155sepd1("multiply_defined_unused"),
5156flagpd1("munaligned-access"),
5157m("munaligned-symbols"),
5158flagpd1("munsafe-fp-atomics"),
5159m("musermsr"),
5160m("mv5"),
5161m("mv55"),
5162m("mv60"),
5163m("mv62"),
5164m("mv65"),
5165m("mv66"),
5166m("mv67"),
5167flagpd1("mv67t"),
5168m("mv68"),
5169m("mv69"),
5170m("mv71"),
5171flagpd1("mv71t"),
5172m("mv73"),
5173m("mv75"),
5174m("mv79"),
5175m("mv8plus"),
5176m("mvaes"),
5177flagpd1("mvector-strict-align"),
5178flagpd1("mvevpu"),
5179m("mvirt"),
5180m("mvis"),
5181m("mvis2"),
5182m("mvis3"),
5183m("mvpclmulqdq"),
5184m("mvsx"),
5185flagpd1("mvx"),
5186m("mvzeroupper"),
5187m("mwaitpkg"),
5188flagpd1("mwarn-nonportable-cfstrings"),
5189m("mwavefrontsize64"),
5190m("mwbnoinvd"),
5191m("mwide-arithmetic"),
5192m("mwidekl"),
5193flagpd1("mx32"),
5194m("mx87"),
5195flagpd1("mxcoff-roptr"),
5196m("mxgot"),
5197m("mxop"),
5198m("mxsave"),
5199m("mxsavec"),
5200m("mxsaveopt"),
5201m("mxsaves"),
5202flagpd1("mzvector"),
5203flagpd1("n"),
5204flagpd1("new-struct-path-tbaa"),
5205flagpd1("no_dead_strip_inits_and_terms"),
5206flagpd1("no-canonical-prefixes"),
5207flagpd1("no-clear-ast-before-backend"),
5208flagpd1("no-code-completion-globals"),
5209flagpd1("no-code-completion-ns-level-decls"),
5210flagpd1("no-cpp-precomp"),
5211.{
5212 .name = "no-cuda-noopt-device-debug",
5213 .syntax = .flag,
5214 .zig_equivalent = .other,
5215 .pd1 = false,
5216 .pd2 = true,
5217 .psl = false,
5218},
5219.{
5220 .name = "no-cuda-version-check",
5221 .syntax = .flag,
5222 .zig_equivalent = .other,
5223 .pd1 = false,
5224 .pd2 = true,
5225 .psl = false,
5226},
5227flagpd1("fno-c++-static-destructors"),
5228.{
5229 .name = "no-default-config",
5230 .syntax = .flag,
5231 .zig_equivalent = .other,
5232 .pd1 = false,
5233 .pd2 = true,
5234 .psl = false,
5235},
5236flagpd1("no-disable-free"),
5237flagpd1("no-emit-llvm-uselists"),
5238flagpd1("no-enable-noundef-analysis"),
5239.{
5240 .name = "no-gpu-bundle-output",
5241 .syntax = .flag,
5242 .zig_equivalent = .other,
5243 .pd1 = false,
5244 .pd2 = true,
5245 .psl = false,
5246},
5247flagpd1("no-hip-rt"),
5248flagpd1("no-implicit-float"),
5249.{
5250 .name = "no-integrated-cpp",
5251 .syntax = .flag,
5252 .zig_equivalent = .other,
5253 .pd1 = true,
5254 .pd2 = true,
5255 .psl = false,
5256},
5257.{
5258 .name = "no-offload-add-rpath",
5259 .syntax = .flag,
5260 .zig_equivalent = .other,
5261 .pd1 = false,
5262 .pd2 = true,
5263 .psl = false,
5264},
5265.{
5266 .name = "no-offload-compress",
5267 .syntax = .flag,
5268 .zig_equivalent = .other,
5269 .pd1 = false,
5270 .pd2 = true,
5271 .psl = false,
5272},
5273.{
5274 .name = "no-offload-inc",
5275 .syntax = .flag,
5276 .zig_equivalent = .other,
5277 .pd1 = false,
5278 .pd2 = true,
5279 .psl = false,
5280},
5281.{
5282 .name = "no-offload-new-driver",
5283 .syntax = .flag,
5284 .zig_equivalent = .other,
5285 .pd1 = false,
5286 .pd2 = true,
5287 .psl = false,
5288},
5289.{
5290 .name = "no-offloadlib",
5291 .syntax = .flag,
5292 .zig_equivalent = .other,
5293 .pd1 = false,
5294 .pd2 = true,
5295 .psl = false,
5296},
5297.{
5298 .name = "no-pedantic",
5299 .syntax = .flag,
5300 .zig_equivalent = .other,
5301 .pd1 = true,
5302 .pd2 = true,
5303 .psl = false,
5304},
5305.{
5306 .name = "no-pie",
5307 .syntax = .flag,
5308 .zig_equivalent = .no_pie,
5309 .pd1 = true,
5310 .pd2 = false,
5311 .psl = false,
5312},
5313flagpd1("no-pointer-tbaa"),
5314flagpd1("no-pthread"),
5315flagpd1("no-round-trip-args"),
5316flagpd1("no-struct-path-tbaa"),
5317.{
5318 .name = "no-wasm-opt",
5319 .syntax = .flag,
5320 .zig_equivalent = .other,
5321 .pd1 = false,
5322 .pd2 = true,
5323 .psl = false,
5324},
5325flagpd1("nobuiltininc"),
5326flagpd1("nocpp"),
5327flagpd1("nodefaultlibs"),
5328flagpd1("nodriverkitlib"),
5329flagpd1("nofixprebinding"),
5330flagpd1("nogpulibc"),
5331flagpd1("nohipwrapperinc"),
5332.{
5333 .name = "nolibc",
5334 .syntax = .flag,
5335 .zig_equivalent = .nostdlib,
5336 .pd1 = true,
5337 .pd2 = false,
5338 .psl = false,
5339},
5340flagpd1("nomultidefs"),
5341.{
5342 .name = "nopie",
5343 .syntax = .flag,
5344 .zig_equivalent = .no_pie,
5345 .pd1 = true,
5346 .pd2 = false,
5347 .psl = false,
5348},
5349flagpd1("noprebind"),
5350flagpd1("noprofilelib"),
5351flagpd1("noseglinkedit"),
5352flagpd1("nostartfiles"),
5353.{
5354 .name = "nostdinc",
5355 .syntax = .flag,
5356 .zig_equivalent = .nostdlibinc,
5357 .pd1 = true,
5358 .pd2 = false,
5359 .psl = false,
5360},
5361.{
5362 .name = "nostdinc++",
5363 .syntax = .flag,
5364 .zig_equivalent = .nostdlib_cpp,
5365 .pd1 = true,
5366 .pd2 = false,
5367 .psl = false,
5368},
5369.{
5370 .name = "nostdlib",
5371 .syntax = .flag,
5372 .zig_equivalent = .nostdlib,
5373 .pd1 = true,
5374 .pd2 = false,
5375 .psl = false,
5376},
5377.{
5378 .name = "nostdlibinc",
5379 .syntax = .flag,
5380 .zig_equivalent = .nostdlibinc,
5381 .pd1 = true,
5382 .pd2 = false,
5383 .psl = false,
5384},
5385.{
5386 .name = "nostdlib++",
5387 .syntax = .flag,
5388 .zig_equivalent = .nostdlib_cpp,
5389 .pd1 = true,
5390 .pd2 = false,
5391 .psl = false,
5392},
5393flagpd1("nostdsysteminc"),
5394sepd1("objc-isystem"),
5395sepd1("objcxx-isystem"),
5396flagpd1("object"),
5397sepd1("object-file-name"),
5398.{
5399 .name = "offload-add-rpath",
5400 .syntax = .flag,
5401 .zig_equivalent = .other,
5402 .pd1 = false,
5403 .pd2 = true,
5404 .psl = false,
5405},
5406.{
5407 .name = "offload-compress",
5408 .syntax = .flag,
5409 .zig_equivalent = .other,
5410 .pd1 = false,
5411 .pd2 = true,
5412 .psl = false,
5413},
5414.{
5415 .name = "offload-device-only",
5416 .syntax = .flag,
5417 .zig_equivalent = .other,
5418 .pd1 = false,
5419 .pd2 = true,
5420 .psl = false,
5421},
5422.{
5423 .name = "offload-host-device",
5424 .syntax = .flag,
5425 .zig_equivalent = .other,
5426 .pd1 = false,
5427 .pd2 = true,
5428 .psl = false,
5429},
5430.{
5431 .name = "offload-host-only",
5432 .syntax = .flag,
5433 .zig_equivalent = .other,
5434 .pd1 = false,
5435 .pd2 = true,
5436 .psl = false,
5437},
5438.{
5439 .name = "offload-inc",
5440 .syntax = .flag,
5441 .zig_equivalent = .other,
5442 .pd1 = false,
5443 .pd2 = true,
5444 .psl = false,
5445},
5446.{
5447 .name = "offload-link",
5448 .syntax = .flag,
5449 .zig_equivalent = .other,
5450 .pd1 = false,
5451 .pd2 = true,
5452 .psl = false,
5453},
5454.{
5455 .name = "offload-new-driver",
5456 .syntax = .flag,
5457 .zig_equivalent = .other,
5458 .pd1 = false,
5459 .pd2 = true,
5460 .psl = false,
5461},
5462.{
5463 .name = "offloadlib",
5464 .syntax = .flag,
5465 .zig_equivalent = .other,
5466 .pd1 = false,
5467 .pd2 = true,
5468 .psl = false,
5469},
5470sepd1("fexperimental-openacc-macro-override"),
5471sepd1("opt-record-file"),
5472sepd1("opt-record-format"),
5473sepd1("opt-record-passes"),
5474flagpd1("p"),
5475.{
5476 .name = "pass-exit-codes",
5477 .syntax = .flag,
5478 .zig_equivalent = .other,
5479 .pd1 = true,
5480 .pd2 = true,
5481 .psl = false,
5482},
5483flagpd1("pch-through-hdrstop-create"),
5484flagpd1("pch-through-hdrstop-use"),
5485.{
5486 .name = "pedantic",
5487 .syntax = .flag,
5488 .zig_equivalent = .other,
5489 .pd1 = true,
5490 .pd2 = true,
5491 .psl = false,
5492},
5493.{
5494 .name = "pedantic-errors",
5495 .syntax = .flag,
5496 .zig_equivalent = .other,
5497 .pd1 = true,
5498 .pd2 = true,
5499 .psl = false,
5500},
5501flagpd1("pg"),
5502flagpd1("pic-is-pie"),
5503sepd1("pic-level"),
5504.{
5505 .name = "pie",
5506 .syntax = .flag,
5507 .zig_equivalent = .pie,
5508 .pd1 = true,
5509 .pd2 = false,
5510 .psl = false,
5511},
5512.{
5513 .name = "pipe",
5514 .syntax = .flag,
5515 .zig_equivalent = .ignore,
5516 .pd1 = true,
5517 .pd2 = true,
5518 .psl = false,
5519},
5520sepd1("plugin"),
5521flagpd1("pointer-tbaa"),
5522flagpd1("prebind"),
5523flagpd1("prebind_all_twolevel_modules"),
5524flagpd1("preload"),
5525flagpd1("print-dependency-directives-minimized-source"),
5526.{
5527 .name = "print-diagnostic-options",
5528 .syntax = .flag,
5529 .zig_equivalent = .other,
5530 .pd1 = true,
5531 .pd2 = true,
5532 .psl = false,
5533},
5534.{
5535 .name = "print-effective-triple",
5536 .syntax = .flag,
5537 .zig_equivalent = .other,
5538 .pd1 = true,
5539 .pd2 = true,
5540 .psl = false,
5541},
5542.{
5543 .name = "print-enabled-extensions",
5544 .syntax = .flag,
5545 .zig_equivalent = .other,
5546 .pd1 = true,
5547 .pd2 = true,
5548 .psl = false,
5549},
5550flagpd1("print-ivar-layout"),
5551.{
5552 .name = "print-libgcc-file-name",
5553 .syntax = .flag,
5554 .zig_equivalent = .other,
5555 .pd1 = true,
5556 .pd2 = true,
5557 .psl = false,
5558},
5559.{
5560 .name = "print-multi-directory",
5561 .syntax = .flag,
5562 .zig_equivalent = .other,
5563 .pd1 = true,
5564 .pd2 = true,
5565 .psl = false,
5566},
5567.{
5568 .name = "print-multi-flags-experimental",
5569 .syntax = .flag,
5570 .zig_equivalent = .other,
5571 .pd1 = true,
5572 .pd2 = true,
5573 .psl = false,
5574},
5575.{
5576 .name = "print-multi-lib",
5577 .syntax = .flag,
5578 .zig_equivalent = .other,
5579 .pd1 = true,
5580 .pd2 = true,
5581 .psl = false,
5582},
5583.{
5584 .name = "print-multi-os-directory",
5585 .syntax = .flag,
5586 .zig_equivalent = .other,
5587 .pd1 = true,
5588 .pd2 = true,
5589 .psl = false,
5590},
5591flagpd1("print-preamble"),
5592.{
5593 .name = "print-resource-dir",
5594 .syntax = .flag,
5595 .zig_equivalent = .other,
5596 .pd1 = true,
5597 .pd2 = true,
5598 .psl = false,
5599},
5600.{
5601 .name = "print-rocm-search-dirs",
5602 .syntax = .flag,
5603 .zig_equivalent = .other,
5604 .pd1 = true,
5605 .pd2 = true,
5606 .psl = false,
5607},
5608.{
5609 .name = "print-runtime-dir",
5610 .syntax = .flag,
5611 .zig_equivalent = .other,
5612 .pd1 = true,
5613 .pd2 = true,
5614 .psl = false,
5615},
5616.{
5617 .name = "print-search-dirs",
5618 .syntax = .flag,
5619 .zig_equivalent = .other,
5620 .pd1 = true,
5621 .pd2 = true,
5622 .psl = false,
5623},
5624flagpd1("print-stats"),
5625.{
5626 .name = "print-library-module-manifest-path",
5627 .syntax = .flag,
5628 .zig_equivalent = .other,
5629 .pd1 = true,
5630 .pd2 = true,
5631 .psl = false,
5632},
5633.{
5634 .name = "print-supported-cpus",
5635 .syntax = .flag,
5636 .zig_equivalent = .other,
5637 .pd1 = true,
5638 .pd2 = true,
5639 .psl = false,
5640},
5641.{
5642 .name = "print-supported-extensions",
5643 .syntax = .flag,
5644 .zig_equivalent = .other,
5645 .pd1 = true,
5646 .pd2 = true,
5647 .psl = false,
5648},
5649.{
5650 .name = "print-target-triple",
5651 .syntax = .flag,
5652 .zig_equivalent = .other,
5653 .pd1 = true,
5654 .pd2 = true,
5655 .psl = false,
5656},
5657.{
5658 .name = "print-targets",
5659 .syntax = .flag,
5660 .zig_equivalent = .other,
5661 .pd1 = true,
5662 .pd2 = true,
5663 .psl = false,
5664},
5665flagpd1("private_bundle"),
5666flagpd1("pthread"),
5667flagpd1("pthreads"),
5668.{
5669 .name = "r",
5670 .syntax = .flag,
5671 .zig_equivalent = .r,
5672 .pd1 = true,
5673 .pd2 = false,
5674 .psl = false,
5675},
5676.{
5677 .name = "rdynamic",
5678 .syntax = .flag,
5679 .zig_equivalent = .rdynamic,
5680 .pd1 = true,
5681 .pd2 = false,
5682 .psl = false,
5683},
5684sepd1("read_only_relocs"),
5685sepd1("record-command-line"),
5686sepd1("reexport_framework"),
5687flagpd1("regcall4"),
5688flagpd1("relaxed-aliasing"),
5689.{
5690 .name = "relocatable-pch",
5691 .syntax = .flag,
5692 .zig_equivalent = .other,
5693 .pd1 = true,
5694 .pd2 = true,
5695 .psl = false,
5696},
5697flagpd1("remap"),
5698sepd1("remap-file"),
5699.{
5700 .name = "res-may-alias",
5701 .syntax = .flag,
5702 .zig_equivalent = .other,
5703 .pd1 = true,
5704 .pd2 = false,
5705 .psl = true,
5706},
5707sepd1("resource-dir"),
5708flagpd1("rewrite-legacy-objc"),
5709flagpd1("rewrite-macros"),
5710flagpd1("rewrite-objc"),
5711flagpd1("rewrite-test"),
5712flagpd1("round-trip-args"),
5713sepd1("rpath"),
5714.{
5715 .name = "s",
5716 .syntax = .flag,
5717 .zig_equivalent = .strip,
5718 .pd1 = true,
5719 .pd2 = false,
5720 .psl = false,
5721},
5722.{
5723 .name = "save-stats",
5724 .syntax = .flag,
5725 .zig_equivalent = .other,
5726 .pd1 = true,
5727 .pd2 = true,
5728 .psl = false,
5729},
5730.{
5731 .name = "save-temps",
5732 .syntax = .flag,
5733 .zig_equivalent = .other,
5734 .pd1 = true,
5735 .pd2 = true,
5736 .psl = false,
5737},
5738.{
5739 .name = "sectalign",
5740 .syntax = .{.multi_arg=3},
5741 .zig_equivalent = .other,
5742 .pd1 = true,
5743 .pd2 = false,
5744 .psl = false,
5745},
5746.{
5747 .name = "sectcreate",
5748 .syntax = .{.multi_arg=3},
5749 .zig_equivalent = .other,
5750 .pd1 = true,
5751 .pd2 = false,
5752 .psl = false,
5753},
5754.{
5755 .name = "sectobjectsymbols",
5756 .syntax = .{.multi_arg=2},
5757 .zig_equivalent = .other,
5758 .pd1 = true,
5759 .pd2 = false,
5760 .psl = false,
5761},
5762.{
5763 .name = "sectorder",
5764 .syntax = .{.multi_arg=3},
5765 .zig_equivalent = .other,
5766 .pd1 = true,
5767 .pd2 = false,
5768 .psl = false,
5769},
5770sepd1("seg_addr_table"),
5771sepd1("seg_addr_table_filename"),
5772.{
5773 .name = "segaddr",
5774 .syntax = .{.multi_arg=2},
5775 .zig_equivalent = .other,
5776 .pd1 = true,
5777 .pd2 = false,
5778 .psl = false,
5779},
5780.{
5781 .name = "segcreate",
5782 .syntax = .{.multi_arg=3},
5783 .zig_equivalent = .other,
5784 .pd1 = true,
5785 .pd2 = false,
5786 .psl = false,
5787},
5788flagpd1("seglinkedit"),
5789.{
5790 .name = "segprot",
5791 .syntax = .{.multi_arg=3},
5792 .zig_equivalent = .other,
5793 .pd1 = true,
5794 .pd2 = false,
5795 .psl = false,
5796},
5797sepd1("segs_read_only_addr"),
5798sepd1("segs_read_write_addr"),
5799flagpd1("setup-static-analyzer"),
5800.{
5801 .name = "shared",
5802 .syntax = .flag,
5803 .zig_equivalent = .shared,
5804 .pd1 = true,
5805 .pd2 = true,
5806 .psl = false,
5807},
5808flagpd1("shared-libflangrt"),
5809flagpd1("shared-libgcc"),
5810flagpd1("shared-libsan"),
5811flagpd1("show-encoding"),
5812.{
5813 .name = "show-includes",
5814 .syntax = .flag,
5815 .zig_equivalent = .other,
5816 .pd1 = false,
5817 .pd2 = true,
5818 .psl = false,
5819},
5820flagpd1("show-inst"),
5821flagpd1("single_module"),
5822flagpd1("skip-function-bodies"),
5823sepd1("source-date-epoch"),
5824.{
5825 .name = "specs",
5826 .syntax = .separate,
5827 .zig_equivalent = .other,
5828 .pd1 = true,
5829 .pd2 = true,
5830 .psl = false,
5831},
5832.{
5833 .name = "spirv",
5834 .syntax = .flag,
5835 .zig_equivalent = .other,
5836 .pd1 = true,
5837 .pd2 = false,
5838 .psl = true,
5839},
5840sepd1("split-dwarf-file"),
5841sepd1("split-dwarf-output"),
5842.{
5843 .name = "stack-protector",
5844 .syntax = .separate,
5845 .zig_equivalent = .stack_protector,
5846 .pd1 = true,
5847 .pd2 = false,
5848 .psl = false,
5849},
5850sepd1("stack-protector-buffer-size"),
5851sepd1("stack-usage-file"),
5852.{
5853 .name = "start-no-unused-arguments",
5854 .syntax = .flag,
5855 .zig_equivalent = .other,
5856 .pd1 = false,
5857 .pd2 = true,
5858 .psl = false,
5859},
5860flagpd1("startfiles"),
5861.{
5862 .name = "static",
5863 .syntax = .flag,
5864 .zig_equivalent = .static,
5865 .pd1 = true,
5866 .pd2 = true,
5867 .psl = false,
5868},
5869flagpd1("static-define"),
5870flagpd1("static-libclosure"),
5871flagpd1("static-libflangrt"),
5872flagpd1("static-libgcc"),
5873flagpd1("static-libgfortran"),
5874flagpd1("static-libsan"),
5875flagpd1("static-libstdc++"),
5876flagpd1("static-openmp"),
5877flagpd1("static-pie"),
5878flagpd1("stats-file-append"),
5879flagpd1("stdlib"),
5880.{
5881 .name = "sycl-link",
5882 .syntax = .flag,
5883 .zig_equivalent = .other,
5884 .pd1 = false,
5885 .pd2 = true,
5886 .psl = false,
5887},
5888flagpd1("sys-header-deps"),
5889flagpd1("t"),
5890sepd1("target-abi"),
5891sepd1("target-cpu"),
5892sepd1("target-feature"),
5893.{
5894 .name = "target",
5895 .syntax = .separate,
5896 .zig_equivalent = .target,
5897 .pd1 = true,
5898 .pd2 = false,
5899 .psl = false,
5900},
5901sepd1("target-linker-version"),
5902flagpd1("templight-dump"),
5903flagpd1("test-io"),
5904flagpd1("time"),
5905.{
5906 .name = "traditional",
5907 .syntax = .flag,
5908 .zig_equivalent = .other,
5909 .pd1 = true,
5910 .pd2 = true,
5911 .psl = false,
5912},
5913.{
5914 .name = "traditional-cpp",
5915 .syntax = .flag,
5916 .zig_equivalent = .other,
5917 .pd1 = true,
5918 .pd2 = true,
5919 .psl = false,
5920},
5921.{
5922 .name = "trigraphs",
5923 .syntax = .flag,
5924 .zig_equivalent = .other,
5925 .pd1 = true,
5926 .pd2 = true,
5927 .psl = false,
5928},
5929flagpd1("trim-egraph"),
5930sepd1("triple"),
5931sepd1("tune-cpu"),
5932flagpd1("twolevel_namespace"),
5933flagpd1("twolevel_namespace_hints"),
5934sepd1("umbrella"),
5935flagpd1("undef"),
5936sepd1("unexported_symbols_list"),
5937.{
5938 .name = "Wextra",
5939 .syntax = .flag,
5940 .zig_equivalent = .other,
5941 .pd1 = true,
5942 .pd2 = true,
5943 .psl = false,
5944},
5945.{
5946 .name = "Waliasing",
5947 .syntax = .flag,
5948 .zig_equivalent = .other,
5949 .pd1 = true,
5950 .pd2 = true,
5951 .psl = false,
5952},
5953.{
5954 .name = "Wampersand",
5955 .syntax = .flag,
5956 .zig_equivalent = .other,
5957 .pd1 = true,
5958 .pd2 = true,
5959 .psl = false,
5960},
5961.{
5962 .name = "Warray-bounds",
5963 .syntax = .flag,
5964 .zig_equivalent = .other,
5965 .pd1 = true,
5966 .pd2 = true,
5967 .psl = false,
5968},
5969.{
5970 .name = "Wc-binding-type",
5971 .syntax = .flag,
5972 .zig_equivalent = .other,
5973 .pd1 = true,
5974 .pd2 = true,
5975 .psl = false,
5976},
5977.{
5978 .name = "Wcharacter-truncation",
5979 .syntax = .flag,
5980 .zig_equivalent = .other,
5981 .pd1 = true,
5982 .pd2 = true,
5983 .psl = false,
5984},
5985.{
5986 .name = "Wconversion",
5987 .syntax = .flag,
5988 .zig_equivalent = .other,
5989 .pd1 = true,
5990 .pd2 = true,
5991 .psl = false,
5992},
5993.{
5994 .name = "Wdo-subscript",
5995 .syntax = .flag,
5996 .zig_equivalent = .other,
5997 .pd1 = true,
5998 .pd2 = true,
5999 .psl = false,
6000},
6001.{
6002 .name = "Wfunction-elimination",
6003 .syntax = .flag,
6004 .zig_equivalent = .other,
6005 .pd1 = true,
6006 .pd2 = true,
6007 .psl = false,
6008},
6009.{
6010 .name = "Wimplicit-interface",
6011 .syntax = .flag,
6012 .zig_equivalent = .other,
6013 .pd1 = true,
6014 .pd2 = true,
6015 .psl = false,
6016},
6017.{
6018 .name = "Wimplicit-procedure",
6019 .syntax = .flag,
6020 .zig_equivalent = .other,
6021 .pd1 = true,
6022 .pd2 = true,
6023 .psl = false,
6024},
6025.{
6026 .name = "Wintrinsic-shadow",
6027 .syntax = .flag,
6028 .zig_equivalent = .other,
6029 .pd1 = true,
6030 .pd2 = true,
6031 .psl = false,
6032},
6033.{
6034 .name = "Wuse-without-only",
6035 .syntax = .flag,
6036 .zig_equivalent = .other,
6037 .pd1 = true,
6038 .pd2 = true,
6039 .psl = false,
6040},
6041.{
6042 .name = "Wintrinsics-std",
6043 .syntax = .flag,
6044 .zig_equivalent = .other,
6045 .pd1 = true,
6046 .pd2 = true,
6047 .psl = false,
6048},
6049.{
6050 .name = "Wline-truncation",
6051 .syntax = .flag,
6052 .zig_equivalent = .other,
6053 .pd1 = true,
6054 .pd2 = true,
6055 .psl = false,
6056},
6057.{
6058 .name = "Wno-align-commons",
6059 .syntax = .flag,
6060 .zig_equivalent = .other,
6061 .pd1 = true,
6062 .pd2 = true,
6063 .psl = false,
6064},
6065.{
6066 .name = "Wno-overwrite-recursive",
6067 .syntax = .flag,
6068 .zig_equivalent = .other,
6069 .pd1 = true,
6070 .pd2 = true,
6071 .psl = false,
6072},
6073.{
6074 .name = "Wno-tabs",
6075 .syntax = .flag,
6076 .zig_equivalent = .other,
6077 .pd1 = true,
6078 .pd2 = true,
6079 .psl = false,
6080},
6081.{
6082 .name = "Wreal-q-constant",
6083 .syntax = .flag,
6084 .zig_equivalent = .other,
6085 .pd1 = true,
6086 .pd2 = true,
6087 .psl = false,
6088},
6089.{
6090 .name = "Wsurprising",
6091 .syntax = .flag,
6092 .zig_equivalent = .other,
6093 .pd1 = true,
6094 .pd2 = true,
6095 .psl = false,
6096},
6097.{
6098 .name = "Wunderflow",
6099 .syntax = .flag,
6100 .zig_equivalent = .other,
6101 .pd1 = true,
6102 .pd2 = true,
6103 .psl = false,
6104},
6105.{
6106 .name = "Wunused-parameter",
6107 .syntax = .flag,
6108 .zig_equivalent = .other,
6109 .pd1 = true,
6110 .pd2 = true,
6111 .psl = false,
6112},
6113.{
6114 .name = "Wrealloc-lhs",
6115 .syntax = .flag,
6116 .zig_equivalent = .other,
6117 .pd1 = true,
6118 .pd2 = true,
6119 .psl = false,
6120},
6121.{
6122 .name = "Wrealloc-lhs-all",
6123 .syntax = .flag,
6124 .zig_equivalent = .other,
6125 .pd1 = true,
6126 .pd2 = true,
6127 .psl = false,
6128},
6129.{
6130 .name = "Wfrontend-loop-interchange",
6131 .syntax = .flag,
6132 .zig_equivalent = .other,
6133 .pd1 = true,
6134 .pd2 = true,
6135 .psl = false,
6136},
6137.{
6138 .name = "Wtarget-lifetime",
6139 .syntax = .flag,
6140 .zig_equivalent = .other,
6141 .pd1 = true,
6142 .pd2 = true,
6143 .psl = false,
6144},
6145.{
6146 .name = "v",
6147 .syntax = .flag,
6148 .zig_equivalent = .verbose,
6149 .pd1 = true,
6150 .pd2 = false,
6151 .psl = false,
6152},
6153flagpd1("vectorize-loops"),
6154flagpd1("vectorize-slp"),
6155flagpd1("verify"),
6156.{
6157 .name = "verify-debug-info",
6158 .syntax = .flag,
6159 .zig_equivalent = .other,
6160 .pd1 = false,
6161 .pd2 = true,
6162 .psl = false,
6163},
6164flagpd1("verify-ignore-unexpected"),
6165flagpd1("verify-pch"),
6166flagpd1("version"),
6167.{
6168 .name = "via-file-asm",
6169 .syntax = .flag,
6170 .zig_equivalent = .other,
6171 .pd1 = true,
6172 .pd2 = true,
6173 .psl = false,
6174},
6175flagpd1("w"),
6176.{
6177 .name = "wasm-opt",
6178 .syntax = .flag,
6179 .zig_equivalent = .other,
6180 .pd1 = false,
6181 .pd2 = true,
6182 .psl = false,
6183},
6184.{
6185 .name = "weak_framework",
6186 .syntax = .separate,
6187 .zig_equivalent = .weak_framework,
6188 .pd1 = true,
6189 .pd2 = false,
6190 .psl = false,
6191},
6192.{
6193 .name = "weak_library",
6194 .syntax = .separate,
6195 .zig_equivalent = .weak_library,
6196 .pd1 = true,
6197 .pd2 = false,
6198 .psl = false,
6199},
6200sepd1("weak_reference_mismatches"),
6201flagpd1("whatsloaded"),
6202flagpd1("why_load"),
6203flagpd1("whyload"),
6204sepd1("working-directory"),
6205.{
6206 .name = "z",
6207 .syntax = .separate,
6208 .zig_equivalent = .linker_input_z,
6209 .pd1 = true,
6210 .pd2 = false,
6211 .psl = false,
6212},
6213joinpd1("fsanitize-coverage-stack-depth-callback-min="),
6214.{
6215 .name = "fsanitize-undefined-ignore-overflow-pattern=",
6216 .syntax = .comma_joined,
6217 .zig_equivalent = .other,
6218 .pd1 = true,
6219 .pd2 = false,
6220 .psl = false,
6221},
6222joinpd1("fexperimental-sanitize-metadata-ignorelist="),
6223joinpd1("fsanitize-undefined-strip-path-components="),
6224joinpd1("fprofile-generate-cold-function-coverage="),
6225joinpd1("fopenmp-cuda-teams-reduction-recs-num="),
6226joinpd1("fvisibility-externs-nodllstorageclass="),
6227joinpd1("fallow-runtime-check-skip-hot-cutoff="),
6228joinpd1("fexperimental-openacc-macro-override="),
6229joinpd1("analyzer-config-compatibility-mode="),
6230joinpd1("fms-secure-hotpatch-functions-file="),
6231.{
6232 .name = "fms-secure-hotpatch-functions-list=",
6233 .syntax = .comma_joined,
6234 .zig_equivalent = .other,
6235 .pd1 = true,
6236 .pd2 = false,
6237 .psl = false,
6238},
6239.{
6240 .name = "fno-experimental-sanitize-metadata=",
6241 .syntax = .comma_joined,
6242 .zig_equivalent = .other,
6243 .pd1 = true,
6244 .pd2 = false,
6245 .psl = false,
6246},
6247joinpd1("mdefault-visibility-export-mapping="),
6248joinpd1("fsanitize-address-use-after-return="),
6249.{
6250 .name = "fsanitize-address-use-after-return",
6251 .syntax = .joined,
6252 .zig_equivalent = .other,
6253 .pd1 = true,
6254 .pd2 = false,
6255 .psl = true,
6256},
6257joinpd1("darwin-target-variant-sdk-version="),
6258joinpd1("fexperimental-assignment-tracking="),
6259joinpd1("fpatchable-function-entry-section="),
6260joinpd1("ftrivial-auto-var-init-stop-after="),
6261joinpd1("fverify-debuginfo-preserve-export="),
6262joinpd1("fdiagnostics-misexpect-tolerance="),
6263.{
6264 .name = "fno-sanitize-annotate-debug-info=",
6265 .syntax = .comma_joined,
6266 .zig_equivalent = .other,
6267 .pd1 = true,
6268 .pd2 = false,
6269 .psl = false,
6270},
6271joinpd1("fpatchable-function-entry-offset="),
6272joinpd1("fprofile-selected-function-group="),
6273joinpd1("analyzer-inline-max-stack-depth="),
6274.{
6275 .name = "fexperimental-sanitize-metadata=",
6276 .syntax = .comma_joined,
6277 .zig_equivalent = .other,
6278 .pd1 = true,
6279 .pd2 = false,
6280 .psl = false,
6281},
6282joinpd1("fsanitize-address-field-padding="),
6283joinpd1("ftrivial-auto-var-init-max-size="),
6284.{
6285 .name = "fno-sanitize-address-vcasan-lib",
6286 .syntax = .joined,
6287 .zig_equivalent = .other,
6288 .pd1 = true,
6289 .pd2 = false,
6290 .psl = true,
6291},
6292joinpd1("fdiagnostics-hotness-threshold="),
6293joinpd1("fexperimental-max-bitint-width="),
6294joinpd1("fsanitize-memory-track-origins="),
6295joinpd1("mwatchos-simulator-version-min="),
6296joinpd1("funique-source-file-identifier="),
6297.{
6298 .name = "fsanitize-annotate-debug-info=",
6299 .syntax = .comma_joined,
6300 .zig_equivalent = .other,
6301 .pd1 = true,
6302 .pd2 = false,
6303 .psl = false,
6304},
6305joinpd1("fsanitize-coverage-ignorelist="),
6306joinpd1("fvisibility-externs-dllimport="),
6307joinpd1("fvisibility-global-new-delete="),
6308joinpd1("fvisibility-nodllstorageclass="),
6309joinpd1("fxray-selected-function-group="),
6310joinpd1("mappletvsimulator-version-min="),
6311joinpd1("mstack-protector-guard-offset="),
6312joinpd1("mstack-protector-guard-symbol="),
6313.{
6314 .name = "sourceDependencies:directives",
6315 .syntax = .joined_or_separate,
6316 .zig_equivalent = .other,
6317 .pd1 = true,
6318 .pd2 = false,
6319 .psl = true,
6320},
6321joinpd1("miphonesimulator-version-min="),
6322joinpd1("fcaret-diagnostics-max-lines="),
6323joinpd1("fobjc-nonfragile-abi-version="),
6324joinpd1("fprofile-instrument-use-path="),
6325joinpd1("fsanitize-coverage-allowlist="),
6326joinpd1("fxray-instrumentation-bundle="),
6327joinpd1("fsanitize-address-destructor="),
6328.{
6329 .name = "warning-suppression-mappings=",
6330 .syntax = .joined,
6331 .zig_equivalent = .other,
6332 .pd1 = false,
6333 .pd2 = true,
6334 .psl = false,
6335},
6336joinpd1("faddress-space-map-mangling="),
6337joinpd1("foptimization-record-passes="),
6338joinpd1("frandomize-layout-seed-file="),
6339joinpd1("fsanitize-system-ignorelist="),
6340joinpd1("ftest-module-file-extension="),
6341joinpd1("fxray-instruction-threshold="),
6342.{
6343 .name = "libomptarget-amdgcn-bc-path=",
6344 .syntax = .joined,
6345 .zig_equivalent = .other,
6346 .pd1 = false,
6347 .pd2 = true,
6348 .psl = false,
6349},
6350.{
6351 .name = "libomptarget-amdgpu-bc-path=",
6352 .syntax = .joined,
6353 .zig_equivalent = .other,
6354 .pd1 = false,
6355 .pd2 = true,
6356 .psl = false,
6357},
6358joinpd1("mno-default-build-attributes"),
6359joinpd1("mtvos-simulator-version-min="),
6360joinpd1("mwatchsimulator-version-min="),
6361joinpd1("loader-replaceable-function="),
6362.{
6363 .name = "include-with-prefix-before=",
6364 .syntax = .joined,
6365 .zig_equivalent = .other,
6366 .pd1 = false,
6367 .pd2 = true,
6368 .psl = false,
6369},
6370joinpd1("error-on-deserialized-decl="),
6371joinpd1("fbfloat16-excess-precision="),
6372joinpd1("fconstexpr-backtrace-limit="),
6373joinpd1("fdiagnostics-show-category="),
6374joinpd1("fdiagnostics-show-location="),
6375joinpd1("fno-modules-check-relocated"),
6376joinpd1("fopenmp-cuda-blocks-per-sm="),
6377.{
6378 .name = "headerpad_max_install_names",
6379 .syntax = .joined,
6380 .zig_equivalent = .headerpad_max_install_names,
6381 .pd1 = true,
6382 .pd2 = false,
6383 .psl = false,
6384},
6385.{
6386 .name = "libomptarget-nvptx-bc-path=",
6387 .syntax = .joined,
6388 .zig_equivalent = .other,
6389 .pd1 = false,
6390 .pd2 = true,
6391 .psl = false,
6392},
6393.{
6394 .name = "libomptarget-spirv-bc-path=",
6395 .syntax = .joined,
6396 .zig_equivalent = .other,
6397 .pd1 = false,
6398 .pd2 = true,
6399 .psl = false,
6400},
6401joinpd1("mios-simulator-version-min="),
6402joinpd1("mstack-protector-guard-reg="),
6403joinpd1("msve-streaming-vector-bits="),
6404joinpd1("Wsystem-headers-in-module="),
6405.{
6406 .name = "include-with-prefix-after=",
6407 .syntax = .joined,
6408 .zig_equivalent = .other,
6409 .pd1 = false,
6410 .pd2 = true,
6411 .psl = false,
6412},
6413joinpd1("fcoverage-compilation-dir="),
6414joinpd1("fdx-rootsignature-version="),
6415joinpd1("fextend-variable-liveness="),
6416joinpd1("ffloat16-excess-precision="),
6417joinpd1("fms-compatibility-version="),
6418joinpd1("fopenmp-cuda-number-of-sm="),
6419joinpd1("foptimization-record-file="),
6420joinpd1("fpatchable-function-entry="),
6421joinpd1("frepack-arrays-contiguity="),
6422.{
6423 .name = "fsanitize-skip-hot-cutoff=",
6424 .syntax = .comma_joined,
6425 .zig_equivalent = .other,
6426 .pd1 = true,
6427 .pd2 = false,
6428 .psl = false,
6429},
6430joinpd1("fsave-optimization-record="),
6431joinpd1("ftemplate-backtrace-limit="),
6432.{
6433 .name = "gpu-max-threads-per-block=",
6434 .syntax = .joined,
6435 .zig_equivalent = .other,
6436 .pd1 = false,
6437 .pd2 = true,
6438 .psl = false,
6439},
6440.{
6441 .name = "offload-compression-level=",
6442 .syntax = .joined,
6443 .zig_equivalent = .other,
6444 .pd1 = false,
6445 .pd2 = true,
6446 .psl = false,
6447},
6448joinpd1("Wno-nonportable-cfstrings"),
6449joinpd1("analyzer-disable-checker="),
6450joinpd1("fbuild-session-timestamp="),
6451joinpd1("fdo-concurrent-to-openmp="),
6452joinpd1("fprofile-function-groups="),
6453joinpd1("fprofile-instrument-path="),
6454joinpd1("header-include-filtering="),
6455joinpd1("mdefault-build-attributes"),
6456joinpd1("msign-return-address-key="),
6457.{
6458 .name = "verify-ignore-unexpected=",
6459 .syntax = .comma_joined,
6460 .zig_equivalent = .other,
6461 .pd1 = true,
6462 .pd2 = false,
6463 .psl = false,
6464},
6465.{
6466 .name = "include-directory-after=",
6467 .syntax = .joined,
6468 .zig_equivalent = .other,
6469 .pd1 = false,
6470 .pd2 = true,
6471 .psl = false,
6472},
6473.{
6474 .name = "compress-debug-sections=",
6475 .syntax = .joined,
6476 .zig_equivalent = .compress_debug_sections,
6477 .pd1 = true,
6478 .pd2 = true,
6479 .psl = false,
6480},
6481joinpd1("fc++-static-destructors="),
6482joinpd1("dump-minimization-hints="),
6483joinpd1("fapinotes-swift-version="),
6484.{
6485 .name = "fcomment-block-commands=",
6486 .syntax = .comma_joined,
6487 .zig_equivalent = .other,
6488 .pd1 = true,
6489 .pd2 = false,
6490 .psl = false,
6491},
6492joinpd1("flax-vector-conversions="),
6493joinpd1("fmodules-embed-all-files"),
6494joinpd1("fmodules-prune-interval="),
6495joinpd1("foverride-record-layout="),
6496joinpd1("fprofile-instr-generate="),
6497joinpd1("fprofile-remapping-file="),
6498joinpd1("fsanitize-coverage-type="),
6499joinpd1("fsanitize-hwaddress-abi="),
6500joinpd1("ftime-trace-granularity="),
6501joinpd1("fxray-always-instrument="),
6502joinpd1("mcf-branch-label-scheme="),
6503.{
6504 .name = "no-system-header-prefix=",
6505 .syntax = .joined,
6506 .zig_equivalent = .other,
6507 .pd1 = false,
6508 .pd2 = true,
6509 .psl = false,
6510},
6511.{
6512 .name = "output-class-directory=",
6513 .syntax = .joined,
6514 .zig_equivalent = .other,
6515 .pd1 = false,
6516 .pd2 = true,
6517 .psl = false,
6518},
6519joinpd1("analyzer-inlining-mode="),
6520joinpd1("fcodegen-data-generate="),
6521joinpd1("fconstant-string-class="),
6522joinpd1("fcrash-diagnostics-dir="),
6523joinpd1("fdebug-compilation-dir="),
6524joinpd1("fdebug-default-version="),
6525joinpd1("ffp-exception-behavior="),
6526joinpd1("fmacro-backtrace-limit="),
6527joinpd1("fmax-array-constructor="),
6528joinpd1("fmcdc-max-test-vectors="),
6529joinpd1("fprofile-exclude-files="),
6530joinpd1("frandomize-layout-seed="),
6531joinpd1("ftrivial-auto-var-init="),
6532joinpd1("fxray-never-instrument="),
6533joinpd1("gsimple-template-names="),
6534jspd1("interface-stub-version="),
6535joinpd1("malign-branch-boundary="),
6536joinpd1("mappletvos-version-min="),
6537joinpd1("mstack-protector-guard="),
6538joinpd1("Wnonportable-cfstrings"),
6539joinpd1("miphoneos-version-min="),
6540joinpd1("fbasic-block-sections="),
6541joinpd1("fdefault-calling-conv="),
6542joinpd1("fdenormal-fp-math-f32="),
6543joinpd1("fembed-offload-object="),
6544joinpd1("ffile-compilation-dir="),
6545joinpd1("fgpu-inline-threshold="),
6546joinpd1("finline-max-stacksize="),
6547joinpd1("fmax-subrecord-length="),
6548joinpd1("fmodules-ignore-macro="),
6549.{
6550 .name = "fno-sanitize-coverage=",
6551 .syntax = .comma_joined,
6552 .zig_equivalent = .no_san_cov,
6553 .pd1 = true,
6554 .pd2 = false,
6555 .psl = false,
6556},
6557joinpd1("fobjc-dispatch-method="),
6558joinpd1("foperator-arrow-depth="),
6559joinpd1("fprebuilt-module-path="),
6560joinpd1("fprofile-filter-files="),
6561joinpd1("fsanitize-memtag-mode="),
6562joinpd1("fspell-checking-limit="),
6563joinpd1("fvisibility-dllexport="),
6564joinpd1("fxray-function-groups="),
6565joinpd1("header-include-format="),
6566.{
6567 .name = "hipstdpar-thrust-path=",
6568 .syntax = .joined,
6569 .zig_equivalent = .other,
6570 .pd1 = false,
6571 .pd2 = true,
6572 .psl = false,
6573},
6574joinpd1("mlarge-data-threshold="),
6575joinpd1("msmall-data-threshold="),
6576joinpd1("mvscale-streaming-max="),
6577joinpd1("mvscale-streaming-min="),
6578joinpd1("Wlarge-by-value-copy="),
6579.{
6580 .name = "Xthinlto-distributor=",
6581 .syntax = .comma_joined,
6582 .zig_equivalent = .other,
6583 .pd1 = true,
6584 .pd2 = false,
6585 .psl = false,
6586},
6587joinpd1("analyzer-constraints="),
6588joinpd1("analyzer-dump-egraph="),
6589jspd1("compatibility_version"),
6590jspd1("dylinker_install_name"),
6591joinpd1("fcoverage-prefix-map="),
6592joinpd1("fcs-profile-generate="),
6593joinpd1("fmcdc-max-conditions="),
6594joinpd1("fmodules-prune-after="),
6595.{
6596 .name = "fno-sanitize-recover=",
6597 .syntax = .comma_joined,
6598 .zig_equivalent = .other,
6599 .pd1 = true,
6600 .pd2 = false,
6601 .psl = false,
6602},
6603joinpd1("fopenmp-target-debug="),
6604joinpd1("fsanitize-ignorelist="),
6605joinpd1("fthinlto-distributor="),
6606joinpd1("fzero-call-used-regs="),
6607jspd1("iframeworkwithsysroot"),
6608joinpd1("mcode-object-version="),
6609joinpd1("mpad-max-prefix-size="),
6610joinpd1("mprefer-vector-width="),
6611joinpd1("msign-return-address="),
6612joinpd1("mwatchos-version-min="),
6613.{
6614 .name = "rocm-device-lib-path=",
6615 .syntax = .joined,
6616 .zig_equivalent = .other,
6617 .pd1 = false,
6618 .pd2 = true,
6619 .psl = false,
6620},
6621.{
6622 .name = "system-header-prefix=",
6623 .syntax = .joined,
6624 .zig_equivalent = .other,
6625 .pd1 = false,
6626 .pd2 = true,
6627 .psl = false,
6628},
6629.{
6630 .name = "include-with-prefix=",
6631 .syntax = .joined,
6632 .zig_equivalent = .other,
6633 .pd1 = false,
6634 .pd2 = true,
6635 .psl = false,
6636},
6637joinpd1("faltivec-src-compat="),
6638.{
6639 .name = "hip-device-lib-path=",
6640 .syntax = .joined,
6641 .zig_equivalent = .other,
6642 .pd1 = false,
6643 .pd2 = true,
6644 .psl = false,
6645},
6646joinpd1("mmacosx-version-min="),
6647joinpd1("coverage-notes-file="),
6648joinpd1("fsanitize-blacklist="),
6649.{
6650 .name = "extract-api-ignores=",
6651 .syntax = .comma_joined,
6652 .zig_equivalent = .other,
6653 .pd1 = false,
6654 .pd2 = true,
6655 .psl = false,
6656},
6657joinpd1("fbuild-session-file="),
6658joinpd1("fcomplex-arithmetic="),
6659joinpd1("fdiagnostics-format="),
6660joinpd1("fgpu-default-stream="),
6661joinpd1("fmax-stack-var-size="),
6662joinpd1("fmemory-profile-use="),
6663joinpd1("fmodules-cache-path="),
6664joinpd1("fmodules-embed-file="),
6665joinpd1("fms-omit-default-lib"),
6666joinpd1("fprofile-instrument="),
6667joinpd1("fprofile-sample-use="),
6668joinpd1("fstrict-flex-arrays="),
6669.{
6670 .name = "hipstdpar-prim-path=",
6671 .syntax = .joined,
6672 .zig_equivalent = .other,
6673 .pd1 = false,
6674 .pd2 = true,
6675 .psl = false,
6676},
6677.{
6678 .name = "no-cuda-include-ptx=",
6679 .syntax = .joined,
6680 .zig_equivalent = .other,
6681 .pd1 = false,
6682 .pd2 = true,
6683 .psl = false,
6684},
6685joinpd1("fwinx64-eh-unwindv2="),
6686joinpd1("Wframe-larger-than="),
6687joinpd1("coverage-data-file="),
6688joinpd1("code-completion-at="),
6689joinpd1("fblas-matmul-limit="),
6690joinpd1("fcrash-diagnostics="),
6691joinpd1("fdiagnostics-color="),
6692joinpd1("femit-dwarf-unwind="),
6693joinpd1("ffixed-line-length="),
6694joinpd1("ffixed-line-length-"),
6695joinpd1("ffuchsia-api-level="),
6696joinpd1("flimited-precision="),
6697.{
6698 .name = "fno-sanitize-merge=",
6699 .syntax = .comma_joined,
6700 .zig_equivalent = .other,
6701 .pd1 = true,
6702 .pd2 = false,
6703 .psl = false,
6704},
6705joinpd1("fprofile-instr-use="),
6706.{
6707 .name = "fsanitize-coverage=",
6708 .syntax = .comma_joined,
6709 .zig_equivalent = .san_cov,
6710 .pd1 = true,
6711 .pd2 = false,
6712 .psl = false,
6713},
6714joinpd1("fthin-link-bitcode="),
6715joinpd1("ftime-trace-verbose"),
6716.{
6717 .name = "gpu-instrument-lib=",
6718 .syntax = .joined,
6719 .zig_equivalent = .other,
6720 .pd1 = false,
6721 .pd2 = true,
6722 .psl = false,
6723},
6724.{
6725 .name = "hipspv-pass-plugin=",
6726 .syntax = .joined,
6727 .zig_equivalent = .other,
6728 .pd1 = false,
6729 .pd2 = true,
6730 .psl = false,
6731},
6732joinpd1("mbranch-protection="),
6733joinpd1("mmacos-version-min="),
6734.{
6735 .name = "output-asm-variant=",
6736 .syntax = .joined,
6737 .zig_equivalent = .other,
6738 .pd1 = false,
6739 .pd2 = true,
6740 .psl = false,
6741},
6742joinpd1("pch-through-header="),
6743joinpd1("target-sdk-version="),
6744.{
6745 .name = "execution-charset:",
6746 .syntax = .joined,
6747 .zig_equivalent = .other,
6748 .pd1 = true,
6749 .pd2 = false,
6750 .psl = true,
6751},
6752.{
6753 .name = "sourceDependencies",
6754 .syntax = .joined_or_separate,
6755 .zig_equivalent = .other,
6756 .pd1 = true,
6757 .pd2 = false,
6758 .psl = true,
6759},
6760.{
6761 .name = "include-directory=",
6762 .syntax = .joined,
6763 .zig_equivalent = .other,
6764 .pd1 = false,
6765 .pd2 = true,
6766 .psl = false,
6767},
6768.{
6769 .name = "library-directory=",
6770 .syntax = .joined,
6771 .zig_equivalent = .lib_dir,
6772 .pd1 = false,
6773 .pd2 = true,
6774 .psl = false,
6775},
6776.{
6777 .name = "config-system-dir=",
6778 .syntax = .joined,
6779 .zig_equivalent = .other,
6780 .pd1 = false,
6781 .pd2 = true,
6782 .psl = false,
6783},
6784joinpd1("fbinutils-version="),
6785joinpd1("fclang-abi-compat="),
6786joinpd1("fcodegen-data-use="),
6787joinpd1("fcompile-resource="),
6788joinpd1("fdebug-prefix-map="),
6789joinpd1("fdenormal-fp-math="),
6790joinpd1("fexcess-precision="),
6791joinpd1("fextend-arguments="),
6792joinpd1("ffree-line-length-"),
6793joinpd1("fmacro-prefix-map="),
6794.{
6795 .name = "fno-sanitize-trap=",
6796 .syntax = .comma_joined,
6797 .zig_equivalent = .no_sanitize_trap,
6798 .pd1 = true,
6799 .pd2 = false,
6800 .psl = false,
6801},
6802joinpd1("fobjc-abi-version="),
6803joinpd1("foutput-class-dir="),
6804joinpd1("fproc-stat-report="),
6805joinpd1("fprofile-generate="),
6806.{
6807 .name = "fsanitize-recover=",
6808 .syntax = .comma_joined,
6809 .zig_equivalent = .other,
6810 .pd1 = true,
6811 .pd2 = false,
6812 .psl = false,
6813},
6814joinpd1("fsymbol-partition="),
6815joinpd1("mcompact-branches="),
6816joinpd1("msmall-data-limit="),
6817joinpd1("mstack-probe-size="),
6818joinpd1("mtvos-version-min="),
6819.{
6820 .name = "offload-arch-tool=",
6821 .syntax = .joined,
6822 .zig_equivalent = .other,
6823 .pd1 = false,
6824 .pd2 = true,
6825 .psl = false,
6826},
6827joinpd1("working-directory="),
6828.{
6829 .name = "amdgpu-arch-tool=",
6830 .syntax = .joined,
6831 .zig_equivalent = .other,
6832 .pd1 = false,
6833 .pd2 = true,
6834 .psl = false,
6835},
6836joinpd1("analyze-function="),
6837joinpd1("analyzer-checker="),
6838joinpd1("coverage-version="),
6839.{
6840 .name = "cuda-include-ptx=",
6841 .syntax = .joined,
6842 .zig_equivalent = .other,
6843 .pd1 = false,
6844 .pd2 = true,
6845 .psl = false,
6846},
6847joinpd1("falign-functions="),
6848joinpd1("fconstexpr-depth="),
6849joinpd1("fconstexpr-steps="),
6850joinpd1("ffile-prefix-map="),
6851joinpd1("fmodule-map-file="),
6852joinpd1("fobjc-arc-cxxlib="),
6853joinpd1("fproc-stat-report"),
6854joinpd1("ftype-visibility="),
6855joinpd1("fwarn-stack-size="),
6856jspd1("iapinotes-modules"),
6857jspd1("iwithprefixbefore"),
6858joinpd1("malign-functions="),
6859joinpd1("mfunction-return="),
6860joinpd1("mios-version-min="),
6861.{
6862 .name = "mno-apx-features=",
6863 .syntax = .comma_joined,
6864 .zig_equivalent = .other,
6865 .pd1 = true,
6866 .pd2 = false,
6867 .psl = false,
6868},
6869joinpd1("mrvv-vector-bits="),
6870joinpd1("mstack-alignment="),
6871joinpd1("msve-vector-bits="),
6872.{
6873 .name = "multi-lib-config=",
6874 .syntax = .joined,
6875 .zig_equivalent = .other,
6876 .pd1 = true,
6877 .pd2 = true,
6878 .psl = false,
6879},
6880joinpd1("mzos-sys-include="),
6881.{
6882 .name = "no-cuda-gpu-arch=",
6883 .syntax = .joined,
6884 .zig_equivalent = .other,
6885 .pd1 = false,
6886 .pd2 = true,
6887 .psl = false,
6888},
6889joinpd1("object-file-name="),
6890.{
6891 .name = "symbol-graph-dir=",
6892 .syntax = .joined,
6893 .zig_equivalent = .other,
6894 .pd1 = false,
6895 .pd2 = true,
6896 .psl = false,
6897},
6898.{
6899 .name = "headerUnit:angle",
6900 .syntax = .joined_or_separate,
6901 .zig_equivalent = .other,
6902 .pd1 = true,
6903 .pd2 = false,
6904 .psl = true,
6905},
6906.{
6907 .name = "headerUnit:quote",
6908 .syntax = .joined_or_separate,
6909 .zig_equivalent = .other,
6910 .pd1 = true,
6911 .pd2 = false,
6912 .psl = true,
6913},
6914joinpd1("analyzer-output="),
6915joinpd1("ftemplate-depth-"),
6916joinpd1("ast-dump-filter="),
6917.{
6918 .name = "config-user-dir=",
6919 .syntax = .joined,
6920 .zig_equivalent = .other,
6921 .pd1 = false,
6922 .pd2 = true,
6923 .psl = false,
6924},
6925joinpd1("debug-info-kind="),
6926joinpd1("debugger-tuning="),
6927joinpd1("exception-model="),
6928joinpd1("fcf-runtime-abi="),
6929joinpd1("ffp-eval-method="),
6930joinpd1("finit-character="),
6931joinpd1("flto-partitions="),
6932joinpd1("fmax-type-align="),
6933joinpd1("fmemory-profile="),
6934joinpd1("fmessage-length="),
6935joinpd1("fms-runtime-lib="),
6936.{
6937 .name = "fopenmp-targets=",
6938 .syntax = .comma_joined,
6939 .zig_equivalent = .other,
6940 .pd1 = true,
6941 .pd2 = false,
6942 .psl = false,
6943},
6944joinpd1("fopenmp-version="),
6945joinpd1("fprofile-update="),
6946.{
6947 .name = "fsanitize-merge=",
6948 .syntax = .comma_joined,
6949 .zig_equivalent = .other,
6950 .pd1 = true,
6951 .pd2 = false,
6952 .psl = false,
6953},
6954joinpd1("fshow-overloads="),
6955joinpd1("fspv-target-env="),
6956joinpd1("fswift-async-fp="),
6957joinpd1("ftemplate-depth="),
6958joinpd1("fxray-attr-list="),
6959.{
6960 .name = "gcc-install-dir=",
6961 .syntax = .joined,
6962 .zig_equivalent = .other,
6963 .pd1 = false,
6964 .pd2 = true,
6965 .psl = false,
6966},
6967joinpd1("mlinker-version="),
6968joinpd1("mxcoff-build-id="),
6969joinpd1("mzos-hlq-csslib="),
6970.{
6971 .name = "no-offload-arch=",
6972 .syntax = .joined,
6973 .zig_equivalent = .other,
6974 .pd1 = false,
6975 .pd2 = true,
6976 .psl = false,
6977},
6978.{
6979 .name = "nvptx-arch-tool=",
6980 .syntax = .joined,
6981 .zig_equivalent = .other,
6982 .pd1 = false,
6983 .pd2 = true,
6984 .psl = false,
6985},
6986.{
6987 .name = "offload-targets=",
6988 .syntax = .comma_joined,
6989 .zig_equivalent = .other,
6990 .pd1 = false,
6991 .pd2 = true,
6992 .psl = false,
6993},
6994.{
6995 .name = "print-file-name=",
6996 .syntax = .joined,
6997 .zig_equivalent = .other,
6998 .pd1 = true,
6999 .pd2 = true,
7000 .psl = false,
7001},
7002.{
7003 .name = "print-prog-name=",
7004 .syntax = .joined,
7005 .zig_equivalent = .other,
7006 .pd1 = true,
7007 .pd2 = true,
7008 .psl = false,
7009},
7010jspd1("reexport_library"),
7011jspd1("stdlib++-isystem"),
7012joinpd1("Rpass-analysis="),
7013.{
7014 .name = "Xoffload-linker",
7015 .syntax = .joined_and_separate,
7016 .zig_equivalent = .other,
7017 .pd1 = true,
7018 .pd2 = false,
7019 .psl = false,
7020},
7021.{
7022 .name = "Xopenmp-target=",
7023 .syntax = .joined_and_separate,
7024 .zig_equivalent = .other,
7025 .pd1 = true,
7026 .pd2 = false,
7027 .psl = false,
7028},
7029.{
7030 .name = "source-charset:",
7031 .syntax = .joined,
7032 .zig_equivalent = .other,
7033 .pd1 = true,
7034 .pd2 = false,
7035 .psl = true,
7036},
7037.{
7038 .name = "analyzer-output",
7039 .syntax = .joined_or_separate,
7040 .zig_equivalent = .other,
7041 .pd1 = false,
7042 .pd2 = true,
7043 .psl = false,
7044},
7045.{
7046 .name = "include-prefix=",
7047 .syntax = .joined,
7048 .zig_equivalent = .other,
7049 .pd1 = false,
7050 .pd2 = true,
7051 .psl = false,
7052},
7053.{
7054 .name = "undefine-macro=",
7055 .syntax = .joined,
7056 .zig_equivalent = .other,
7057 .pd1 = false,
7058 .pd2 = true,
7059 .psl = false,
7060},
7061joinpd1("analyzer-purge="),
7062jspd1("current_version"),
7063joinpd1("fbootclasspath="),
7064joinpd1("fbracket-depth="),
7065joinpd1("fcf-protection="),
7066joinpd1("fdepfile-entry="),
7067joinpd1("fembed-bitcode="),
7068joinpd1("finput-charset="),
7069joinpd1("fmodule-format="),
7070joinpd1("fmodule-header="),
7071joinpd1("fmodule-output="),
7072joinpd1("fms-memptr-rep="),
7073.{
7074 .name = "fmultilib-flag=",
7075 .syntax = .joined,
7076 .zig_equivalent = .other,
7077 .pd1 = true,
7078 .pd2 = true,
7079 .psl = false,
7080},
7081joinpd1("fnew-alignment="),
7082joinpd1("frecord-marker="),
7083.{
7084 .name = "fsanitize-trap=",
7085 .syntax = .comma_joined,
7086 .zig_equivalent = .sanitize_trap,
7087 .pd1 = true,
7088 .pd2 = false,
7089 .psl = false,
7090},
7091joinpd1("fspv-extension="),
7092joinpd1("fthinlto-index="),
7093joinpd1("ftrap-function="),
7094joinpd1("ftrapv-handler="),
7095.{
7096 .name = "funwind-tables=",
7097 .syntax = .joined,
7098 .zig_equivalent = .unwind_tables,
7099 .pd1 = true,
7100 .pd2 = false,
7101 .psl = false,
7102},
7103joinpd1("gen-reproducer="),
7104.{
7105 .name = "hip-device-lib=",
7106 .syntax = .joined,
7107 .zig_equivalent = .other,
7108 .pd1 = false,
7109 .pd2 = true,
7110 .psl = false,
7111},
7112.{
7113 .name = "hipstdpar-path=",
7114 .syntax = .joined,
7115 .zig_equivalent = .other,
7116 .pd1 = false,
7117 .pd2 = true,
7118 .psl = false,
7119},
7120joinpd1("mdynamic-no-pic"),
7121joinpd1("mframe-pointer="),
7122joinpd1("mindirect-jump="),
7123joinpd1("mzos-hlq-clang="),
7124joinpd1("preamble-bytes="),
7125.{
7126 .name = "Wundef-prefix=",
7127 .syntax = .comma_joined,
7128 .zig_equivalent = .other,
7129 .pd1 = true,
7130 .pd2 = false,
7131 .psl = false,
7132},
7133.{
7134 .name = "vctoolsversion",
7135 .syntax = .joined_or_separate,
7136 .zig_equivalent = .other,
7137 .pd1 = true,
7138 .pd2 = false,
7139 .psl = true,
7140},
7141.{
7142 .name = "bootclasspath=",
7143 .syntax = .joined,
7144 .zig_equivalent = .other,
7145 .pd1 = false,
7146 .pd2 = true,
7147 .psl = false,
7148},
7149joinpd1("complex-range="),
7150.{
7151 .name = "cuda-gpu-arch=",
7152 .syntax = .joined,
7153 .zig_equivalent = .other,
7154 .pd1 = false,
7155 .pd2 = true,
7156 .psl = false,
7157},
7158.{
7159 .name = "dependent-lib=",
7160 .syntax = .joined,
7161 .zig_equivalent = .other,
7162 .pd1 = false,
7163 .pd2 = true,
7164 .psl = false,
7165},
7166joinpd1("dwarf-version="),
7167joinpd1("falign-labels="),
7168joinpd1("fauto-profile="),
7169joinpd1("fexec-charset="),
7170joinpd1("fgnuc-version="),
7171joinpd1("finit-integer="),
7172joinpd1("finit-logical="),
7173joinpd1("finline-limit="),
7174joinpd1("fobjc-runtime="),
7175joinpd1("fprofile-list="),
7176.{
7177 .name = "gcc-toolchain=",
7178 .syntax = .joined,
7179 .zig_equivalent = .other,
7180 .pd1 = false,
7181 .pd2 = true,
7182 .psl = false,
7183},
7184.{
7185 .name = "linker-option=",
7186 .syntax = .joined,
7187 .zig_equivalent = .other,
7188 .pd1 = false,
7189 .pd2 = true,
7190 .psl = false,
7191},
7192.{
7193 .name = "malign-branch=",
7194 .syntax = .comma_joined,
7195 .zig_equivalent = .other,
7196 .pd1 = true,
7197 .pd2 = false,
7198 .psl = false,
7199},
7200.{
7201 .name = "mapx-features=",
7202 .syntax = .comma_joined,
7203 .zig_equivalent = .other,
7204 .pd1 = true,
7205 .pd2 = false,
7206 .psl = false,
7207},
7208joinpd1("vtordisp-mode="),
7209joinpd1("Rpass-missed="),
7210joinpd1("Wlarger-than-"),
7211joinpd1("Wlarger-than="),
7212.{
7213 .name = "experimental:",
7214 .syntax = .joined,
7215 .zig_equivalent = .other,
7216 .pd1 = true,
7217 .pd2 = false,
7218 .psl = true,
7219},
7220.{
7221 .name = "external:env:",
7222 .syntax = .joined,
7223 .zig_equivalent = .other,
7224 .pd1 = true,
7225 .pd2 = false,
7226 .psl = true,
7227},
7228.{
7229 .name = "funcoverride:",
7230 .syntax = .joined,
7231 .zig_equivalent = .other,
7232 .pd1 = true,
7233 .pd2 = false,
7234 .psl = true,
7235},
7236.{
7237 .name = "winsdkversion",
7238 .syntax = .joined_or_separate,
7239 .zig_equivalent = .other,
7240 .pd1 = true,
7241 .pd2 = false,
7242 .psl = true,
7243},
7244.{
7245 .name = "define-macro=",
7246 .syntax = .joined,
7247 .zig_equivalent = .other,
7248 .pd1 = false,
7249 .pd2 = true,
7250 .psl = false,
7251},
7252joinpd1("ast-dump-all="),
7253.{
7254 .name = "autocomplete=",
7255 .syntax = .joined,
7256 .zig_equivalent = .other,
7257 .pd1 = false,
7258 .pd2 = true,
7259 .psl = false,
7260},
7261.{
7262 .name = "cuda-feature=",
7263 .syntax = .joined,
7264 .zig_equivalent = .other,
7265 .pd1 = false,
7266 .pd2 = true,
7267 .psl = false,
7268},
7269joinpd1("falign-jumps="),
7270joinpd1("falign-loops="),
7271joinpd1("faligned-new="),
7272joinpd1("ferror-limit="),
7273joinpd1("ffp-contract="),
7274joinpd1("fmodule-file="),
7275joinpd1("fmodule-name="),
7276joinpd1("fmsc-version="),
7277.{
7278 .name = "fno-sanitize=",
7279 .syntax = .comma_joined,
7280 .zig_equivalent = .no_sanitize,
7281 .pd1 = true,
7282 .pd2 = false,
7283 .psl = false,
7284},
7285joinpd1("foffload-lto="),
7286joinpd1("fpack-struct="),
7287joinpd1("fpass-plugin="),
7288joinpd1("fprofile-dir="),
7289joinpd1("fprofile-use="),
7290joinpd1("frandom-seed="),
7291joinpd1("ftime-report="),
7292joinpd1("gsplit-dwarf="),
7293jspd1("isystem-after"),
7294joinpd1("malign-jumps="),
7295joinpd1("malign-loops="),
7296joinpd1("mframe-chain="),
7297joinpd1("mimplicit-it="),
7298joinpd1("mprintf-kind="),
7299joinpd1("mtls-dialect="),
7300.{
7301 .name = "offload-arch=",
7302 .syntax = .comma_joined,
7303 .zig_equivalent = .other,
7304 .pd1 = false,
7305 .pd2 = true,
7306 .psl = false,
7307},
7308.{
7309 .name = "offload-jobs=",
7310 .syntax = .joined,
7311 .zig_equivalent = .other,
7312 .pd1 = false,
7313 .pd2 = true,
7314 .psl = false,
7315},
7316jspd1("pagezero_size"),
7317.{
7318 .name = "product-name=",
7319 .syntax = .joined,
7320 .zig_equivalent = .other,
7321 .pd1 = false,
7322 .pd2 = true,
7323 .psl = false,
7324},
7325joinpd1("resource-dir="),
7326.{
7327 .name = "dynamicdeopt",
7328 .syntax = .joined,
7329 .zig_equivalent = .other,
7330 .pd1 = true,
7331 .pd2 = false,
7332 .psl = true,
7333},
7334.{
7335 .name = "dyld-prefix=",
7336 .syntax = .joined,
7337 .zig_equivalent = .other,
7338 .pd1 = false,
7339 .pd2 = true,
7340 .psl = false,
7341},
7342.{
7343 .name = "driver-mode=",
7344 .syntax = .joined,
7345 .zig_equivalent = .other,
7346 .pd1 = false,
7347 .pd2 = true,
7348 .psl = false,
7349},
7350joinpd1("fmax-errors="),
7351joinpd1("fmax-tokens="),
7352joinpd1("fno-builtin-"),
7353joinpd1("fplugin-arg-"),
7354joinpd1("ftime-trace="),
7355joinpd1("fvisibility="),
7356joinpd1("fwchar-type="),
7357joinpd1("fxray-modes="),
7358.{
7359 .name = "hip-version=",
7360 .syntax = .joined,
7361 .zig_equivalent = .other,
7362 .pd1 = false,
7363 .pd2 = true,
7364 .psl = false,
7365},
7366jspd1("iwithsysroot"),
7367.{
7368 .name = "mexec-model=",
7369 .syntax = .joined,
7370 .zig_equivalent = .exec_model,
7371 .pd1 = true,
7372 .pd2 = false,
7373 .psl = false,
7374},
7375joinpd1("mharden-sls="),
7376joinpd1("mhvx-length="),
7377.{
7378 .name = "mno-tocdata=",
7379 .syntax = .comma_joined,
7380 .zig_equivalent = .other,
7381 .pd1 = true,
7382 .pd2 = false,
7383 .psl = false,
7384},
7385joinpd1("mvscale-max="),
7386joinpd1("mvscale-min="),
7387joinpd1("mzos-hlq-le="),
7388joinpd1("mzos-target="),
7389.{
7390 .name = "rsp-quoting=",
7391 .syntax = .joined,
7392 .zig_equivalent = .other,
7393 .pd1 = false,
7394 .pd2 = true,
7395 .psl = false,
7396},
7397joinpd1("std-default="),
7398jspd1("sub_umbrella"),
7399.{
7400 .name = "Qpar-report",
7401 .syntax = .joined,
7402 .zig_equivalent = .other,
7403 .pd1 = true,
7404 .pd2 = false,
7405 .psl = true,
7406},
7407.{
7408 .name = "Qvec-report",
7409 .syntax = .joined,
7410 .zig_equivalent = .other,
7411 .pd1 = true,
7412 .pd2 = false,
7413 .psl = true,
7414},
7415.{
7416 .name = "errorReport",
7417 .syntax = .joined,
7418 .zig_equivalent = .other,
7419 .pd1 = true,
7420 .pd2 = false,
7421 .psl = true,
7422},
7423.{
7424 .name = "headerName:",
7425 .syntax = .joined,
7426 .zig_equivalent = .other,
7427 .pd1 = true,
7428 .pd2 = false,
7429 .psl = true,
7430},
7431.{
7432 .name = "for-linker=",
7433 .syntax = .joined,
7434 .zig_equivalent = .for_linker,
7435 .pd1 = false,
7436 .pd2 = true,
7437 .psl = false,
7438},
7439.{
7440 .name = "force-link=",
7441 .syntax = .joined,
7442 .zig_equivalent = .other,
7443 .pd1 = false,
7444 .pd2 = true,
7445 .psl = false,
7446},
7447jspd1("client_name"),
7448jspd1("cxx-isystem"),
7449joinpd1("fclasspath="),
7450joinpd1("finit-real="),
7451joinpd1("fforce-addr"),
7452joinpd1("ftls-model="),
7453.{
7454 .name = "gcc-triple=",
7455 .syntax = .joined,
7456 .zig_equivalent = .other,
7457 .pd1 = false,
7458 .pd2 = true,
7459 .psl = false,
7460},
7461joinpd1("inline-asm="),
7462jspd1("ivfsoverlay"),
7463jspd1("iwithprefix"),
7464joinpd1("mfloat-abi="),
7465.{
7466 .name = "plugin-arg-",
7467 .syntax = .joined_and_separate,
7468 .zig_equivalent = .other,
7469 .pd1 = true,
7470 .pd2 = false,
7471 .psl = false,
7472},
7473.{
7474 .name = "ptxas-path=",
7475 .syntax = .joined,
7476 .zig_equivalent = .other,
7477 .pd1 = false,
7478 .pd2 = true,
7479 .psl = false,
7480},
7481.{
7482 .name = "save-stats=",
7483 .syntax = .joined,
7484 .zig_equivalent = .other,
7485 .pd1 = true,
7486 .pd2 = true,
7487 .psl = false,
7488},
7489.{
7490 .name = "save-temps=",
7491 .syntax = .joined,
7492 .zig_equivalent = .other,
7493 .pd1 = true,
7494 .pd2 = true,
7495 .psl = false,
7496},
7497joinpd1("stats-file="),
7498jspd1("sub_library"),
7499.{
7500 .name = "CLASSPATH=",
7501 .syntax = .joined,
7502 .zig_equivalent = .other,
7503 .pd1 = false,
7504 .pd2 = true,
7505 .psl = false,
7506},
7507.{
7508 .name = "constexpr:",
7509 .syntax = .joined,
7510 .zig_equivalent = .other,
7511 .pd1 = true,
7512 .pd2 = false,
7513 .psl = true,
7514},
7515.{
7516 .name = "external:I",
7517 .syntax = .joined_or_separate,
7518 .zig_equivalent = .other,
7519 .pd1 = true,
7520 .pd2 = false,
7521 .psl = true,
7522},
7523.{
7524 .name = "headerUnit",
7525 .syntax = .joined_or_separate,
7526 .zig_equivalent = .other,
7527 .pd1 = true,
7528 .pd2 = false,
7529 .psl = true,
7530},
7531.{
7532 .name = "vctoolsdir",
7533 .syntax = .joined_or_separate,
7534 .zig_equivalent = .other,
7535 .pd1 = true,
7536 .pd2 = false,
7537 .psl = true,
7538},
7539.{
7540 .name = "winsysroot",
7541 .syntax = .joined_or_separate,
7542 .zig_equivalent = .other,
7543 .pd1 = true,
7544 .pd2 = false,
7545 .psl = true,
7546},
7547.{
7548 .name = "classpath=",
7549 .syntax = .joined,
7550 .zig_equivalent = .other,
7551 .pd1 = false,
7552 .pd2 = true,
7553 .psl = false,
7554},
7555.{
7556 .name = "cuda-path=",
7557 .syntax = .joined,
7558 .zig_equivalent = .other,
7559 .pd1 = false,
7560 .pd2 = true,
7561 .psl = false,
7562},
7563.{
7564 .name = "embed-dir=",
7565 .syntax = .joined,
7566 .zig_equivalent = .other,
7567 .pd1 = false,
7568 .pd2 = true,
7569 .psl = false,
7570},
7571joinpd1("fencoding="),
7572joinpd1("ffp-model="),
7573joinpd1("ffpe-trap="),
7574joinpd1("flto-jobs="),
7575.{
7576 .name = "fsanitize=",
7577 .syntax = .comma_joined,
7578 .zig_equivalent = .sanitize,
7579 .pd1 = true,
7580 .pd2 = false,
7581 .psl = false,
7582},
7583joinpd1("fuse-cuid="),
7584joinpd1("fuse-lipo="),
7585joinpd1("gsrc-hash="),
7586jspd1("iframework"),
7587jspd1("module-dir"),
7588joinpd1("mtargetos="),
7589joinpd1("mtls-size="),
7590joinpd1("reexport-l"),
7591.{
7592 .name = "rocm-path=",
7593 .syntax = .joined,
7594 .zig_equivalent = .other,
7595 .pd1 = false,
7596 .pd2 = true,
7597 .psl = false,
7598},
7599joinpd1("segs_read_"),
7600.{
7601 .name = "unwindlib=",
7602 .syntax = .joined,
7603 .zig_equivalent = .other,
7604 .pd1 = true,
7605 .pd2 = true,
7606 .psl = false,
7607},
7608.{
7609 .name = "vfsoverlay",
7610 .syntax = .joined_or_separate,
7611 .zig_equivalent = .other,
7612 .pd1 = true,
7613 .pd2 = true,
7614 .psl = false,
7615},
7616.{
7617 .name = "cgthreads",
7618 .syntax = .joined,
7619 .zig_equivalent = .other,
7620 .pd1 = true,
7621 .pd2 = false,
7622 .psl = true,
7623},
7624.{
7625 .name = "diasdkdir",
7626 .syntax = .joined_or_separate,
7627 .zig_equivalent = .other,
7628 .pd1 = true,
7629 .pd2 = false,
7630 .psl = true,
7631},
7632.{
7633 .name = "external:",
7634 .syntax = .joined,
7635 .zig_equivalent = .other,
7636 .pd1 = true,
7637 .pd2 = false,
7638 .psl = true,
7639},
7640.{
7641 .name = "reference",
7642 .syntax = .joined_or_separate,
7643 .zig_equivalent = .other,
7644 .pd1 = true,
7645 .pd2 = false,
7646 .psl = true,
7647},
7648.{
7649 .name = "winsdkdir",
7650 .syntax = .joined_or_separate,
7651 .zig_equivalent = .other,
7652 .pd1 = true,
7653 .pd2 = false,
7654 .psl = true,
7655},
7656.{
7657 .name = "encoding=",
7658 .syntax = .joined,
7659 .zig_equivalent = .other,
7660 .pd1 = false,
7661 .pd2 = true,
7662 .psl = false,
7663},
7664.{
7665 .name = "language=",
7666 .syntax = .joined,
7667 .zig_equivalent = .other,
7668 .pd1 = false,
7669 .pd2 = true,
7670 .psl = false,
7671},
7672.{
7673 .name = "optimize=",
7674 .syntax = .joined,
7675 .zig_equivalent = .optimize,
7676 .pd1 = false,
7677 .pd2 = true,
7678 .psl = false,
7679},
7680.{
7681 .name = "resource=",
7682 .syntax = .joined,
7683 .zig_equivalent = .other,
7684 .pd1 = false,
7685 .pd2 = true,
7686 .psl = false,
7687},
7688joinpd1("Xclangas="),
7689joinpd1("ast-dump="),
7690.{
7691 .name = "dxv-path=",
7692 .syntax = .joined,
7693 .zig_equivalent = .other,
7694 .pd1 = false,
7695 .pd2 = true,
7696 .psl = false,
7697},
7698joinpd1("fcoarray="),
7699joinpd1("fconvert="),
7700joinpd1("fc++-abi="),
7701joinpd1("fextdirs="),
7702joinpd1("ftabstop="),
7703.{
7704 .name = "hip-path=",
7705 .syntax = .joined,
7706 .zig_equivalent = .other,
7707 .pd1 = false,
7708 .pd2 = true,
7709 .psl = false,
7710},
7711jspd1("idirafter"),
7712joinpd1("mregparm="),
7713.{
7714 .name = "mtocdata=",
7715 .syntax = .comma_joined,
7716 .zig_equivalent = .other,
7717 .pd1 = true,
7718 .pd2 = false,
7719 .psl = false,
7720},
7721joinpd1("sycl-std="),
7722.{
7723 .name = "undefined",
7724 .syntax = .joined_or_separate,
7725 .zig_equivalent = .undefined,
7726 .pd1 = true,
7727 .pd2 = false,
7728 .psl = false,
7729},
7730.{
7731 .name = "extdirs=",
7732 .syntax = .joined,
7733 .zig_equivalent = .other,
7734 .pd1 = false,
7735 .pd2 = true,
7736 .psl = false,
7737},
7738.{
7739 .name = "imacros=",
7740 .syntax = .joined,
7741 .zig_equivalent = .other,
7742 .pd1 = false,
7743 .pd2 = true,
7744 .psl = false,
7745},
7746.{
7747 .name = "include=",
7748 .syntax = .joined,
7749 .zig_equivalent = .other,
7750 .pd1 = false,
7751 .pd2 = true,
7752 .psl = false,
7753},
7754.{
7755 .name = "sysroot=",
7756 .syntax = .joined,
7757 .zig_equivalent = .sysroot,
7758 .pd1 = false,
7759 .pd2 = true,
7760 .psl = false,
7761},
7762jspd1("dsym-dir"),
7763joinpd1("fopenmp="),
7764joinpd1("fplugin="),
7765joinpd1("fuse-ld="),
7766joinpd1("fveclib="),
7767jspd1("isysroot"),
7768.{
7769 .name = "ld-path=",
7770 .syntax = .joined,
7771 .zig_equivalent = .other,
7772 .pd1 = false,
7773 .pd2 = true,
7774 .psl = false,
7775},
7776joinpd1("mcmodel="),
7777joinpd1("mconsole"),
7778joinpd1("mdouble="),
7779joinpd1("mfpmath="),
7780joinpd1("mhwmult="),
7781joinpd1("mthreads"),
7782.{
7783 .name = "municode",
7784 .syntax = .joined,
7785 .zig_equivalent = .mingw_unicode_entry_point,
7786 .pd1 = true,
7787 .pd2 = false,
7788 .psl = false,
7789},
7790joinpd1("mwindows"),
7791.{
7792 .name = "offload=",
7793 .syntax = .comma_joined,
7794 .zig_equivalent = .other,
7795 .pd1 = false,
7796 .pd2 = true,
7797 .psl = false,
7798},
7799jspd1("seg1addr"),
7800.{
7801 .name = "assert=",
7802 .syntax = .joined,
7803 .zig_equivalent = .other,
7804 .pd1 = false,
7805 .pd2 = true,
7806 .psl = false,
7807},
7808.{
7809 .name = "mhwdiv=",
7810 .syntax = .joined,
7811 .zig_equivalent = .other,
7812 .pd1 = false,
7813 .pd2 = true,
7814 .psl = false,
7815},
7816.{
7817 .name = "output=",
7818 .syntax = .joined,
7819 .zig_equivalent = .other,
7820 .pd1 = false,
7821 .pd2 = true,
7822 .psl = false,
7823},
7824.{
7825 .name = "prefix=",
7826 .syntax = .joined,
7827 .zig_equivalent = .other,
7828 .pd1 = false,
7829 .pd2 = true,
7830 .psl = false,
7831},
7832joinpd1("Xclang="),
7833.{
7834 .name = "cl-ext=",
7835 .syntax = .comma_joined,
7836 .zig_equivalent = .other,
7837 .pd1 = true,
7838 .pd2 = false,
7839 .psl = false,
7840},
7841joinpd1("cl-std="),
7842.{
7843 .name = "config=",
7844 .syntax = .joined,
7845 .zig_equivalent = .other,
7846 .pd1 = false,
7847 .pd2 = true,
7848 .psl = false,
7849},
7850joinpd1("fcheck="),
7851.{
7852 .name = "imacros",
7853 .syntax = .joined_or_separate,
7854 .zig_equivalent = .other,
7855 .pd1 = true,
7856 .pd2 = true,
7857 .psl = false,
7858},
7859.{
7860 .name = "include",
7861 .syntax = .joined_or_separate,
7862 .zig_equivalent = .other,
7863 .pd1 = true,
7864 .pd2 = true,
7865 .psl = false,
7866},
7867jspd1("iprefix"),
7868jspd1("isystem"),
7869joinpd1("marm64x"),
7870joinpd1("mguard="),
7871joinpd1("mhwdiv="),
7872joinpd1("moslib="),
7873.{
7874 .name = "mrecip=",
7875 .syntax = .comma_joined,
7876 .zig_equivalent = .other,
7877 .pd1 = true,
7878 .pd2 = false,
7879 .psl = false,
7880},
7881.{
7882 .name = "stdlib=",
7883 .syntax = .joined,
7884 .zig_equivalent = .other,
7885 .pd1 = true,
7886 .pd2 = true,
7887 .psl = false,
7888},
7889.{
7890 .name = "target=",
7891 .syntax = .joined,
7892 .zig_equivalent = .target,
7893 .pd1 = false,
7894 .pd2 = true,
7895 .psl = false,
7896},
7897joinpd1("triple="),
7898.{
7899 .name = "verify=",
7900 .syntax = .comma_joined,
7901 .zig_equivalent = .other,
7902 .pd1 = true,
7903 .pd2 = false,
7904 .psl = false,
7905},
7906joinpd1("Rpass="),
7907.{
7908 .name = "Xarch_",
7909 .syntax = .joined_and_separate,
7910 .zig_equivalent = .other,
7911 .pd1 = true,
7912 .pd2 = false,
7913 .psl = false,
7914},
7915.{
7916 .name = "await:",
7917 .syntax = .joined,
7918 .zig_equivalent = .other,
7919 .pd1 = true,
7920 .pd2 = false,
7921 .psl = true,
7922},
7923.{
7924 .name = "clang:",
7925 .syntax = .joined,
7926 .zig_equivalent = .other,
7927 .pd1 = true,
7928 .pd2 = false,
7929 .psl = true,
7930},
7931.{
7932 .name = "guard:",
7933 .syntax = .joined,
7934 .zig_equivalent = .other,
7935 .pd1 = true,
7936 .pd2 = false,
7937 .psl = true,
7938},
7939.{
7940 .name = "debug=",
7941 .syntax = .joined,
7942 .zig_equivalent = .debug,
7943 .pd1 = false,
7944 .pd2 = true,
7945 .psl = false,
7946},
7947.{
7948 .name = "param=",
7949 .syntax = .joined,
7950 .zig_equivalent = .other,
7951 .pd1 = false,
7952 .pd2 = true,
7953 .psl = false,
7954},
7955.{
7956 .name = "warn-=",
7957 .syntax = .joined,
7958 .zig_equivalent = .other,
7959 .pd1 = false,
7960 .pd2 = true,
7961 .psl = false,
7962},
7963joinpd1("mllvm="),
7964joinpd1("fixit="),
7965joinpd1("gstabs"),
7966joinpd1("gxcoff"),
7967jspd1("iquote"),
7968.{
7969 .name = "march=",
7970 .syntax = .joined,
7971 .zig_equivalent = .mcpu,
7972 .pd1 = true,
7973 .pd2 = false,
7974 .psl = false,
7975},
7976joinpd1("msimd="),
7977.{
7978 .name = "mtune=",
7979 .syntax = .joined,
7980 .zig_equivalent = .mcpu,
7981 .pd1 = true,
7982 .pd2 = false,
7983 .psl = false,
7984},
7985.{
7986 .name = "rtlib=",
7987 .syntax = .joined,
7988 .zig_equivalent = .rtlib,
7989 .pd1 = true,
7990 .pd2 = true,
7991 .psl = false,
7992},
7993.{
7994 .name = "specs=",
7995 .syntax = .joined,
7996 .zig_equivalent = .other,
7997 .pd1 = true,
7998 .pd2 = true,
7999 .psl = false,
8000},
8001.{
8002 .name = "weak-l",
8003 .syntax = .joined,
8004 .zig_equivalent = .weak_library,
8005 .pd1 = true,
8006 .pd2 = false,
8007 .psl = false,
8008},
8009.{
8010 .name = "Ofast",
8011 .syntax = .flag,
8012 .zig_equivalent = .optimize,
8013 .pd1 = true,
8014 .pd2 = false,
8015 .psl = false,
8016},
8017.{
8018 .name = "arch:",
8019 .syntax = .joined,
8020 .zig_equivalent = .other,
8021 .pd1 = true,
8022 .pd2 = false,
8023 .psl = true,
8024},
8025.{
8026 .name = "favor",
8027 .syntax = .joined,
8028 .zig_equivalent = .other,
8029 .pd1 = true,
8030 .pd2 = false,
8031 .psl = true,
8032},
8033.{
8034 .name = "imsvc",
8035 .syntax = .joined_or_separate,
8036 .zig_equivalent = .other,
8037 .pd1 = true,
8038 .pd2 = false,
8039 .psl = true,
8040},
8041.{
8042 .name = "tune:",
8043 .syntax = .joined,
8044 .zig_equivalent = .other,
8045 .pd1 = true,
8046 .pd2 = false,
8047 .psl = true,
8048},
8049.{
8050 .name = "warn-",
8051 .syntax = .joined,
8052 .zig_equivalent = .other,
8053 .pd1 = false,
8054 .pd2 = true,
8055 .psl = false,
8056},
8057joinpd1("cuid="),
8058.{
8059 .name = "flto=",
8060 .syntax = .joined,
8061 .zig_equivalent = .lto,
8062 .pd1 = true,
8063 .pd2 = false,
8064 .psl = false,
8065},
8066joinpd1("gcoff"),
8067joinpd1("mabi="),
8068joinpd1("mabs="),
8069joinpd1("masm="),
8070.{
8071 .name = "mcpu=",
8072 .syntax = .joined,
8073 .zig_equivalent = .mcpu,
8074 .pd1 = true,
8075 .pd2 = false,
8076 .psl = false,
8077},
8078joinpd1("mfpu="),
8079joinpd1("mhvx="),
8080joinpd1("mmcu="),
8081joinpd1("mnan="),
8082.{
8083 .name = "link",
8084 .syntax = .remaining_args_joined,
8085 .zig_equivalent = .other,
8086 .pd1 = true,
8087 .pd2 = false,
8088 .psl = true,
8089},
8090.{
8091 .name = "std:",
8092 .syntax = .joined,
8093 .zig_equivalent = .other,
8094 .pd1 = true,
8095 .pd2 = false,
8096 .psl = true,
8097},
8098joinpd1("ccc-"),
8099joinpd1("gvms"),
8100joinpd1("mdll"),
8101joinpd1("mtp="),
8102.{
8103 .name = "std=",
8104 .syntax = .joined,
8105 .zig_equivalent = .other,
8106 .pd1 = true,
8107 .pd2 = true,
8108 .psl = false,
8109},
8110.{
8111 .name = "Wa,",
8112 .syntax = .comma_joined,
8113 .zig_equivalent = .other,
8114 .pd1 = true,
8115 .pd2 = false,
8116 .psl = false,
8117},
8118.{
8119 .name = "Wl,",
8120 .syntax = .comma_joined,
8121 .zig_equivalent = .wl,
8122 .pd1 = true,
8123 .pd2 = false,
8124 .psl = false,
8125},
8126.{
8127 .name = "Wp,",
8128 .syntax = .comma_joined,
8129 .zig_equivalent = .wp,
8130 .pd1 = true,
8131 .pd2 = false,
8132 .psl = false,
8133},
8134.{
8135 .name = "Fe:",
8136 .syntax = .joined_or_separate,
8137 .zig_equivalent = .other,
8138 .pd1 = true,
8139 .pd2 = false,
8140 .psl = true,
8141},
8142.{
8143 .name = "Fi:",
8144 .syntax = .joined_or_separate,
8145 .zig_equivalent = .other,
8146 .pd1 = true,
8147 .pd2 = false,
8148 .psl = true,
8149},
8150.{
8151 .name = "Fo:",
8152 .syntax = .joined_or_separate,
8153 .zig_equivalent = .other,
8154 .pd1 = true,
8155 .pd2 = false,
8156 .psl = true,
8157},
8158.{
8159 .name = "Fp:",
8160 .syntax = .joined_or_separate,
8161 .zig_equivalent = .other,
8162 .pd1 = true,
8163 .pd2 = false,
8164 .psl = true,
8165},
8166.{
8167 .name = "RTC",
8168 .syntax = .joined,
8169 .zig_equivalent = .other,
8170 .pd1 = true,
8171 .pd2 = false,
8172 .psl = true,
8173},
8174.{
8175 .name = "Zc:",
8176 .syntax = .joined,
8177 .zig_equivalent = .other,
8178 .pd1 = true,
8179 .pd2 = false,
8180 .psl = true,
8181},
8182.{
8183 .name = "clr",
8184 .syntax = .joined,
8185 .zig_equivalent = .other,
8186 .pd1 = true,
8187 .pd2 = false,
8188 .psl = true,
8189},
8190.{
8191 .name = "doc",
8192 .syntax = .joined,
8193 .zig_equivalent = .other,
8194 .pd1 = true,
8195 .pd2 = false,
8196 .psl = true,
8197},
8198joinpd1("gz="),
8199joinpd1("A-"),
8200joinpd1("G="),
8201.{
8202 .name = "MF",
8203 .syntax = .joined_or_separate,
8204 .zig_equivalent = .dep_file,
8205 .pd1 = true,
8206 .pd2 = false,
8207 .psl = false,
8208},
8209.{
8210 .name = "MJ",
8211 .syntax = .joined_or_separate,
8212 .zig_equivalent = .dep_file,
8213 .pd1 = true,
8214 .pd2 = false,
8215 .psl = false,
8216},
8217.{
8218 .name = "MQ",
8219 .syntax = .joined_or_separate,
8220 .zig_equivalent = .dep_file,
8221 .pd1 = true,
8222 .pd2 = false,
8223 .psl = false,
8224},
8225.{
8226 .name = "MT",
8227 .syntax = .joined_or_separate,
8228 .zig_equivalent = .dep_file,
8229 .pd1 = true,
8230 .pd2 = false,
8231 .psl = false,
8232},
8233.{
8234 .name = "AI",
8235 .syntax = .joined_or_separate,
8236 .zig_equivalent = .other,
8237 .pd1 = true,
8238 .pd2 = false,
8239 .psl = true,
8240},
8241.{
8242 .name = "EH",
8243 .syntax = .joined,
8244 .zig_equivalent = .other,
8245 .pd1 = true,
8246 .pd2 = false,
8247 .psl = true,
8248},
8249.{
8250 .name = "FA",
8251 .syntax = .joined,
8252 .zig_equivalent = .other,
8253 .pd1 = true,
8254 .pd2 = false,
8255 .psl = true,
8256},
8257.{
8258 .name = "FI",
8259 .syntax = .joined_or_separate,
8260 .zig_equivalent = .other,
8261 .pd1 = true,
8262 .pd2 = false,
8263 .psl = true,
8264},
8265.{
8266 .name = "FR",
8267 .syntax = .joined,
8268 .zig_equivalent = .other,
8269 .pd1 = true,
8270 .pd2 = false,
8271 .psl = true,
8272},
8273.{
8274 .name = "FU",
8275 .syntax = .joined_or_separate,
8276 .zig_equivalent = .other,
8277 .pd1 = true,
8278 .pd2 = false,
8279 .psl = true,
8280},
8281.{
8282 .name = "Fa",
8283 .syntax = .joined,
8284 .zig_equivalent = .other,
8285 .pd1 = true,
8286 .pd2 = false,
8287 .psl = true,
8288},
8289.{
8290 .name = "Fd",
8291 .syntax = .joined,
8292 .zig_equivalent = .other,
8293 .pd1 = true,
8294 .pd2 = false,
8295 .psl = true,
8296},
8297.{
8298 .name = "Fe",
8299 .syntax = .joined,
8300 .zig_equivalent = .other,
8301 .pd1 = true,
8302 .pd2 = false,
8303 .psl = true,
8304},
8305.{
8306 .name = "Fi",
8307 .syntax = .joined,
8308 .zig_equivalent = .other,
8309 .pd1 = true,
8310 .pd2 = false,
8311 .psl = true,
8312},
8313.{
8314 .name = "Fm",
8315 .syntax = .joined,
8316 .zig_equivalent = .other,
8317 .pd1 = true,
8318 .pd2 = false,
8319 .psl = true,
8320},
8321.{
8322 .name = "Fo",
8323 .syntax = .joined,
8324 .zig_equivalent = .other,
8325 .pd1 = true,
8326 .pd2 = false,
8327 .psl = true,
8328},
8329.{
8330 .name = "Fp",
8331 .syntax = .joined,
8332 .zig_equivalent = .other,
8333 .pd1 = true,
8334 .pd2 = false,
8335 .psl = true,
8336},
8337.{
8338 .name = "Fr",
8339 .syntax = .joined,
8340 .zig_equivalent = .other,
8341 .pd1 = true,
8342 .pd2 = false,
8343 .psl = true,
8344},
8345.{
8346 .name = "Gs",
8347 .syntax = .joined,
8348 .zig_equivalent = .other,
8349 .pd1 = true,
8350 .pd2 = false,
8351 .psl = true,
8352},
8353.{
8354 .name = "MP",
8355 .syntax = .joined,
8356 .zig_equivalent = .dep_file,
8357 .pd1 = true,
8358 .pd2 = false,
8359 .psl = true,
8360},
8361.{
8362 .name = "Tc",
8363 .syntax = .joined_or_separate,
8364 .zig_equivalent = .other,
8365 .pd1 = true,
8366 .pd2 = false,
8367 .psl = true,
8368},
8369.{
8370 .name = "Tp",
8371 .syntax = .joined_or_separate,
8372 .zig_equivalent = .other,
8373 .pd1 = true,
8374 .pd2 = false,
8375 .psl = true,
8376},
8377.{
8378 .name = "Wv",
8379 .syntax = .joined,
8380 .zig_equivalent = .other,
8381 .pd1 = true,
8382 .pd2 = false,
8383 .psl = true,
8384},
8385.{
8386 .name = "Yc",
8387 .syntax = .joined,
8388 .zig_equivalent = .other,
8389 .pd1 = true,
8390 .pd2 = false,
8391 .psl = true,
8392},
8393.{
8394 .name = "Yl",
8395 .syntax = .joined,
8396 .zig_equivalent = .other,
8397 .pd1 = true,
8398 .pd2 = false,
8399 .psl = true,
8400},
8401.{
8402 .name = "Yu",
8403 .syntax = .joined,
8404 .zig_equivalent = .other,
8405 .pd1 = true,
8406 .pd2 = false,
8407 .psl = true,
8408},
8409.{
8410 .name = "ZW",
8411 .syntax = .joined,
8412 .zig_equivalent = .other,
8413 .pd1 = true,
8414 .pd2 = false,
8415 .psl = true,
8416},
8417.{
8418 .name = "Zm",
8419 .syntax = .joined,
8420 .zig_equivalent = .other,
8421 .pd1 = true,
8422 .pd2 = false,
8423 .psl = true,
8424},
8425.{
8426 .name = "Zp",
8427 .syntax = .joined,
8428 .zig_equivalent = .other,
8429 .pd1 = true,
8430 .pd2 = false,
8431 .psl = true,
8432},
8433.{
8434 .name = "d1",
8435 .syntax = .joined,
8436 .zig_equivalent = .other,
8437 .pd1 = true,
8438 .pd2 = false,
8439 .psl = true,
8440},
8441.{
8442 .name = "d2",
8443 .syntax = .joined,
8444 .zig_equivalent = .other,
8445 .pd1 = true,
8446 .pd2 = false,
8447 .psl = true,
8448},
8449.{
8450 .name = "vd",
8451 .syntax = .joined,
8452 .zig_equivalent = .other,
8453 .pd1 = true,
8454 .pd2 = false,
8455 .psl = true,
8456},
8457.{
8458 .name = "wd",
8459 .syntax = .joined,
8460 .zig_equivalent = .other,
8461 .pd1 = true,
8462 .pd2 = false,
8463 .psl = true,
8464},
8465.{
8466 .name = "Fc",
8467 .syntax = .joined_or_separate,
8468 .zig_equivalent = .other,
8469 .pd1 = true,
8470 .pd2 = false,
8471 .psl = true,
8472},
8473.{
8474 .name = "Fo",
8475 .syntax = .joined_or_separate,
8476 .zig_equivalent = .other,
8477 .pd1 = true,
8478 .pd2 = false,
8479 .psl = true,
8480},
8481jspd1("A"),
8482jspd1("B"),
8483jspd1("D"),
8484.{
8485 .name = "F",
8486 .syntax = .joined_or_separate,
8487 .zig_equivalent = .framework_dir,
8488 .pd1 = true,
8489 .pd2 = false,
8490 .psl = false,
8491},
8492jspd1("G"),
8493jspd1("I"),
8494jspd1("J"),
8495.{
8496 .name = "L",
8497 .syntax = .joined_or_separate,
8498 .zig_equivalent = .lib_dir,
8499 .pd1 = true,
8500 .pd2 = false,
8501 .psl = false,
8502},
8503.{
8504 .name = "O",
8505 .syntax = .joined,
8506 .zig_equivalent = .optimize,
8507 .pd1 = true,
8508 .pd2 = false,
8509 .psl = false,
8510},
8511joinpd1("R"),
8512.{
8513 .name = "T",
8514 .syntax = .joined_or_separate,
8515 .zig_equivalent = .linker_script,
8516 .pd1 = true,
8517 .pd2 = false,
8518 .psl = false,
8519},
8520jspd1("U"),
8521jspd1("V"),
8522joinpd1("W"),
8523.{
8524 .name = "D",
8525 .syntax = .joined_or_separate,
8526 .zig_equivalent = .other,
8527 .pd1 = true,
8528 .pd2 = false,
8529 .psl = true,
8530},
8531.{
8532 .name = "F",
8533 .syntax = .joined_or_separate,
8534 .zig_equivalent = .framework_dir,
8535 .pd1 = true,
8536 .pd2 = false,
8537 .psl = true,
8538},
8539.{
8540 .name = "I",
8541 .syntax = .joined_or_separate,
8542 .zig_equivalent = .other,
8543 .pd1 = true,
8544 .pd2 = false,
8545 .psl = true,
8546},
8547.{
8548 .name = "O",
8549 .syntax = .joined,
8550 .zig_equivalent = .optimize,
8551 .pd1 = true,
8552 .pd2 = false,
8553 .psl = true,
8554},
8555.{
8556 .name = "U",
8557 .syntax = .joined_or_separate,
8558 .zig_equivalent = .other,
8559 .pd1 = true,
8560 .pd2 = false,
8561 .psl = true,
8562},
8563.{
8564 .name = "o",
8565 .syntax = .joined_or_separate,
8566 .zig_equivalent = .o,
8567 .pd1 = true,
8568 .pd2 = false,
8569 .psl = true,
8570},
8571.{
8572 .name = "w",
8573 .syntax = .joined,
8574 .zig_equivalent = .other,
8575 .pd1 = true,
8576 .pd2 = false,
8577 .psl = true,
8578},
8579jspd1("b"),
8580joinpd1("d"),
8581.{
8582 .name = "l",
8583 .syntax = .joined_or_separate,
8584 .zig_equivalent = .l,
8585 .pd1 = true,
8586 .pd2 = false,
8587 .psl = false,
8588},
8589.{
8590 .name = "o",
8591 .syntax = .joined_or_separate,
8592 .zig_equivalent = .o,
8593 .pd1 = true,
8594 .pd2 = false,
8595 .psl = false,
8596},
8597.{
8598 .name = "T",
8599 .syntax = .joined_or_separate,
8600 .zig_equivalent = .linker_script,
8601 .pd1 = true,
8602 .pd2 = false,
8603 .psl = true,
8604},
8605.{
8606 .name = "u",
8607 .syntax = .joined_or_separate,
8608 .zig_equivalent = .force_undefined_symbol,
8609 .pd1 = true,
8610 .pd2 = false,
8611 .psl = false,
8612},
8613.{
8614 .name = "x",
8615 .syntax = .joined_or_separate,
8616 .zig_equivalent = .x,
8617 .pd1 = true,
8618 .pd2 = false,
8619 .psl = false,
8620},
8621joinpd1("y"),
8622};};
src/main.zig+10-98
......@@ -6042,11 +6042,9 @@ fn initArgIteratorResponseFile(allocator: Allocator, io: Io, resp_file_path: []c
60426042 return ArgIteratorResponseFile.initTakeOwnership(allocator, cmd_line);
60436043}
60446044
6045const clang_args = @import("clang_options.zig").list;
6046
60476045pub const ClangArgIterator = struct {
60486046 has_next: bool,
6049 zig_equivalent: ZigEquivalent,
6047 zig_equivalent: std.zig.ClangCliParam.ZigEquivalent,
60506048 only_arg: []const u8,
60516049 second_arg: []const u8,
60526050 other_args: []const []const u8,
......@@ -6056,94 +6054,6 @@ pub const ClangArgIterator = struct {
60566054 arg_iterator_response_file: ArgIteratorResponseFile,
60576055 arena: Allocator,
60586056
6059 pub const ZigEquivalent = enum {
6060 target,
6061 o,
6062 c,
6063 r,
6064 m,
6065 x,
6066 other,
6067 positional,
6068 l,
6069 ignore,
6070 driver_punt,
6071 pic,
6072 no_pic,
6073 pie,
6074 no_pie,
6075 lto,
6076 no_lto,
6077 unwind_tables,
6078 no_unwind_tables,
6079 asynchronous_unwind_tables,
6080 no_asynchronous_unwind_tables,
6081 nostdlib,
6082 nostdlib_cpp,
6083 shared,
6084 rdynamic,
6085 wl,
6086 wp,
6087 preprocess_only,
6088 asm_only,
6089 optimize,
6090 debug,
6091 gdwarf32,
6092 gdwarf64,
6093 sanitize,
6094 no_sanitize,
6095 sanitize_trap,
6096 no_sanitize_trap,
6097 linker_script,
6098 dry_run,
6099 verbose,
6100 for_linker,
6101 linker_input_z,
6102 lib_dir,
6103 mcpu,
6104 dep_file,
6105 dep_file_to_stdout,
6106 framework_dir,
6107 framework,
6108 nostdlibinc,
6109 red_zone,
6110 no_red_zone,
6111 omit_frame_pointer,
6112 no_omit_frame_pointer,
6113 function_sections,
6114 no_function_sections,
6115 data_sections,
6116 no_data_sections,
6117 builtin,
6118 no_builtin,
6119 color_diagnostics,
6120 no_color_diagnostics,
6121 stack_check,
6122 no_stack_check,
6123 stack_protector,
6124 no_stack_protector,
6125 strip,
6126 exec_model,
6127 emit_llvm,
6128 sysroot,
6129 entry,
6130 force_undefined_symbol,
6131 weak_library,
6132 weak_framework,
6133 headerpad_max_install_names,
6134 compress_debug_sections,
6135 install_name,
6136 undefined,
6137 force_load_objc,
6138 mingw_unicode_entry_point,
6139 san_cov_trace_pc_guard,
6140 san_cov,
6141 no_san_cov,
6142 rtlib,
6143 static,
6144 dynamic,
6145 };
6146
61476057 const Args = struct {
61486058 next_index: usize,
61496059 argv: []const []const u8,
......@@ -6223,11 +6133,13 @@ pub const ClangArgIterator = struct {
62236133 return;
62246134 }
62256135
6136 const clang_args: []const std.zig.ClangCliParam = @import("clang_options.zon");
6137
62266138 find_clang_arg: for (clang_args) |clang_arg| switch (clang_arg.syntax) {
62276139 .flag => {
62286140 const prefix_len = clang_arg.matchEql(arg);
62296141 if (prefix_len > 0) {
6230 self.zig_equivalent = clang_arg.zig_equivalent;
6142 self.zig_equivalent = clang_arg.ze;
62316143 self.only_arg = arg[prefix_len..];
62326144
62336145 break :find_clang_arg;
......@@ -6238,7 +6150,7 @@ pub const ClangArgIterator = struct {
62386150 // comma_joined example: -Wl,-soname,libsoundio.so.2
62396151 const prefix_len = clang_arg.matchStartsWith(arg);
62406152 if (prefix_len != 0) {
6241 self.zig_equivalent = clang_arg.zig_equivalent;
6153 self.zig_equivalent = clang_arg.ze;
62426154 self.only_arg = arg[prefix_len..]; // This will skip over the "--target=" part.
62436155
62446156 break :find_clang_arg;
......@@ -6254,11 +6166,11 @@ pub const ClangArgIterator = struct {
62546166 self.only_arg = self.argv[self.next_index];
62556167 self.incrementArgIndex();
62566168 self.other_args.len += 1;
6257 self.zig_equivalent = clang_arg.zig_equivalent;
6169 self.zig_equivalent = clang_arg.ze;
62586170
62596171 break :find_clang_arg;
62606172 } else if (prefix_len != 0) {
6261 self.zig_equivalent = clang_arg.zig_equivalent;
6173 self.zig_equivalent = clang_arg.ze;
62626174 self.only_arg = arg[prefix_len..];
62636175
62646176 break :find_clang_arg;
......@@ -6275,7 +6187,7 @@ pub const ClangArgIterator = struct {
62756187 self.second_arg = self.argv[self.next_index];
62766188 self.incrementArgIndex();
62776189 self.other_args.len += 1;
6278 self.zig_equivalent = clang_arg.zig_equivalent;
6190 self.zig_equivalent = clang_arg.ze;
62796191 break :find_clang_arg;
62806192 }
62816193 },
......@@ -6286,7 +6198,7 @@ pub const ClangArgIterator = struct {
62866198 self.only_arg = self.argv[self.next_index];
62876199 self.incrementArgIndex();
62886200 self.other_args.len += 1;
6289 self.zig_equivalent = clang_arg.zig_equivalent;
6201 self.zig_equivalent = clang_arg.ze;
62906202 break :find_clang_arg;
62916203 },
62926204 .remaining_args_joined => {
......@@ -6302,7 +6214,7 @@ pub const ClangArgIterator = struct {
63026214 self.incrementArgIndex();
63036215 self.other_args.len += 1;
63046216 }
6305 self.zig_equivalent = clang_arg.zig_equivalent;
6217 self.zig_equivalent = clang_arg.ze;
63066218 break :find_clang_arg;
63076219 },
63086220 } else {
tools/update_clang_options.zig+28-101
......@@ -13,6 +13,8 @@ const std = @import("std");
1313const Io = std.Io;
1414const assert = std.debug.assert;
1515const json = std.json;
16const fatal = std.process.fatal;
17const ClangCliParam = std.zig.ClangCliParam;
1618
1719const KnownOpt = struct {
1820 name: []const u8,
......@@ -682,13 +684,9 @@ pub fn main(init: std.process.Init) !void {
682684
683685 const json_text = switch (child_result.term) {
684686 .exited => |code| if (code == 0) child_result.stdout else {
685 std.debug.print("llvm-tblgen exited with code {d}\n", .{code});
686 std.process.exit(1);
687 },
688 else => {
689 std.debug.print("llvm-tblgen crashed\n", .{});
690 std.process.exit(1);
687 fatal("llvm-tblgen exited with code {d}", .{code});
691688 },
689 else => fatal("llvm-tblgen crashed", .{}),
692690 };
693691
694692 const parsed = try json.parseFromSlice(json.Value, arena, json_text, .{});
......@@ -718,18 +716,13 @@ pub fn main(init: std.process.Init) !void {
718716 try stdout.writeAll(
719717 \\// This file is generated by tools/update_clang_options.zig.
720718 \\// zig fmt: off
721 \\const clang_options = @import("clang_options.zig");
722 \\const CliArg = clang_options.CliArg;
723 \\const flagpd1 = clang_options.flagpd1;
724 \\const flagpsl = clang_options.flagpsl;
725 \\const joinpd1 = clang_options.joinpd1;
726 \\const jspd1 = clang_options.jspd1;
727 \\const sepd1 = clang_options.sepd1;
728 \\const m = clang_options.m;
729 \\pub const data = blk: { @setEvalBranchQuota(6000); break :blk &[_]CliArg{
730719 \\
731720 );
732721
722 var serializer: std.zon.Serializer = .{ .writer = stdout };
723 var top = try serializer.beginTuple(.{});
724 serializer.indent_level = 0;
725
733726 for (all_objects.items) |obj| {
734727 const name = obj.get("Name").?.string;
735728 var pd1 = false;
......@@ -744,113 +737,48 @@ pub fn main(init: std.process.Init) !void {
744737 } else if (std.mem.eql(u8, prefix, "/")) {
745738 pslash = true;
746739 } else {
747 std.debug.print("{s} has unrecognized prefix '{s}'\n", .{ name, prefix });
748 std.process.exit(1);
740 fatal("{s} has unrecognized prefix '{s}'", .{ name, prefix });
749741 }
750742 }
751743 const syntax = objSyntax(obj) orelse continue;
752744
745 var element: ClangCliParam = .{
746 .name = name,
747 .syntax = syntax,
748 .pd1 = pd1,
749 .pd2 = pd2,
750 .psl = pslash,
751 };
752
753753 if (std.mem.eql(u8, name, "MT") and syntax == .flag) {
754754 // `-MT foo` is ambiguous because there is also an -MT flag
755755 // The canonical way to specify the flag is with `/MT` and so we make this
756756 // the only way.
757 try stdout.print("flagpsl(\"{s}\"),\n", .{name});
757 element.psl = true;
758 element.pd1 = false;
759 element.pd2 = false;
758760 } else if (knownOption(name)) |ident| {
759
760761 // Workaround the fact that in 'Options.td' -Ofast is listed as 'joined'
761 const final_syntax = if (std.mem.eql(u8, name, "Ofast")) .flag else syntax;
762
763 try stdout.print(
764 \\.{{
765 \\ .name = "{s}",
766 \\ .syntax = {f},
767 \\ .zig_equivalent = .{s},
768 \\ .pd1 = {},
769 \\ .pd2 = {},
770 \\ .psl = {},
771 \\}},
772 \\
773 , .{ name, final_syntax, ident, pd1, pd2, pslash });
762 if (std.mem.eql(u8, name, "Ofast")) element.syntax = .flag;
763 element.ze = std.meta.stringToEnum(ClangCliParam.ZigEquivalent, ident) orelse fatal("unknown known option: {s}", .{ident});
774764 } else if (pd1 and !pd2 and !pslash and syntax == .flag) {
775765 if ((std.mem.startsWith(u8, name, "mno-") and
776766 llvm_to_zig_cpu_features.contains(name["mno-".len..])) or
777767 (std.mem.startsWith(u8, name, "m") and
778768 llvm_to_zig_cpu_features.contains(name["m".len..])))
779769 {
780 try stdout.print("m(\"{s}\"),\n", .{name});
781 } else {
782 try stdout.print("flagpd1(\"{s}\"),\n", .{name});
770 element.ze = .m;
783771 }
784 } else if (!pd1 and !pd2 and pslash and syntax == .flag) {
785 try stdout.print("flagpsl(\"{s}\"),\n", .{name});
786 } else if (pd1 and !pd2 and !pslash and syntax == .joined) {
787 try stdout.print("joinpd1(\"{s}\"),\n", .{name});
788 } else if (pd1 and !pd2 and !pslash and syntax == .joined_or_separate) {
789 try stdout.print("jspd1(\"{s}\"),\n", .{name});
790 } else if (pd1 and !pd2 and !pslash and syntax == .separate) {
791 try stdout.print("sepd1(\"{s}\"),\n", .{name});
792 } else {
793 try stdout.print(
794 \\.{{
795 \\ .name = "{s}",
796 \\ .syntax = {f},
797 \\ .zig_equivalent = .other,
798 \\ .pd1 = {},
799 \\ .pd2 = {},
800 \\ .psl = {},
801 \\}},
802 \\
803 , .{ name, syntax, pd1, pd2, pslash });
804772 }
773 try top.field(element, .{ .emit_default_optional_fields = false });
805774 }
806775
807 try stdout.writeAll(
808 \\};};
809 \\
810 );
776 try top.end();
811777
812778 try stdout.flush();
813779}
814780
815// TODO we should be able to import clang_options.zig but currently this is problematic because it will
816// import stage2.zig and that causes a bunch of stuff to get exported
817const Syntax = union(enum) {
818 /// A flag with no values.
819 flag,
820
821 /// An option which prefixes its (single) value.
822 joined,
823
824 /// An option which is followed by its value.
825 separate,
826
827 /// An option which is either joined to its (non-empty) value, or followed by its value.
828 joined_or_separate,
829
830 /// An option which is both joined to its (first) value, and followed by its (second) value.
831 joined_and_separate,
832
833 /// An option followed by its values, which are separated by commas.
834 comma_joined,
835
836 /// An option which consumes an optional joined argument and any other remaining arguments.
837 remaining_args_joined,
838
839 /// An option which is which takes multiple (separate) arguments.
840 multi_arg: u8,
841
842 pub fn format(
843 self: Syntax,
844 out_stream: *std.Io.Writer,
845 ) std.Io.Writer.Error!void {
846 switch (self) {
847 .multi_arg => |n| return out_stream.print(".{{.{t}={d}}}", .{ self, n }),
848 else => return out_stream.print(".{s}", .{@tagName(self)}),
849 }
850 }
851};
852
853fn objSyntax(obj: *json.ObjectMap) ?Syntax {
781fn objSyntax(obj: *json.ObjectMap) ?ClangCliParam.Syntax {
854782 const num_args = @as(u8, @intCast(obj.get("NumArgs").?.integer));
855783 for (obj.get("!superclasses").?.array.items) |superclass_json| {
856784 const superclass = superclass_json.string;
......@@ -911,7 +839,7 @@ fn objSyntax(obj: *json.ObjectMap) ?Syntax {
911839 return null;
912840}
913841
914fn syntaxMatchesWithEql(syntax: Syntax) bool {
842fn syntaxMatchesWithEql(syntax: ClangCliParam.Syntax) bool {
915843 return switch (syntax) {
916844 .flag,
917845 .separate,
......@@ -966,9 +894,8 @@ fn printUsageAndExit(arg0: []const u8) noreturn {
966894fn printUsage(w: *std.Io.Writer, arg0: []const u8) std.Io.Writer.Error!void {
967895 try w.print(
968896 \\Usage: {s} /path/to/llvm-tblgen /path/to/git/llvm/llvm-project
969 \\Alternative Usage: zig run /path/to/git/zig/tools/update_clang_options.zig -- /path/to/llvm-tblgen /path/to/git/llvm/llvm-project
970897 \\
971 \\Prints to stdout Zig code which you can use to replace the file src/clang_options_data.zig.
898 \\Prints to stdout Zig code which you can use to replace the file src/clang_options.zon.
972899 \\
973900 , .{arg0});
974901}