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.
This commit is contained in:
Andrew Kelley
2026-03-19 17:25:40 -07:00
parent 982f26bcdd
commit 06b85a4fd0
7 changed files with 5269 additions and 8978 deletions
-2
View File
@@ -348,8 +348,6 @@ set(ZIG_STAGE2_SOURCES
src/Value.zig
src/Zcu.zig
src/Zcu/PerThread.zig
src/clang_options.zig
src/clang_options_data.zig
src/codegen.zig
src/codegen/aarch64.zig
src/codegen/aarch64/abi.zig
+171 -11
View File
@@ -3,12 +3,14 @@
//! guarantees whatsoever.
const std = @import("std.zig");
const tokenizer = @import("zig/tokenizer.zig");
const assert = std.debug.assert;
const mem = std.mem;
const Allocator = std.mem.Allocator;
const Io = std.Io;
const Writer = std.Io.Writer;
const tokenizer = @import("zig/tokenizer.zig");
pub const ErrorBundle = @import("zig/ErrorBundle.zig");
pub const Server = @import("zig/Server.zig");
pub const Client = @import("zig/Client.zig");
@@ -94,7 +96,7 @@ pub const Loc = struct {
source_line: []const u8,
pub fn eql(a: Loc, b: Loc) bool {
return a.line == b.line and a.column == b.column and std.mem.eql(u8, a.source_line, b.source_line);
return a.line == b.line and a.column == b.column and mem.eql(u8, a.source_line, b.source_line);
}
};
@@ -258,7 +260,7 @@ pub const BuildId = union(enum) {
if (a_tag != b_tag) return false;
return switch (a) {
.none, .fast, .uuid, .sha1, .md5 => true,
.hexstring => |a_hexstring| std.mem.eql(u8, a_hexstring.toSlice(), b.hexstring.toSlice()),
.hexstring => |a_hexstring| mem.eql(u8, a_hexstring.toSlice(), b.hexstring.toSlice()),
};
}
@@ -285,17 +287,17 @@ pub const BuildId = union(enum) {
/// Converts UTF-8 text to a `BuildId`.
pub fn parse(text: []const u8) !BuildId {
if (std.mem.eql(u8, text, "none")) {
if (mem.eql(u8, text, "none")) {
return .none;
} else if (std.mem.eql(u8, text, "fast")) {
} else if (mem.eql(u8, text, "fast")) {
return .fast;
} else if (std.mem.eql(u8, text, "uuid")) {
} else if (mem.eql(u8, text, "uuid")) {
return .uuid;
} else if (std.mem.eql(u8, text, "sha1") or std.mem.eql(u8, text, "tree")) {
} else if (mem.eql(u8, text, "sha1") or mem.eql(u8, text, "tree")) {
return .sha1;
} else if (std.mem.eql(u8, text, "md5")) {
} else if (mem.eql(u8, text, "md5")) {
return .md5;
} else if (std.mem.startsWith(u8, text, "0x")) {
} else if (mem.startsWith(u8, text, "0x")) {
var result: BuildId = .{ .hexstring = undefined };
const slice = try std.fmt.hexToBytes(&result.hexstring.bytes, text[2..]);
result.hexstring.len = @as(u8, @intCast(slice.len));
@@ -614,13 +616,13 @@ pub fn readSourceFileToEndAlloc(gpa: Allocator, file_reader: *Io.File.Reader) ![
"\xfe\xff", // UTF-16 big endian
};
for (unsupported_boms) |bom| {
if (std.mem.startsWith(u8, buffer.items, bom)) {
if (mem.startsWith(u8, buffer.items, bom)) {
return error.UnsupportedEncoding;
}
}
// If the file starts with a UTF-16 little endian BOM, translate it to UTF-8
if (std.mem.startsWith(u8, buffer.items, "\xff\xfe")) {
if (mem.startsWith(u8, buffer.items, "\xff\xfe")) {
if (buffer.items.len % 2 != 0) return error.InvalidEncoding;
return std.unicode.utf16LeToUtf8AllocZ(gpa, @ptrCast(@alignCast(buffer.items))) catch |err| switch (err) {
error.DanglingSurrogateHalf => error.UnsupportedEncoding,
@@ -1002,6 +1004,164 @@ pub const EmitArtifact = enum {
}
};
/// The defaults are chosen here to reduce the size of src/clang_options.zon
pub const ClangCliParam = struct {
name: []const u8,
ze: ZigEquivalent = .other,
syntax: Syntax = .flag,
/// Prefixed by "-"
pd1: bool = true,
/// Prefixed by "--"
pd2: bool = false,
/// Prefixed by "/"
psl: bool = false,
pub const Syntax = union(enum) {
/// A flag with no values.
flag,
/// An option which prefixes its (single) value.
joined,
/// An option which is followed by its value.
separate,
/// An option which is either joined to its (non-empty) value, or followed by its value.
joined_or_separate,
/// An option which is both joined to its (first) value, and followed by its (second) value.
joined_and_separate,
/// An option followed by its values, which are separated by commas.
comma_joined,
/// An option which consumes an optional joined argument and any other remaining arguments.
remaining_args_joined,
/// An option which is which takes multiple (separate) arguments.
multi_arg: u8,
};
pub const ZigEquivalent = enum {
target,
o,
c,
r,
m,
x,
other,
positional,
l,
ignore,
driver_punt,
pic,
no_pic,
pie,
no_pie,
lto,
no_lto,
unwind_tables,
no_unwind_tables,
asynchronous_unwind_tables,
no_asynchronous_unwind_tables,
nostdlib,
nostdlib_cpp,
shared,
rdynamic,
wl,
wp,
preprocess_only,
asm_only,
optimize,
debug,
gdwarf32,
gdwarf64,
sanitize,
no_sanitize,
sanitize_trap,
no_sanitize_trap,
linker_script,
dry_run,
verbose,
for_linker,
linker_input_z,
lib_dir,
mcpu,
dep_file,
dep_file_to_stdout,
framework_dir,
framework,
nostdlibinc,
red_zone,
no_red_zone,
omit_frame_pointer,
no_omit_frame_pointer,
function_sections,
no_function_sections,
data_sections,
no_data_sections,
builtin,
no_builtin,
color_diagnostics,
no_color_diagnostics,
stack_check,
no_stack_check,
stack_protector,
no_stack_protector,
strip,
exec_model,
emit_llvm,
sysroot,
entry,
force_undefined_symbol,
weak_library,
weak_framework,
headerpad_max_install_names,
compress_debug_sections,
install_name,
undefined,
force_load_objc,
mingw_unicode_entry_point,
san_cov_trace_pc_guard,
san_cov,
no_san_cov,
rtlib,
static,
dynamic,
};
pub fn matchEql(self: @This(), arg: []const u8) u2 {
if (self.pd1 and arg.len >= self.name.len + 1 and
mem.startsWith(u8, arg, "-") and mem.eql(u8, arg[1..], self.name))
{
return 1;
}
if (self.pd2 and arg.len >= self.name.len + 2 and
mem.startsWith(u8, arg, "--") and mem.eql(u8, arg[2..], self.name))
{
return 2;
}
if (self.psl and arg.len >= self.name.len + 1 and
mem.startsWith(u8, arg, "/") and mem.eql(u8, arg[1..], self.name))
{
return 1;
}
return 0;
}
pub fn matchStartsWith(self: @This(), arg: []const u8) usize {
if (self.pd1 and arg.len >= self.name.len + 1 and
mem.startsWith(u8, arg, "-") and mem.startsWith(u8, arg[1..], self.name))
{
return self.name.len + 1;
}
if (self.pd2 and arg.len >= self.name.len + 2 and
mem.startsWith(u8, arg, "--") and mem.startsWith(u8, arg[2..], self.name))
{
return self.name.len + 2;
}
if (self.psl and arg.len >= self.name.len + 1 and
mem.startsWith(u8, arg, "/") and mem.startsWith(u8, arg[1..], self.name))
{
return self.name.len + 1;
}
return 0;
}
};
test {
_ = Ast;
_ = AstRlAnnotate;
-144
View File
@@ -1,144 +0,0 @@
const std = @import("std");
const mem = std.mem;
pub const list = @import("clang_options_data.zig").data;
pub const CliArg = struct {
name: []const u8,
syntax: Syntax,
zig_equivalent: @import("main.zig").ClangArgIterator.ZigEquivalent,
/// Prefixed by "-"
pd1: bool = false,
/// Prefixed by "--"
pd2: bool = false,
/// Prefixed by "/"
psl: bool = false,
pub const Syntax = union(enum) {
/// A flag with no values.
flag,
/// An option which prefixes its (single) value.
joined,
/// An option which is followed by its value.
separate,
/// An option which is either joined to its (non-empty) value, or followed by its value.
joined_or_separate,
/// An option which is both joined to its (first) value, and followed by its (second) value.
joined_and_separate,
/// An option followed by its values, which are separated by commas.
comma_joined,
/// An option which consumes an optional joined argument and any other remaining arguments.
remaining_args_joined,
/// An option which is which takes multiple (separate) arguments.
multi_arg: u8,
};
pub fn matchEql(self: CliArg, arg: []const u8) u2 {
if (self.pd1 and arg.len >= self.name.len + 1 and
mem.startsWith(u8, arg, "-") and mem.eql(u8, arg[1..], self.name))
{
return 1;
}
if (self.pd2 and arg.len >= self.name.len + 2 and
mem.startsWith(u8, arg, "--") and mem.eql(u8, arg[2..], self.name))
{
return 2;
}
if (self.psl and arg.len >= self.name.len + 1 and
mem.startsWith(u8, arg, "/") and mem.eql(u8, arg[1..], self.name))
{
return 1;
}
return 0;
}
pub fn matchStartsWith(self: CliArg, arg: []const u8) usize {
if (self.pd1 and arg.len >= self.name.len + 1 and
mem.startsWith(u8, arg, "-") and mem.startsWith(u8, arg[1..], self.name))
{
return self.name.len + 1;
}
if (self.pd2 and arg.len >= self.name.len + 2 and
mem.startsWith(u8, arg, "--") and mem.startsWith(u8, arg[2..], self.name))
{
return self.name.len + 2;
}
if (self.psl and arg.len >= self.name.len + 1 and
mem.startsWith(u8, arg, "/") and mem.startsWith(u8, arg[1..], self.name))
{
return self.name.len + 1;
}
return 0;
}
};
/// Shortcut function for initializing a `CliArg`
pub fn flagpd1(name: []const u8) CliArg {
return .{
.name = name,
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
};
}
/// Shortcut function for initializing a `CliArg`
pub fn flagpsl(name: []const u8) CliArg {
return .{
.name = name,
.syntax = .flag,
.zig_equivalent = .other,
.psl = true,
};
}
/// Shortcut function for initializing a `CliArg`
pub fn joinpd1(name: []const u8) CliArg {
return .{
.name = name,
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
};
}
/// Shortcut function for initializing a `CliArg`
pub fn jspd1(name: []const u8) CliArg {
return .{
.name = name,
.syntax = .joined_or_separate,
.zig_equivalent = .other,
.pd1 = true,
};
}
/// Shortcut function for initializing a `CliArg`
pub fn sepd1(name: []const u8) CliArg {
return .{
.name = name,
.syntax = .separate,
.zig_equivalent = .other,
.pd1 = true,
};
}
/// Shortcut function for initializing a `CliArg`
pub fn m(name: []const u8) CliArg {
return .{
.name = name,
.syntax = .flag,
.zig_equivalent = .m,
.pd1 = true,
};
}
+5060
View File
@@ -0,0 +1,5060 @@
// This file is generated by tools/update_clang_options.zig.
// zig fmt: off
.{
.{ .name = "C" },
.{ .name = "CC" },
.{ .name = "E", .ze = .preprocess_only },
.{ .name = "EB" },
.{ .name = "EL" },
.{ .name = "Eonly" },
.{ .name = "faapcs-bitfield-load" },
.{ .name = "H" },
.{ .name = "<input>", .pd1 = false },
.{ .name = "I-" },
.{ .name = "K" },
.{ .name = "M", .ze = .dep_file_to_stdout },
.{ .name = "MD", .ze = .dep_file },
.{ .name = "MG", .ze = .dep_file },
.{ .name = "MM", .ze = .dep_file_to_stdout },
.{ .name = "MMD", .ze = .dep_file },
.{ .name = "MP", .ze = .dep_file },
.{ .name = "MV", .ze = .dep_file },
.{ .name = "Mach" },
.{ .name = "O0", .ze = .optimize },
.{ .name = "O4", .ze = .optimize },
.{ .name = "O", .ze = .optimize },
.{ .name = "ObjC", .ze = .force_load_objc },
.{ .name = "ObjC++" },
.{ .name = "P" },
.{ .name = "Q" },
.{ .name = "Qn" },
.{ .name = "Qunused-arguments" },
.{ .name = "Qy" },
.{ .name = "S", .ze = .asm_only },
.{ .name = "<unknown>", .pd1 = false },
.{ .name = "WCL4" },
.{ .name = "Wall" },
.{ .name = "Wdeprecated" },
.{ .name = "Wframe-larger-than" },
.{ .name = "Winvalid-constexpr" },
.{ .name = "Winvalid-gnu-asm-cast" },
.{ .name = "Wlarge-by-value-copy" },
.{ .name = "Wno-deprecated" },
.{ .name = "Wno-invalid-constexpr" },
.{ .name = "Wno-rewrite-macros" },
.{ .name = "Wno-system-headers" },
.{ .name = "Wno-write-strings" },
.{ .name = "Wsystem-headers" },
.{ .name = "Wwrite-strings" },
.{ .name = "X" },
.{ .name = "Xanalyzer", .syntax = .separate },
.{ .name = "Xarch_device", .syntax = .separate },
.{ .name = "Xarch_host", .syntax = .separate },
.{ .name = "Xassembler", .syntax = .separate },
.{ .name = "Xclang", .syntax = .separate },
.{ .name = "Xclangas", .syntax = .separate },
.{ .name = "Xcuda-fatbinary", .syntax = .separate },
.{ .name = "Xcuda-ptxas", .syntax = .separate },
.{ .name = "Xflang", .syntax = .separate },
.{
.name = "Xlinker",
.ze = .for_linker,
.syntax = .separate,
},
.{ .name = "Xopenmp-target", .syntax = .separate },
.{ .name = "Xpreprocessor", .syntax = .separate },
.{ .name = "Z" },
.{ .name = "Z-Xlinker-no-demangle" },
.{ .name = "Z-reserved-lib-cckext" },
.{ .name = "Z-reserved-lib-stdc++" },
.{ .name = "Zlinker-input", .syntax = .separate },
.{
.name = "CLASSPATH",
.syntax = .separate,
.pd1 = false,
.pd2 = true,
},
.{ .name = "###", .ze = .dry_run },
.{ .name = "Brepro", .psl = true },
.{ .name = "Brepro-", .psl = true },
.{ .name = "Bt", .psl = true },
.{ .name = "Bt+", .psl = true },
.{ .name = "C", .psl = true },
.{
.name = "E",
.ze = .preprocess_only,
.psl = true,
},
.{ .name = "EP", .psl = true },
.{ .name = "FC", .psl = true },
.{ .name = "FS", .psl = true },
.{ .name = "Fx", .psl = true },
.{ .name = "G1", .psl = true },
.{ .name = "G2", .psl = true },
.{ .name = "GA", .psl = true },
.{ .name = "GF", .psl = true },
.{ .name = "GF-", .psl = true },
.{ .name = "GH", .psl = true },
.{ .name = "GL", .psl = true },
.{ .name = "GL-", .psl = true },
.{ .name = "GR", .psl = true },
.{ .name = "GR-", .psl = true },
.{ .name = "GS", .psl = true },
.{ .name = "GS-", .psl = true },
.{ .name = "GT", .psl = true },
.{ .name = "GX", .psl = true },
.{ .name = "GX-", .psl = true },
.{ .name = "GZ", .psl = true },
.{ .name = "Gd", .psl = true },
.{ .name = "Ge", .psl = true },
.{ .name = "Gh", .psl = true },
.{ .name = "Gm", .psl = true },
.{ .name = "Gm-", .psl = true },
.{ .name = "Gr", .psl = true },
.{ .name = "Gregcall", .psl = true },
.{ .name = "Gregcall4", .psl = true },
.{ .name = "Gv", .psl = true },
.{ .name = "Gw", .psl = true },
.{ .name = "Gw-", .psl = true },
.{ .name = "Gy", .psl = true },
.{ .name = "Gy-", .psl = true },
.{ .name = "Gz", .psl = true },
.{ .name = "H", .psl = true },
.{ .name = "HELP", .psl = true },
.{ .name = "J", .psl = true },
.{ .name = "JMC", .psl = true },
.{ .name = "JMC-", .psl = true },
.{ .name = "LD", .psl = true },
.{ .name = "LDd", .psl = true },
.{ .name = "LN", .psl = true },
.{
.name = "MD",
.ze = .dep_file,
.psl = true,
},
.{ .name = "MDd", .psl = true },
.{
.name = "MT",
.pd1 = false,
.psl = true,
},
.{ .name = "MTd", .psl = true },
.{ .name = "P", .psl = true },
.{ .name = "QIfist", .psl = true },
.{ .name = "QIntel-jcc-erratum", .psl = true },
.{ .name = "?", .psl = true },
.{ .name = "Qfast_transcendentals", .psl = true },
.{ .name = "Qimprecise_fwaits", .psl = true },
.{ .name = "Qpar", .psl = true },
.{ .name = "Qsafe_fp_loads", .psl = true },
.{ .name = "Qspectre", .psl = true },
.{ .name = "Qspectre-load", .psl = true },
.{ .name = "Qspectre-load-cf", .psl = true },
.{ .name = "Qvec", .psl = true },
.{ .name = "Qvec-", .psl = true },
.{ .name = "TC", .psl = true },
.{ .name = "TP", .psl = true },
.{ .name = "V", .psl = true },
.{ .name = "W0", .psl = true },
.{ .name = "W1", .psl = true },
.{ .name = "W2", .psl = true },
.{ .name = "W3", .psl = true },
.{ .name = "W4", .psl = true },
.{ .name = "WL", .psl = true },
.{ .name = "WX", .psl = true },
.{ .name = "WX-", .psl = true },
.{ .name = "Wall", .psl = true },
.{ .name = "Wp64", .psl = true },
.{ .name = "X", .psl = true },
.{ .name = "Y-", .psl = true },
.{ .name = "Yd", .psl = true },
.{ .name = "Z7", .psl = true },
.{ .name = "ZH:MD5", .psl = true },
.{ .name = "ZH:SHA1", .psl = true },
.{ .name = "ZH:SHA_256", .psl = true },
.{ .name = "ZI", .psl = true },
.{ .name = "Za", .psl = true },
.{ .name = "Zc:__STDC__", .psl = true },
.{ .name = "Zc:__cplusplus", .psl = true },
.{ .name = "Zc:alignedNew", .psl = true },
.{ .name = "Zc:alignedNew-", .psl = true },
.{ .name = "Zc:auto", .psl = true },
.{ .name = "Zc:char8_t", .psl = true },
.{ .name = "Zc:char8_t-", .psl = true },
.{ .name = "Zc:dllexportInlines", .psl = true },
.{ .name = "Zc:dllexportInlines-", .psl = true },
.{ .name = "Zc:forScope", .psl = true },
.{ .name = "Zc:inline", .psl = true },
.{ .name = "Zc:rvalueCast", .psl = true },
.{ .name = "Zc:sizedDealloc", .psl = true },
.{ .name = "Zc:sizedDealloc-", .psl = true },
.{ .name = "Zc:strictStrings", .psl = true },
.{ .name = "Zc:ternary", .psl = true },
.{ .name = "Zc:threadSafeInit", .psl = true },
.{ .name = "Zc:threadSafeInit-", .psl = true },
.{ .name = "Zc:tlsGuards", .psl = true },
.{ .name = "Zc:tlsGuards-", .psl = true },
.{ .name = "Zc:trigraphs", .psl = true },
.{ .name = "Zc:trigraphs-", .psl = true },
.{ .name = "Zc:twoPhase", .psl = true },
.{ .name = "Zc:twoPhase-", .psl = true },
.{ .name = "Zc:wchar_t", .psl = true },
.{ .name = "Zc:wchar_t-", .psl = true },
.{ .name = "Ze", .psl = true },
.{ .name = "Zg", .psl = true },
.{ .name = "Zi", .psl = true },
.{ .name = "Zl", .psl = true },
.{ .name = "Zo", .psl = true },
.{ .name = "Zo-", .psl = true },
.{ .name = "Zp", .psl = true },
.{ .name = "Zs", .psl = true },
.{ .name = "analyze-", .psl = true },
.{ .name = "arm64EC", .psl = true },
.{ .name = "await", .psl = true },
.{ .name = "bigobj", .psl = true },
.{
.name = "c",
.ze = .c,
.psl = true,
},
.{ .name = "d1PP", .psl = true },
.{ .name = "d1reportAllClassLayout", .psl = true },
.{ .name = "d2FastFail", .psl = true },
.{ .name = "d2Zi+", .psl = true },
.{ .name = "d2epilogunwind", .psl = true },
.{ .name = "d2epilogunwindrequirev2", .psl = true },
.{ .name = "diagnostics:caret", .psl = true },
.{ .name = "diagnostics:classic", .psl = true },
.{ .name = "diagnostics:column", .psl = true },
.{ .name = "exportHeader", .psl = true },
.{ .name = "external:W0", .psl = true },
.{ .name = "external:W1", .psl = true },
.{ .name = "external:W2", .psl = true },
.{ .name = "external:W3", .psl = true },
.{ .name = "external:W4", .psl = true },
.{ .name = "fp:contract", .psl = true },
.{ .name = "fp:except", .psl = true },
.{ .name = "fp:except-", .psl = true },
.{ .name = "fp:fast", .psl = true },
.{ .name = "fp:precise", .psl = true },
.{ .name = "fp:strict", .psl = true },
.{
.name = "fsanitize=address",
.ze = .sanitize,
.psl = true,
},
.{
.name = "help",
.ze = .driver_punt,
.psl = true,
},
.{ .name = "homeparams", .psl = true },
.{ .name = "hotpatch", .psl = true },
.{ .name = "kernel", .psl = true },
.{ .name = "kernel-", .psl = true },
.{ .name = "nologo", .psl = true },
.{ .name = "openmp", .psl = true },
.{ .name = "openmp-", .psl = true },
.{ .name = "openmp:experimental", .psl = true },
.{ .name = "permissive", .psl = true },
.{ .name = "permissive-", .psl = true },
.{ .name = "sdl", .psl = true },
.{ .name = "sdl-", .psl = true },
.{ .name = "showFilenames", .psl = true },
.{ .name = "showFilenames-", .psl = true },
.{ .name = "showIncludes", .psl = true },
.{ .name = "showIncludes:user", .psl = true },
.{ .name = "translateInclude", .psl = true },
.{
.name = "u",
.ze = .force_undefined_symbol,
.psl = true,
},
.{ .name = "utf-8", .psl = true },
.{ .name = "validate-charset", .psl = true },
.{ .name = "validate-charset-", .psl = true },
.{ .name = "vmb", .psl = true },
.{ .name = "vmg", .psl = true },
.{ .name = "vmm", .psl = true },
.{ .name = "vms", .psl = true },
.{ .name = "vmv", .psl = true },
.{ .name = "volatile:iso", .psl = true },
.{ .name = "volatile:ms", .psl = true },
.{ .name = "w", .psl = true },
.{
.name = "all-warnings",
.pd1 = false,
.pd2 = true,
},
.{
.name = "analyze",
.pd1 = false,
.pd2 = true,
},
.{
.name = "analyzer-no-default-checks",
.pd1 = false,
.pd2 = true,
},
.{
.name = "assemble",
.ze = .asm_only,
.pd1 = false,
.pd2 = true,
},
.{
.name = "assert",
.syntax = .separate,
.pd1 = false,
.pd2 = true,
},
.{
.name = "bootclasspath",
.syntax = .separate,
.pd1 = false,
.pd2 = true,
},
.{
.name = "classpath",
.syntax = .separate,
.pd1 = false,
.pd2 = true,
},
.{
.name = "comments",
.pd1 = false,
.pd2 = true,
},
.{
.name = "comments-in-macros",
.pd1 = false,
.pd2 = true,
},
.{
.name = "compile",
.pd1 = false,
.pd2 = true,
},
.{
.name = "constant-cfstrings",
.pd1 = false,
.pd2 = true,
},
.{
.name = "debug",
.ze = .debug,
.pd1 = false,
.pd2 = true,
},
.{
.name = "define-macro",
.syntax = .separate,
.pd1 = false,
.pd2 = true,
},
.{
.name = "dependencies",
.pd1 = false,
.pd2 = true,
},
.{
.name = "dyld-prefix",
.syntax = .separate,
.pd1 = false,
.pd2 = true,
},
.{
.name = "encoding",
.syntax = .separate,
.pd1 = false,
.pd2 = true,
},
.{
.name = "entry",
.ze = .entry,
.pd1 = false,
.pd2 = true,
},
.{
.name = "extdirs",
.syntax = .separate,
.pd1 = false,
.pd2 = true,
},
.{
.name = "extra-warnings",
.pd1 = false,
.pd2 = true,
},
.{
.name = "for-linker",
.ze = .for_linker,
.syntax = .separate,
.pd1 = false,
.pd2 = true,
},
.{
.name = "force-link",
.syntax = .separate,
.pd1 = false,
.pd2 = true,
},
.{
.name = "help-hidden",
.pd1 = false,
.pd2 = true,
},
.{
.name = "include-barrier",
.pd1 = false,
.pd2 = true,
},
.{
.name = "include-directory",
.syntax = .separate,
.pd1 = false,
.pd2 = true,
},
.{
.name = "include-directory-after",
.syntax = .separate,
.pd1 = false,
.pd2 = true,
},
.{
.name = "include-prefix",
.syntax = .separate,
.pd1 = false,
.pd2 = true,
},
.{
.name = "include-with-prefix",
.syntax = .separate,
.pd1 = false,
.pd2 = true,
},
.{
.name = "include-with-prefix-after",
.syntax = .separate,
.pd1 = false,
.pd2 = true,
},
.{
.name = "include-with-prefix-before",
.syntax = .separate,
.pd1 = false,
.pd2 = true,
},
.{
.name = "language",
.syntax = .separate,
.pd1 = false,
.pd2 = true,
},
.{
.name = "library-directory",
.ze = .lib_dir,
.syntax = .separate,
.pd1 = false,
.pd2 = true,
},
.{
.name = "mhwdiv",
.syntax = .separate,
.pd1 = false,
.pd2 = true,
},
.{
.name = "no-line-commands",
.pd1 = false,
.pd2 = true,
},
.{
.name = "no-standard-includes",
.ze = .nostdlibinc,
.pd1 = false,
.pd2 = true,
},
.{
.name = "no-standard-libraries",
.ze = .nostdlib,
.pd1 = false,
.pd2 = true,
},
.{
.name = "no-undefined",
.pd1 = false,
.pd2 = true,
},
.{
.name = "no-warnings",
.pd1 = false,
.pd2 = true,
},
.{
.name = "optimize",
.ze = .optimize,
.pd1 = false,
.pd2 = true,
},
.{
.name = "output",
.syntax = .separate,
.pd1 = false,
.pd2 = true,
},
.{
.name = "output-class-directory",
.syntax = .separate,
.pd1 = false,
.pd2 = true,
},
.{
.name = "param",
.syntax = .separate,
.pd1 = false,
.pd2 = true,
},
.{
.name = "precompile",
.pd1 = false,
.pd2 = true,
},
.{
.name = "prefix",
.syntax = .separate,
.pd1 = false,
.pd2 = true,
},
.{
.name = "preprocess",
.ze = .preprocess_only,
.pd1 = false,
.pd2 = true,
},
.{
.name = "print-diagnostic-categories",
.pd1 = false,
.pd2 = true,
},
.{
.name = "print-file-name",
.syntax = .separate,
.pd1 = false,
.pd2 = true,
},
.{
.name = "print-missing-file-dependencies",
.ze = .dep_file,
.pd1 = false,
.pd2 = true,
},
.{
.name = "print-prog-name",
.syntax = .separate,
.pd1 = false,
.pd2 = true,
},
.{
.name = "profile",
.pd1 = false,
.pd2 = true,
},
.{
.name = "resource",
.syntax = .separate,
.pd1 = false,
.pd2 = true,
},
.{
.name = "rtlib",
.ze = .rtlib,
.syntax = .separate,
.pd1 = false,
.pd2 = true,
},
.{
.name = "serialize-diagnostics",
.syntax = .separate,
.pd2 = true,
},
.{
.name = "signed-char",
.pd1 = false,
.pd2 = true,
},
.{
.name = "std",
.syntax = .separate,
.pd1 = false,
.pd2 = true,
},
.{
.name = "stdlib",
.syntax = .separate,
.pd1 = false,
.pd2 = true,
},
.{
.name = "sysroot",
.ze = .sysroot,
.syntax = .separate,
.pd1 = false,
.pd2 = true,
},
.{
.name = "target-help",
.pd1 = false,
.pd2 = true,
},
.{
.name = "trace-includes",
.pd1 = false,
.pd2 = true,
},
.{
.name = "undefine-macro",
.syntax = .separate,
.pd1 = false,
.pd2 = true,
},
.{
.name = "unsigned-char",
.pd1 = false,
.pd2 = true,
},
.{
.name = "user-dependencies",
.ze = .dep_file_to_stdout,
.pd1 = false,
.pd2 = true,
},
.{
.name = "verbose",
.ze = .verbose,
.pd1 = false,
.pd2 = true,
},
.{
.name = "version",
.pd1 = false,
.pd2 = true,
},
.{
.name = "write-dependencies",
.ze = .dep_file,
.pd1 = false,
.pd2 = true,
},
.{
.name = "write-user-dependencies",
.ze = .dep_file,
.pd1 = false,
.pd2 = true,
},
.{ .name = "add-plugin", .syntax = .separate },
.{ .name = "alias_list", .syntax = .separate },
.{ .name = "faligned-alloc-unavailable" },
.{ .name = "all_load" },
.{ .name = "allowable_client", .syntax = .separate },
.{ .name = "cfg-add-implicit-dtors" },
.{ .name = "unoptimized-cfg" },
.{ .name = "analyze" },
.{ .name = "analyze-function", .syntax = .separate },
.{ .name = "analyzer-checker", .syntax = .separate },
.{ .name = "analyzer-checker-help" },
.{ .name = "analyzer-checker-help-alpha" },
.{ .name = "analyzer-checker-help-developer" },
.{ .name = "analyzer-checker-option-help" },
.{ .name = "analyzer-checker-option-help-alpha" },
.{ .name = "analyzer-checker-option-help-developer" },
.{ .name = "analyzer-config", .syntax = .separate },
.{ .name = "analyzer-config-compatibility-mode", .syntax = .separate },
.{ .name = "analyzer-config-help" },
.{ .name = "analyzer-constraints", .syntax = .separate },
.{ .name = "analyzer-disable-all-checks" },
.{ .name = "analyzer-disable-checker", .syntax = .separate },
.{ .name = "analyzer-disable-retry-exhausted" },
.{ .name = "analyzer-display-progress" },
.{ .name = "analyzer-dump-egraph", .syntax = .separate },
.{ .name = "analyzer-inline-max-stack-depth", .syntax = .separate },
.{ .name = "analyzer-inlining-mode", .syntax = .separate },
.{ .name = "analyzer-list-enabled-checkers" },
.{ .name = "analyzer-max-loop", .syntax = .separate },
.{ .name = "analyzer-note-analysis-entry-points" },
.{ .name = "analyzer-opt-analyze-headers" },
.{ .name = "analyzer-output", .syntax = .separate },
.{ .name = "analyzer-purge", .syntax = .separate },
.{ .name = "analyzer-stats" },
.{ .name = "analyzer-viz-egraph-graphviz" },
.{ .name = "analyzer-werror" },
.{ .name = "fnew-alignment", .syntax = .separate },
.{ .name = "faligned-new" },
.{ .name = "fno-aligned-new" },
.{ .name = "fsched-interblock" },
.{ .name = "fcuda-rdc" },
.{ .name = "fno-cuda-rdc" },
.{ .name = "ftree-vectorize" },
.{ .name = "fno-tree-vectorize" },
.{ .name = "ftree-slp-vectorize" },
.{ .name = "fno-tree-slp-vectorize" },
.{ .name = "fterminated-vtables" },
.{ .name = "grecord-gcc-switches" },
.{ .name = "gno-record-gcc-switches" },
.{ .name = "nogpuinc" },
.{ .name = "nocudainc" },
.{ .name = "nogpulib" },
.{ .name = "nocudalib" },
.{ .name = "print-multiarch", .pd2 = true },
.{
.name = "system-header-prefix",
.syntax = .separate,
.pd1 = false,
.pd2 = true,
},
.{
.name = "no-system-header-prefix",
.syntax = .separate,
.pd1 = false,
.pd2 = true,
},
.{ .name = "mcpu=help", .ze = .mcpu },
.{ .name = "mtune=help", .ze = .mcpu },
.{ .name = "integrated-as" },
.{ .name = "no-integrated-as" },
.{ .name = "fopenmp-is-device" },
.{ .name = "fcuda-approx-transcendentals" },
.{ .name = "fno-cuda-approx-transcendentals" },
.{ .name = "Gs", .psl = true },
.{
.name = "O1",
.ze = .optimize,
.psl = true,
},
.{
.name = "O2",
.ze = .optimize,
.psl = true,
},
.{ .name = "Ob0", .psl = true },
.{ .name = "Ob1", .psl = true },
.{ .name = "Ob2", .psl = true },
.{ .name = "Ob3", .psl = true },
.{ .name = "Od", .psl = true },
.{
.name = "Og",
.ze = .optimize,
.psl = true,
},
.{ .name = "Oi", .psl = true },
.{ .name = "Oi-", .psl = true },
.{
.name = "Os",
.ze = .optimize,
.psl = true,
},
.{ .name = "Ot", .psl = true },
.{ .name = "Ox", .psl = true },
.{ .name = "Oy", .psl = true },
.{ .name = "Oy-", .psl = true },
.{ .name = "Qgather-", .psl = true },
.{ .name = "Qscatter-", .psl = true },
.{ .name = "shared-libasan" },
.{ .name = "Xmicrosoft-visualc-tools-root", .syntax = .separate },
.{ .name = "Xmicrosoft-visualc-tools-version", .syntax = .separate },
.{ .name = "Xmicrosoft-windows-sdk-root", .syntax = .separate },
.{ .name = "Xmicrosoft-windows-sdk-version", .syntax = .separate },
.{ .name = "Xmicrosoft-windows-sys-root", .syntax = .separate },
.{ .name = "Qembed_debug", .psl = true },
.{ .name = "static-libasan" },
.{ .name = "fslp-vectorize-aggressive" },
.{ .name = "fident" },
.{ .name = "fno-ident" },
.{ .name = "fno-slp-vectorize-aggressive" },
.{ .name = "fdiagnostics-color" },
.{ .name = "fno-diagnostics-color" },
.{ .name = "frecord-gcc-switches" },
.{ .name = "fno-record-gcc-switches" },
.{ .name = "Xparser" },
.{ .name = "Xcompiler" },
.{ .name = "fexpensive-optimizations" },
.{ .name = "fno-expensive-optimizations" },
.{ .name = "fdefer-pop" },
.{ .name = "fno-defer-pop" },
.{ .name = "fextended-identifiers" },
.{ .name = "fno-extended-identifiers" },
.{ .name = "fno-sanitize-blacklist" },
.{ .name = "fhonor-infinites" },
.{ .name = "fno-honor-infinites" },
.{ .name = "findirect-virtual-calls" },
.{
.name = "config",
.syntax = .separate,
.pd1 = false,
.pd2 = true,
},
.{ .name = "ansi", .pd2 = true },
.{ .name = "arch", .syntax = .separate },
.{ .name = "arch_errors_fatal" },
.{ .name = "arch_only", .syntax = .separate },
.{ .name = "as-secure-log-file", .syntax = .separate },
.{ .name = "ast-dump" },
.{ .name = "ast-dump-all" },
.{ .name = "ast-dump-decl-types" },
.{ .name = "ast-dump-filter", .syntax = .separate },
.{ .name = "ast-dump-lookups" },
.{ .name = "ast-list" },
.{ .name = "ast-merge", .syntax = .separate },
.{ .name = "ast-print" },
.{ .name = "ast-view" },
.{ .name = "aux-target-cpu", .syntax = .separate },
.{ .name = "aux-target-feature", .syntax = .separate },
.{ .name = "aux-triple", .syntax = .separate },
.{ .name = "bind_at_load" },
.{ .name = "building-pch-with-obj" },
.{ .name = "bundle" },
.{ .name = "bundle_loader", .syntax = .separate },
.{ .name = "c", .ze = .c },
.{ .name = "c-isystem", .syntax = .separate },
.{ .name = "canonical-prefixes" },
.{ .name = "cc1" },
.{ .name = "cc1as" },
.{ .name = "ccc-gcc-name", .syntax = .separate },
.{ .name = "ccc-install-dir", .syntax = .separate },
.{ .name = "ccc-print-bindings" },
.{ .name = "ccc-print-phases" },
.{ .name = "cfguard" },
.{ .name = "cfguard-no-checks" },
.{ .name = "chain-include", .syntax = .separate },
.{ .name = "cl-denorms-are-zero" },
.{ .name = "cl-fast-relaxed-math" },
.{ .name = "cl-finite-math-only" },
.{ .name = "cl-fp32-correctly-rounded-divide-sqrt" },
.{ .name = "cl-kernel-arg-info" },
.{ .name = "cl-mad-enable" },
.{ .name = "cl-no-signed-zeros" },
.{ .name = "cl-no-stdinc" },
.{ .name = "cl-opt-disable" },
.{ .name = "cl-single-precision-constant" },
.{ .name = "cl-strict-aliasing" },
.{ .name = "cl-uniform-work-group-size" },
.{ .name = "cl-unsafe-math-optimizations" },
.{ .name = "clangir-disable-passes" },
.{ .name = "clangir-disable-verifier" },
.{ .name = "clear-ast-before-backend" },
.{ .name = "code-completion-at", .syntax = .separate },
.{ .name = "code-completion-brief-comments" },
.{ .name = "code-completion-macros" },
.{ .name = "code-completion-patterns" },
.{ .name = "code-completion-with-fixits" },
.{ .name = "combine", .pd2 = true },
.{ .name = "compiler-options-dump" },
.{
.name = "compress-debug-sections",
.ze = .compress_debug_sections,
.pd2 = true,
},
.{ .name = "coverage", .pd2 = true },
.{ .name = "cpp" },
.{ .name = "cpp-precomp" },
.{
.name = "crel",
.pd1 = false,
.pd2 = true,
},
.{
.name = "cuda-compile-host-device",
.pd1 = false,
.pd2 = true,
},
.{
.name = "cuda-device-only",
.pd1 = false,
.pd2 = true,
},
.{
.name = "cuda-host-only",
.pd1 = false,
.pd2 = true,
},
.{
.name = "cuda-noopt-device-debug",
.pd1 = false,
.pd2 = true,
},
.{
.name = "cuda-path-ignore-env",
.pd1 = false,
.pd2 = true,
},
.{ .name = "fc++-static-destructors" },
.{ .name = "dA" },
.{ .name = "dD" },
.{ .name = "dE" },
.{ .name = "dI" },
.{ .name = "dM" },
.{ .name = "d" },
.{ .name = "darwin-target-variant", .syntax = .separate },
.{ .name = "darwin-target-variant-triple", .syntax = .separate },
.{ .name = "dead_strip" },
.{ .name = "debug-forward-template-params" },
.{ .name = "debug-info-macro" },
.{ .name = "default-function-attr", .syntax = .separate },
.{
.name = "defsym",
.syntax = .separate,
.pd1 = false,
.pd2 = true,
},
.{ .name = "dependency-dot", .syntax = .separate },
.{ .name = "dependency-file", .syntax = .separate },
.{ .name = "detailed-preprocessing-record" },
.{ .name = "diagnostic-log-file", .syntax = .separate },
.{ .name = "serialize-diagnostic-file", .syntax = .separate },
.{ .name = "disable-O0-optnone" },
.{ .name = "disable-free" },
.{ .name = "disable-lifetime-markers" },
.{ .name = "disable-llvm-optzns" },
.{ .name = "disable-llvm-passes" },
.{ .name = "disable-llvm-verifier" },
.{ .name = "disable-objc-default-synthesize-properties" },
.{ .name = "disable-pragma-debug-crash" },
.{ .name = "disable-red-zone" },
.{ .name = "discard-value-names" },
.{ .name = "dump-coverage-mapping" },
.{ .name = "dump-deserialized-decls" },
.{ .name = "dump-raw-tokens" },
.{ .name = "dump-tokens" },
.{ .name = "dumpdir", .syntax = .separate },
.{ .name = "dumpmachine" },
.{ .name = "dumpspecs" },
.{ .name = "dumpversion" },
.{ .name = "dwarf-debug-flags", .syntax = .separate },
.{ .name = "dwarf-debug-producer", .syntax = .separate },
.{ .name = "dwarf-explicit-import" },
.{ .name = "dwarf-ext-refs" },
.{ .name = "Vd", .psl = true },
.{ .name = "Gis", .psl = true },
.{ .name = "hlsl-no-stdinc", .psl = true },
.{
.name = "force-rootsig-ver",
.syntax = .separate,
.psl = true,
},
.{ .name = "dylib_file", .syntax = .separate },
.{ .name = "dylinker" },
.{ .name = "dynamic", .ze = .dynamic },
.{ .name = "dynamiclib", .ze = .shared },
.{
.name = "e",
.ze = .entry,
.syntax = .separate,
},
.{ .name = "ehcontguard" },
.{ .name = "emit-ast" },
.{ .name = "emit-cir" },
.{ .name = "emit-codegen-only" },
.{
.name = "emit-extension-symbol-graphs",
.pd1 = false,
.pd2 = true,
},
.{ .name = "emit-fir" },
.{ .name = "emit-header-unit" },
.{ .name = "emit-hlfir" },
.{ .name = "emit-html" },
.{ .name = "emit-interface-stubs" },
.{ .name = "emit-llvm", .ze = .emit_llvm },
.{ .name = "emit-llvm-bc" },
.{ .name = "emit-llvm-only" },
.{ .name = "emit-llvm-uselists" },
.{ .name = "emit-merged-ifs" },
.{ .name = "emit-mlir" },
.{ .name = "emit-module" },
.{ .name = "emit-module-interface" },
.{ .name = "emit-obj" },
.{ .name = "emit-pch" },
.{
.name = "pretty-sgf",
.pd1 = false,
.pd2 = true,
},
.{ .name = "emit-pristine-llvm", .psl = true },
.{ .name = "emit-reduced-module-interface" },
.{
.name = "emit-sgf-symbol-labels-for-testing",
.pd1 = false,
.pd2 = true,
},
.{
.name = "emit-static-lib",
.pd1 = false,
.pd2 = true,
},
.{ .name = "emit-symbol-graph" },
.{ .name = "enable-16bit-types", .psl = true },
.{ .name = "enable-noundef-analysis" },
.{ .name = "enable-tlsdesc" },
.{
.name = "end-no-unused-arguments",
.pd1 = false,
.pd2 = true,
},
.{ .name = "error-on-deserialized-decl", .syntax = .separate },
.{ .name = "exception-model", .syntax = .separate },
.{ .name = "fexperimental-modules-reduced-bmi" },
.{ .name = "exported_symbols_list", .syntax = .separate },
.{ .name = "extract-api" },
.{ .name = "fPIC", .ze = .pic },
.{ .name = "fPIE", .ze = .pie },
.{ .name = "faapcs-bitfield-width" },
.{ .name = "faarch64-jump-table-hardening" },
.{ .name = "faccess-control" },
.{ .name = "faddrsig" },
.{ .name = "faggressive-function-elimination" },
.{ .name = "falign-commons" },
.{ .name = "falign-functions" },
.{ .name = "falign-jumps" },
.{ .name = "falign-labels" },
.{ .name = "falign-loops" },
.{ .name = "faligned-allocation" },
.{ .name = "fall-intrinsics" },
.{ .name = "fallow-editor-placeholders" },
.{ .name = "fallow-pch-with-different-modules-cache-path" },
.{ .name = "fallow-pch-with-compiler-errors" },
.{ .name = "fallow-pcm-with-compiler-errors" },
.{ .name = "fallow-unsupported" },
.{ .name = "falternative-parameter-statement" },
.{ .name = "faltivec" },
.{ .name = "fanalyzed-objects-for-unparse" },
.{ .name = "fandroid-pad-segment" },
.{ .name = "fkeep-inline-functions" },
.{ .name = "funit-at-a-time" },
.{ .name = "fansi-escape-codes" },
.{ .name = "fapinotes" },
.{ .name = "fapinotes-modules" },
.{ .name = "fapple-kext" },
.{ .name = "fapple-link-rtlib" },
.{ .name = "fapple-pragma-pack" },
.{ .name = "fapplication-extension" },
.{ .name = "fapply-global-visibility-to-externs" },
.{ .name = "fapprox-func" },
.{ .name = "fasm" },
.{ .name = "fasm-blocks" },
.{ .name = "fassociative-math" },
.{ .name = "fassume-nothrow-exception-dtor" },
.{ .name = "fassume-sane-operator-new" },
.{ .name = "fassume-unique-vtables" },
.{ .name = "fassumptions" },
.{ .name = "fast" },
.{ .name = "fastcp" },
.{ .name = "fastf" },
.{ .name = "fasync-exceptions" },
.{ .name = "fasynchronous-unwind-tables", .ze = .asynchronous_unwind_tables },
.{ .name = "fatomic-fine-grained-memory" },
.{ .name = "fatomic-ignore-denormal-mode" },
.{ .name = "fatomic-remote-memory" },
.{ .name = "fauto-import" },
.{ .name = "fauto-profile-accurate" },
.{ .name = "fautolink" },
.{ .name = "fautomatic" },
.{ .name = "fbackslash" },
.{ .name = "fbacktrace" },
.{ .name = "fbasic-block-address-map" },
.{ .name = "fblocks" },
.{ .name = "fblocks-runtime-optional" },
.{ .name = "fborland-extensions" },
.{ .name = "fbounds-check" },
.{ .name = "fexperimental-bounds-safety" },
.{ .name = "fbracket-depth", .syntax = .separate },
.{ .name = "fbranch-count-reg" },
.{ .name = "fbuiltin", .ze = .builtin },
.{ .name = "fbuiltin-headers-in-system-modules" },
.{ .name = "fbuiltin-module-map" },
.{ .name = "fcall-saved-x10" },
.{ .name = "fcall-saved-x11" },
.{ .name = "fcall-saved-x12" },
.{ .name = "fcall-saved-x13" },
.{ .name = "fcall-saved-x14" },
.{ .name = "fcall-saved-x15" },
.{ .name = "fcall-saved-x18" },
.{ .name = "fcall-saved-x8" },
.{ .name = "fcall-saved-x9" },
.{ .name = "fcaller-saves" },
.{ .name = "fcaret-diagnostics", .ze = .color_diagnostics },
.{ .name = "fcf-protection" },
.{ .name = "fcgl", .psl = true },
.{ .name = "fchar8_t" },
.{ .name = "fcheck-array-temporaries" },
.{ .name = "fcheck-new" },
.{ .name = "fclangir" },
.{ .name = "fcodegen-data-generate" },
.{ .name = "fcodegen-data-use" },
.{ .name = "fcolor-diagnostics", .ze = .color_diagnostics },
.{ .name = "fcommon" },
.{ .name = "fcompatibility-qualified-id-block-type-checking" },
.{ .name = "fcomplete-member-pointers" },
.{ .name = "fconst-strings" },
.{ .name = "fconstant-cfstrings" },
.{ .name = "fconstant-string-class", .syntax = .separate },
.{ .name = "fconvergent-functions" },
.{ .name = "fcoro-aligned-allocation" },
.{ .name = "fcoroutines" },
.{ .name = "fcoverage-mapping" },
.{ .name = "fcrash-diagnostics" },
.{ .name = "fcray-pointer" },
.{ .name = "fcreate-profile" },
.{ .name = "fcs-profile-generate" },
.{ .name = "fctor-dtor-return-this" },
.{ .name = "fcuda-allow-variadic-functions" },
.{ .name = "fcuda-flush-denormals-to-zero" },
.{ .name = "fcuda-include-gpubinary", .syntax = .separate },
.{ .name = "fcuda-is-device" },
.{ .name = "fcuda-short-ptr" },
.{ .name = "fcx-fortran-rules" },
.{ .name = "fcx-limited-range" },
.{ .name = "fcxx-exceptions" },
.{ .name = "fcxx-modules" },
.{ .name = "fd-lines-as-code" },
.{ .name = "fd-lines-as-comments" },
.{ .name = "fdata-sections", .ze = .data_sections },
.{ .name = "fdebug-compilation-dir", .syntax = .separate },
.{ .name = "fdebug-dump-all" },
.{ .name = "fdebug-dump-parse-tree" },
.{ .name = "fdebug-dump-parse-tree-no-sema" },
.{ .name = "fdebug-dump-parsing-log" },
.{ .name = "fdebug-dump-pft" },
.{ .name = "fdebug-dump-provenance" },
.{ .name = "fdebug-dump-symbols" },
.{ .name = "fdebug-info-for-profiling" },
.{ .name = "fdebug-macro" },
.{ .name = "fdebug-measure-parse-tree" },
.{ .name = "fdebug-module-writer" },
.{ .name = "fdebug-pass-arguments" },
.{ .name = "fdebug-pass-manager" },
.{ .name = "fdebug-pass-structure" },
.{ .name = "fdebug-pre-fir-tree" },
.{ .name = "fdebug-ranges-base-address" },
.{ .name = "fdebug-types-section" },
.{ .name = "fdebug-unparse" },
.{ .name = "fdebug-unparse-no-sema" },
.{ .name = "fdebug-unparse-with-modules" },
.{ .name = "fdebug-unparse-with-symbols" },
.{ .name = "fdebugger-cast-result-to-id" },
.{ .name = "fdebugger-objc-literal" },
.{ .name = "fdebugger-support" },
.{ .name = "fdeclare-opencl-builtins" },
.{ .name = "fdeclspec" },
.{ .name = "fdefault-double-8" },
.{ .name = "fdefault-inline" },
.{ .name = "fdefault-integer-8" },
.{ .name = "fdefault-real-8" },
.{ .name = "fdefine-target-os-macros" },
.{ .name = "fdelayed-template-parsing" },
.{ .name = "fdelete-null-pointer-checks" },
.{ .name = "fdeprecated-macro" },
.{ .name = "fdevirtualize" },
.{ .name = "fdevirtualize-speculatively" },
.{ .name = "fdiagnostics-absolute-paths" },
.{ .name = "fdiagnostics-fixit-info" },
.{ .name = "fdiagnostics-format", .syntax = .separate },
.{ .name = "fdiagnostics-parseable-fixits" },
.{ .name = "fdiagnostics-print-source-range-info" },
.{ .name = "fdiagnostics-show-category", .syntax = .separate },
.{ .name = "fdiagnostics-show-hotness" },
.{ .name = "fdiagnostics-show-line-numbers" },
.{ .name = "fdiagnostics-show-note-include-stack" },
.{ .name = "fdiagnostics-show-option" },
.{ .name = "fdiagnostics-show-template-tree" },
.{ .name = "fdigraphs" },
.{ .name = "fdirect-access-external-data" },
.{ .name = "fdirectives-only" },
.{ .name = "fdisable-block-signature-string" },
.{ .name = "fdisable-integer-16" },
.{ .name = "fdisable-integer-2" },
.{ .name = "fdisable-module-hash" },
.{ .name = "fdisable-real-10" },
.{ .name = "fdisable-real-3" },
.{ .name = "fdiscard-value-names" },
.{ .name = "fdollar-ok" },
.{ .name = "fdollars-in-identifiers" },
.{ .name = "fdouble-square-bracket-attributes" },
.{ .name = "fdriver-only" },
.{ .name = "fdump-fortran-optimized" },
.{ .name = "fdump-fortran-original" },
.{ .name = "fdump-parse-tree" },
.{ .name = "fdump-record-layouts" },
.{ .name = "fdump-record-layouts-canonical" },
.{ .name = "fdump-record-layouts-complete" },
.{ .name = "fdump-record-layouts-simple" },
.{ .name = "fdump-vtable-layouts" },
.{ .name = "fdwarf2-cfi-asm" },
.{ .name = "fdwarf-directory-asm" },
.{ .name = "fdwarf-exceptions" },
.{ .name = "felide-constructors" },
.{ .name = "feliminate-unused-debug-symbols" },
.{ .name = "feliminate-unused-debug-types" },
.{ .name = "fembed-bitcode" },
.{ .name = "fembed-bitcode-marker" },
.{ .name = "femit-all-decls" },
.{ .name = "femit-compact-unwind-non-canonical" },
.{ .name = "femulated-tls" },
.{ .name = "fenable-matrix" },
.{ .name = "fencode-extended-block-signature" },
.{ .name = "ferror-limit", .syntax = .separate },
.{ .name = "fescaping-block-tail-calls" },
.{ .name = "fexceptions" },
.{ .name = "fexperimental-isel" },
.{ .name = "fexperimental-late-parse-attributes" },
.{ .name = "fexperimental-library" },
.{ .name = "fexperimental-new-constant-interpreter" },
.{ .name = "fexperimental-omit-vtable-rtti" },
.{ .name = "fexperimental-relative-c++-abi-vtables" },
.{ .name = "fexperimental-sanitize-metadata=atomics" },
.{ .name = "fexperimental-sanitize-metadata=covered" },
.{ .name = "fexperimental-sanitize-metadata=uar" },
.{ .name = "fexperimental-strict-floating-point" },
.{ .name = "fextend-variable-liveness" },
.{ .name = "fexternal-blas" },
.{ .name = "fexternc-nounwind" },
.{ .name = "ff2c" },
.{ .name = "ffake-address-space-map" },
.{ .name = "ffast-math" },
.{ .name = "ffat-lto-objects" },
.{ .name = "ffile-reproducible" },
.{ .name = "fimplicit-modules-use-lock" },
.{ .name = "ffine-grained-bitfield-accesses" },
.{ .name = "ffinite-loops" },
.{ .name = "ffinite-math-only" },
.{ .name = "finline-limit" },
.{ .name = "ffixed-a0" },
.{ .name = "ffixed-a1" },
.{ .name = "ffixed-a2" },
.{ .name = "ffixed-a3" },
.{ .name = "ffixed-a4" },
.{ .name = "ffixed-a5" },
.{ .name = "ffixed-a6" },
.{ .name = "ffixed-d0" },
.{ .name = "ffixed-d1" },
.{ .name = "ffixed-d2" },
.{ .name = "ffixed-d3" },
.{ .name = "ffixed-d4" },
.{ .name = "ffixed-d5" },
.{ .name = "ffixed-d6" },
.{ .name = "ffixed-d7" },
.{ .name = "ffixed-form" },
.{ .name = "ffixed-g1" },
.{ .name = "ffixed-g2" },
.{ .name = "ffixed-g3" },
.{ .name = "ffixed-g4" },
.{ .name = "ffixed-g5" },
.{ .name = "ffixed-g6" },
.{ .name = "ffixed-g7" },
.{ .name = "ffixed-i0" },
.{ .name = "ffixed-i1" },
.{ .name = "ffixed-i2" },
.{ .name = "ffixed-i3" },
.{ .name = "ffixed-i4" },
.{ .name = "ffixed-i5" },
.{ .name = "ffixed-l0" },
.{ .name = "ffixed-l1" },
.{ .name = "ffixed-l2" },
.{ .name = "ffixed-l3" },
.{ .name = "ffixed-l4" },
.{ .name = "ffixed-l5" },
.{ .name = "ffixed-l6" },
.{ .name = "ffixed-l7" },
.{ .name = "ffixed-o0" },
.{ .name = "ffixed-o1" },
.{ .name = "ffixed-o2" },
.{ .name = "ffixed-o3" },
.{ .name = "ffixed-o4" },
.{ .name = "ffixed-o5" },
.{ .name = "ffixed-point" },
.{ .name = "ffixed-r19" },
.{ .name = "ffixed-r9" },
.{ .name = "ffixed-x1" },
.{ .name = "ffixed-x10" },
.{ .name = "ffixed-x11" },
.{ .name = "ffixed-x12" },
.{ .name = "ffixed-x13" },
.{ .name = "ffixed-x14" },
.{ .name = "ffixed-x15" },
.{ .name = "ffixed-x16" },
.{ .name = "ffixed-x17" },
.{ .name = "ffixed-x18" },
.{ .name = "ffixed-x19" },
.{ .name = "ffixed-x2" },
.{ .name = "ffixed-x20" },
.{ .name = "ffixed-x21" },
.{ .name = "ffixed-x22" },
.{ .name = "ffixed-x23" },
.{ .name = "ffixed-x24" },
.{ .name = "ffixed-x25" },
.{ .name = "ffixed-x26" },
.{ .name = "ffixed-x27" },
.{ .name = "ffixed-x28" },
.{ .name = "ffixed-x29" },
.{ .name = "ffixed-x3" },
.{ .name = "ffixed-x30" },
.{ .name = "ffixed-x31" },
.{ .name = "ffixed-x4" },
.{ .name = "ffixed-x5" },
.{ .name = "ffixed-x6" },
.{ .name = "ffixed-x7" },
.{ .name = "ffixed-x8" },
.{ .name = "ffixed-x9" },
.{ .name = "ffloat-store" },
.{ .name = "ffor-scope" },
.{ .name = "fforbid-guard-variables" },
.{ .name = "fforce-check-cxx20-modules-input-files" },
.{ .name = "fforce-dwarf-frame" },
.{ .name = "fforce-emit-vtables" },
.{ .name = "fforce-enable-int128" },
.{ .name = "ffree-form" },
.{ .name = "ffreestanding" },
.{ .name = "ffriend-injection" },
.{ .name = "ffrontend-optimize" },
.{ .name = "ffunction-attribute-list" },
.{ .name = "ffunction-sections", .ze = .function_sections },
.{ .name = "fgcse" },
.{ .name = "fgcse-after-reload" },
.{ .name = "fgcse-las" },
.{ .name = "fgcse-sm" },
.{ .name = "fget-definition", .syntax = .{ .multi_arg = 3 } },
.{ .name = "fget-symbols-sources" },
.{ .name = "fglobal-isel" },
.{ .name = "fgnu" },
.{ .name = "fgnu89-inline" },
.{ .name = "fgnu-inline-asm" },
.{ .name = "fgnu-keywords" },
.{ .name = "fgnu-runtime" },
.{ .name = "fgpu-allow-device-init" },
.{ .name = "fgpu-approx-transcendentals" },
.{ .name = "fgpu-defer-diag" },
.{ .name = "fgpu-exclude-wrong-side-overloads" },
.{ .name = "fgpu-flush-denormals-to-zero" },
.{ .name = "fgpu-rdc" },
.{ .name = "fgpu-sanitize" },
.{ .name = "fhalf-no-semantic-interposition" },
.{ .name = "fheinous-gnu-extensions" },
.{ .name = "fhermetic-module-files" },
.{ .name = "fhip-dump-offload-linker-script" },
.{ .name = "fhip-emit-relocatable" },
.{ .name = "fhip-fp32-correctly-rounded-divide-sqrt" },
.{ .name = "fhip-kernel-arg-name" },
.{ .name = "fhip-new-launch-api" },
.{ .name = "fhlsl-strict-availability" },
.{ .name = "fhonor-infinities" },
.{ .name = "fhonor-nans" },
.{ .name = "fhosted" },
.{ .name = "fignore-exceptions" },
.{ .name = "filelist", .syntax = .separate },
.{ .name = "filetype", .syntax = .separate },
.{ .name = "fimplement-inlines" },
.{ .name = "fimplicit-module-maps" },
.{ .name = "fimplicit-modules" },
.{ .name = "fimplicit-none" },
.{ .name = "fimplicit-none-ext" },
.{ .name = "fimplicit-templates" },
.{ .name = "finclude-default-header" },
.{ .name = "fincremental-extensions" },
.{ .name = "finit-global-zero" },
.{ .name = "finit-local-zero" },
.{ .name = "finline" },
.{ .name = "finline-functions" },
.{ .name = "finline-functions-called-once" },
.{ .name = "finline-hint-functions" },
.{ .name = "finline-small-functions" },
.{ .name = "finstrument-function-entry-bare" },
.{ .name = "finstrument-functions" },
.{ .name = "finstrument-functions-after-inlining" },
.{ .name = "finteger-4-integer-8" },
.{ .name = "fintegrated-as" },
.{ .name = "fintegrated-cc1" },
.{ .name = "fintegrated-objemitter" },
.{ .name = "fintrinsic-modules-path", .syntax = .separate },
.{ .name = "fipa-cp" },
.{ .name = "fivopts" },
.{ .name = "fix-only-warnings" },
.{ .name = "fix-what-you-can" },
.{ .name = "fixit" },
.{ .name = "fixit-recompile" },
.{ .name = "fixit-to-temporary" },
.{ .name = "fjmc" },
.{ .name = "fjump-tables" },
.{ .name = "fkeep-persistent-storage-variables" },
.{ .name = "fkeep-static-consts" },
.{ .name = "fkeep-system-includes" },
.{ .name = "flang-deprecated-no-hlfir" },
.{ .name = "flang-experimental-hlfir" },
.{ .name = "flarge-sizes" },
.{ .name = "flat_namespace" },
.{ .name = "flax-vector-conversions" },
.{ .name = "fexperimental-lifetime-safety" },
.{ .name = "flimit-debug-info" },
.{ .name = "flogical-abbreviations" },
.{ .name = "floop-interchange" },
.{ .name = "fversion-loops-for-stride" },
.{ .name = "flto", .ze = .lto },
.{ .name = "flto=auto", .ze = .lto },
.{ .name = "flto=jobserver", .ze = .lto },
.{ .name = "flto-unit" },
.{ .name = "flto-visibility-public-std" },
.{ .name = "fmath-errno" },
.{ .name = "fmax-identifier-length" },
.{ .name = "fcoverage-mcdc" },
.{ .name = "fmemory-profile" },
.{ .name = "fmerge-all-constants" },
.{ .name = "fmerge-constants" },
.{ .name = "fmerge-functions" },
.{ .name = "fminimize-whitespace" },
.{ .name = "fmodule-feature", .syntax = .separate },
.{ .name = "fmodule-file-deps" },
.{ .name = "fmodule-file-home-is-cwd" },
.{ .name = "fmodule-header" },
.{ .name = "fmodule-implementation-of", .syntax = .separate },
.{ .name = "fmodule-map-file-home-is-cwd" },
.{ .name = "fmodule-maps" },
.{ .name = "fmodule-output" },
.{ .name = "fmodule-private" },
.{ .name = "fmodulemap-allow-subdirectory-search" },
.{ .name = "fmodules" },
.{ .name = "fmodules-codegen" },
.{ .name = "fmodules-debuginfo" },
.{ .name = "fmodules-decluse" },
.{ .name = "fmodules-disable-diagnostic-validation" },
.{ .name = "fmodules-force-validate-user-headers" },
.{ .name = "fmodules-hash-content" },
.{ .name = "fmodules-local-submodule-visibility" },
.{ .name = "fmodules-search-all" },
.{ .name = "fmodules-skip-diagnostic-options" },
.{ .name = "fmodules-skip-header-search-paths" },
.{ .name = "fmodules-strict-context-hash" },
.{ .name = "fmodules-strict-decluse" },
.{ .name = "fmodules-user-build-path", .syntax = .separate },
.{ .name = "fmodules-validate-input-files-content" },
.{ .name = "fmodules-validate-once-per-build-session" },
.{ .name = "fmodules-validate-system-headers" },
.{ .name = "fmodulo-sched" },
.{ .name = "fmodulo-sched-allow-regmoves" },
.{ .name = "fms-compatibility" },
.{ .name = "fms-define-stdc" },
.{ .name = "fms-extensions" },
.{ .name = "fms-hotpatch" },
.{ .name = "fms-kernel" },
.{ .name = "fms-tls-guards" },
.{ .name = "fms-volatile" },
.{ .name = "fmudflap" },
.{ .name = "fmudflapth" },
.{ .name = "fnative-half-arguments-and-returns" },
.{ .name = "fnative-half-type" },
.{ .name = "fnested-functions" },
.{ .name = "fnew-infallible" },
.{ .name = "fnext-runtime" },
.{ .name = "fno-PIC", .ze = .no_pic },
.{ .name = "fno-PIE", .ze = .no_pie },
.{ .name = "fno-aapcs-bitfield-width" },
.{ .name = "fno-aarch64-jump-table-hardening" },
.{ .name = "fno-access-control" },
.{ .name = "fno-addrsig" },
.{ .name = "fno-aggressive-function-elimination" },
.{ .name = "fno-align-commons" },
.{ .name = "fno-align-functions" },
.{ .name = "fno-align-jumps" },
.{ .name = "fno-align-labels" },
.{ .name = "fno-align-loops" },
.{ .name = "fno-aligned-allocation" },
.{ .name = "fno-all-intrinsics" },
.{ .name = "fno-allow-editor-placeholders" },
.{ .name = "fno-altivec" },
.{ .name = "fno-analyzed-objects-for-unparse" },
.{ .name = "fno-android-pad-segment" },
.{ .name = "fno-keep-inline-functions" },
.{ .name = "fno-unit-at-a-time" },
.{ .name = "fno-apinotes" },
.{ .name = "fno-apinotes-modules" },
.{ .name = "fno-apple-pragma-pack" },
.{ .name = "fno-application-extension" },
.{ .name = "fno-approx-func" },
.{ .name = "fno-asm" },
.{ .name = "fno-asm-blocks" },
.{ .name = "fno-associative-math" },
.{ .name = "fno-assume-nothrow-exception-dtor" },
.{ .name = "fno-assume-sane-operator-new" },
.{ .name = "fno-assume-unique-vtables" },
.{ .name = "fno-assumptions" },
.{ .name = "fno-async-exceptions" },
.{ .name = "fno-asynchronous-unwind-tables", .ze = .no_asynchronous_unwind_tables },
.{ .name = "fno-atomic-fine-grained-memory" },
.{ .name = "fno-atomic-ignore-denormal-mode" },
.{ .name = "fno-atomic-remote-memory" },
.{ .name = "fno-auto-import" },
.{ .name = "fno-auto-profile" },
.{ .name = "fno-auto-profile-accurate" },
.{ .name = "fno-autolink" },
.{ .name = "fno-automatic" },
.{ .name = "fno-backslash" },
.{ .name = "fno-backtrace" },
.{ .name = "fno-basic-block-address-map" },
.{ .name = "fno-bitfield-type-align" },
.{ .name = "fno-blocks" },
.{ .name = "fno-borland-extensions" },
.{ .name = "fno-bounds-check" },
.{ .name = "fno-experimental-bounds-safety" },
.{ .name = "fno-branch-count-reg" },
.{ .name = "fno-builtin", .ze = .no_builtin },
.{ .name = "fno-caller-saves" },
.{ .name = "fno-caret-diagnostics", .ze = .no_color_diagnostics },
.{ .name = "fno-char8_t" },
.{ .name = "fno-check-array-temporaries" },
.{ .name = "fno-check-new" },
.{ .name = "fno-clangir" },
.{ .name = "fno-color-diagnostics", .ze = .no_color_diagnostics },
.{ .name = "fno-common" },
.{ .name = "fno-complete-member-pointers" },
.{ .name = "fno-const-strings" },
.{ .name = "fno-constant-cfstrings" },
.{ .name = "fno-convergent-functions" },
.{ .name = "fno-coro-aligned-allocation" },
.{ .name = "fno-coroutines" },
.{ .name = "fno-coverage-mapping" },
.{ .name = "fno-crash-diagnostics" },
.{ .name = "fno-cray-pointer" },
.{ .name = "fno-cuda-flush-denormals-to-zero" },
.{ .name = "fno-cuda-host-device-constexpr" },
.{ .name = "fno-cuda-short-ptr" },
.{ .name = "fno-cx-fortran-rules" },
.{ .name = "fno-cx-limited-range" },
.{ .name = "fno-cxx-exceptions" },
.{ .name = "fno-cxx-modules" },
.{ .name = "fno-d-lines-as-code" },
.{ .name = "fno-d-lines-as-comments" },
.{ .name = "fno-data-sections", .ze = .no_data_sections },
.{ .name = "fno-debug-info-for-profiling" },
.{ .name = "fno-debug-macro" },
.{ .name = "fno-debug-pass-manager" },
.{ .name = "fno-debug-ranges-base-address" },
.{ .name = "fno-debug-types-section" },
.{ .name = "fno-declspec" },
.{ .name = "fno-default-inline" },
.{ .name = "fno-define-target-os-macros" },
.{ .name = "fno-delayed-template-parsing" },
.{ .name = "fno-delete-null-pointer-checks" },
.{ .name = "fno-deprecated-macro" },
.{ .name = "fno-devirtualize" },
.{ .name = "fno-devirtualize-speculatively" },
.{ .name = "fno-diagnostics-fixit-info" },
.{ .name = "fno-diagnostics-show-hotness" },
.{ .name = "fno-diagnostics-show-line-numbers" },
.{ .name = "fno-diagnostics-show-note-include-stack" },
.{ .name = "fno-diagnostics-show-option" },
.{ .name = "fno-diagnostics-use-presumed-location" },
.{ .name = "fno-digraphs" },
.{ .name = "fno-direct-access-external-data" },
.{ .name = "fno-directives-only" },
.{ .name = "fno-disable-block-signature-string" },
.{ .name = "fno-discard-value-names" },
.{ .name = "fno-dllexport-inlines" },
.{ .name = "fno-dollar-ok" },
.{ .name = "fno-dollars-in-identifiers" },
.{ .name = "fno-double-square-bracket-attributes" },
.{ .name = "fno-dump-fortran-optimized" },
.{ .name = "fno-dump-fortran-original" },
.{ .name = "fno-dump-parse-tree" },
.{ .name = "fno-dwarf2-cfi-asm" },
.{ .name = "fno-dwarf-directory-asm" },
.{ .name = "fno-elide-constructors" },
.{ .name = "fno-elide-type" },
.{ .name = "fno-eliminate-unused-debug-symbols" },
.{ .name = "fno-eliminate-unused-debug-types" },
.{ .name = "fno-emit-compact-unwind-non-canonical" },
.{ .name = "fno-emulated-tls" },
.{ .name = "fno-escaping-block-tail-calls" },
.{ .name = "fno-exceptions" },
.{ .name = "fno-experimental-isel" },
.{ .name = "fno-experimental-late-parse-attributes" },
.{ .name = "fno-experimental-library" },
.{ .name = "fno-experimental-omit-vtable-rtti" },
.{ .name = "fno-experimental-relative-c++-abi-vtables" },
.{ .name = "fno-external-blas" },
.{ .name = "fno-f2c" },
.{ .name = "fno-fast-math" },
.{ .name = "fno-fat-lto-objects" },
.{ .name = "fno-file-reproducible" },
.{ .name = "fno-implicit-modules-use-lock" },
.{ .name = "fno-fine-grained-bitfield-accesses" },
.{ .name = "fno-finite-loops" },
.{ .name = "fno-finite-math-only" },
.{ .name = "fno-inline-limit" },
.{ .name = "fno-fixed-point" },
.{ .name = "fno-float-store" },
.{ .name = "fno-for-scope" },
.{ .name = "fno-force-dwarf-frame" },
.{ .name = "fno-force-emit-vtables" },
.{ .name = "fno-force-enable-int128" },
.{ .name = "fno-friend-injection" },
.{ .name = "fno-frontend-optimize" },
.{ .name = "fno-function-attribute-list" },
.{ .name = "fno-function-sections", .ze = .no_function_sections },
.{ .name = "fno-gcse" },
.{ .name = "fno-gcse-after-reload" },
.{ .name = "fno-gcse-las" },
.{ .name = "fno-gcse-sm" },
.{ .name = "fno-global-isel" },
.{ .name = "fno-gnu" },
.{ .name = "fno-gnu89-inline" },
.{ .name = "fno-gnu-inline-asm" },
.{ .name = "fno-gnu-keywords" },
.{ .name = "fno-gpu-allow-device-init" },
.{ .name = "fno-gpu-approx-transcendentals" },
.{ .name = "fno-gpu-defer-diag" },
.{ .name = "fno-gpu-exclude-wrong-side-overloads" },
.{ .name = "fno-gpu-flush-denormals-to-zero" },
.{ .name = "fno-gpu-rdc" },
.{ .name = "fno-gpu-sanitize" },
.{ .name = "fno-hip-emit-relocatable" },
.{ .name = "fno-hip-fp32-correctly-rounded-divide-sqrt" },
.{ .name = "fno-hip-kernel-arg-name" },
.{ .name = "fno-hip-new-launch-api" },
.{ .name = "fno-honor-infinities" },
.{ .name = "fno-honor-nans" },
.{ .name = "fno-implement-inlines" },
.{ .name = "fno-implicit-module-maps" },
.{ .name = "fno-implicit-modules" },
.{ .name = "fno-implicit-none" },
.{ .name = "fno-implicit-none-ext" },
.{ .name = "fno-implicit-templates" },
.{ .name = "fno-init-global-zero" },
.{ .name = "fno-init-local-zero" },
.{ .name = "fno-inline" },
.{ .name = "fno-inline-functions" },
.{ .name = "fno-inline-functions-called-once" },
.{ .name = "fno-inline-small-functions" },
.{ .name = "fno-integer-4-integer-8" },
.{ .name = "fno-integrated-as" },
.{ .name = "fno-integrated-cc1" },
.{ .name = "fno-integrated-objemitter" },
.{ .name = "fno-ipa-cp" },
.{ .name = "fno-ivopts" },
.{ .name = "fno-jmc" },
.{ .name = "fno-jump-tables" },
.{ .name = "fno-keep-persistent-storage-variables" },
.{ .name = "fno-keep-static-consts" },
.{ .name = "fno-keep-system-includes" },
.{ .name = "fno-knr-functions" },
.{ .name = "fno-lax-vector-conversions" },
.{ .name = "fno-experimental-lifetime-safety" },
.{ .name = "fno-limit-debug-info" },
.{ .name = "fno-logical-abbreviations" },
.{ .name = "fno-loop-interchange" },
.{ .name = "fno-version-loops-for-stride" },
.{ .name = "fno-lto", .ze = .no_lto },
.{ .name = "fno-lto-unit" },
.{ .name = "fno-math-builtin" },
.{ .name = "fno-math-errno" },
.{ .name = "fno-max-identifier-length" },
.{ .name = "fno-max-type-align" },
.{ .name = "fno-coverage-mcdc" },
.{ .name = "fno-memory-profile" },
.{ .name = "fno-merge-all-constants" },
.{ .name = "fno-merge-constants" },
.{ .name = "fno-minimize-whitespace" },
.{ .name = "fno-module-file-deps" },
.{ .name = "fno-module-maps" },
.{ .name = "fno-module-private" },
.{ .name = "fno-modulemap-allow-subdirectory-search" },
.{ .name = "fno-modules" },
.{ .name = "fno-modules-decluse" },
.{ .name = "fno-modules-error-recovery" },
.{ .name = "fno-modules-force-validate-user-headers" },
.{ .name = "fno-modules-global-index" },
.{ .name = "fno-modules-prune-non-affecting-module-map-files" },
.{ .name = "fno-modules-search-all" },
.{ .name = "fno-modules-share-filemanager" },
.{ .name = "fno-modules-skip-diagnostic-options" },
.{ .name = "fno-modules-skip-header-search-paths" },
.{ .name = "fno-strict-modules-decluse" },
.{ .name = "fno_modules-validate-input-files-content" },
.{ .name = "fno-modules-validate-system-headers" },
.{ .name = "fno-modules-validate-textual-header-includes" },
.{ .name = "fno-modulo-sched" },
.{ .name = "fno-modulo-sched-allow-regmoves" },
.{ .name = "fno-ms-compatibility" },
.{ .name = "fno-ms-extensions" },
.{ .name = "fno-ms-tls-guards" },
.{ .name = "fno-ms-volatile" },
.{ .name = "fno-new-infallible" },
.{ .name = "fno-non-call-exceptions" },
.{ .name = "fno-objc-arc" },
.{ .name = "fno-objc-arc-exceptions" },
.{ .name = "fno-objc-avoid-heapify-local-blocks" },
.{ .name = "fno-objc-convert-messages-to-runtime-calls" },
.{ .name = "fno-objc-encode-cxx-class-template-spec" },
.{ .name = "fno-objc-exceptions" },
.{ .name = "fno-objc-infer-related-result-type" },
.{ .name = "fno-objc-legacy-dispatch" },
.{ .name = "fno-objc-nonfragile-abi" },
.{ .name = "fno-objc-weak" },
.{ .name = "fno-offload-implicit-host-device-templates" },
.{ .name = "fno-offload-lto" },
.{ .name = "fno-offload-uniform-block" },
.{ .name = "fno-offload-via-llvm" },
.{ .name = "fno-omit-frame-pointer", .ze = .no_omit_frame_pointer },
.{ .name = "fno-openmp" },
.{ .name = "fno-openmp-assume-teams-oversubscription" },
.{ .name = "fno-openmp-assume-threads-oversubscription" },
.{ .name = "fno-openmp-cuda-mode" },
.{ .name = "fno-openmp-extensions" },
.{ .name = "fno-openmp-new-driver" },
.{ .name = "fno-openmp-optimistic-collapse" },
.{ .name = "fno-openmp-simd" },
.{ .name = "fno-openmp-target-debug" },
.{ .name = "fno-openmp-target-jit" },
.{ .name = "fno-openmp-target-new-runtime" },
.{ .name = "fno-operator-names" },
.{ .name = "fno-optimize-sibling-calls" },
.{ .name = "fno-pack-derived" },
.{ .name = "fno-pack-struct" },
.{ .name = "fno-padding-on-unsigned-fixed-point" },
.{ .name = "fno-pascal-strings" },
.{ .name = "fno-pch-codegen" },
.{ .name = "fno-pch-debuginfo" },
.{ .name = "fno-pch-instantiate-templates" },
.{ .name = "fno-pch-timestamp" },
.{ .name = "fno_pch-validate-input-files-content" },
.{ .name = "fno-peel-loops" },
.{ .name = "fno-permissive" },
.{ .name = "fno-pic", .ze = .no_pic },
.{ .name = "fno-pie", .ze = .no_pie },
.{ .name = "fno-plt" },
.{ .name = "fno-pointer-tbaa" },
.{ .name = "fno-ppc-native-vector-element-order" },
.{ .name = "fno-prebuilt-implicit-modules" },
.{ .name = "fno-prefetch-loop-arrays" },
.{ .name = "fno-preserve-as-comments" },
.{ .name = "fno-printf" },
.{ .name = "fno-profile" },
.{ .name = "fno-profile-arcs" },
.{ .name = "fno-profile-correction" },
.{ .name = "fno-profile-generate" },
.{ .name = "fno-profile-generate-sampling" },
.{ .name = "fno-profile-instr-generate" },
.{ .name = "fno-profile-instr-use" },
.{ .name = "fno-profile-reusedist" },
.{ .name = "fno-profile-sample-accurate" },
.{ .name = "fno-profile-sample-use" },
.{ .name = "fno-profile-use" },
.{ .name = "fno-profile-values" },
.{ .name = "fno-protect-parens" },
.{ .name = "fno-pseudo-probe-for-profiling" },
.{ .name = "fno-ptrauth-auth-traps" },
.{ .name = "fno-ptrauth-block-descriptor-pointers" },
.{ .name = "fno-ptrauth-calls" },
.{ .name = "fno-ptrauth-elf-got" },
.{ .name = "fno-ptrauth-function-pointer-type-discrimination" },
.{ .name = "fno-ptrauth-indirect-gotos" },
.{ .name = "fno-ptrauth-init-fini" },
.{ .name = "fno-ptrauth-init-fini-address-discrimination" },
.{ .name = "fno-ptrauth-intrinsics" },
.{ .name = "fno-ptrauth-objc-class-ro" },
.{ .name = "fno-ptrauth-objc-interface-sel" },
.{ .name = "fno-ptrauth-objc-isa" },
.{ .name = "fno-ptrauth-returns" },
.{ .name = "fno-ptrauth-type-info-vtable-pointer-discrimination" },
.{ .name = "fno-ptrauth-vtable-pointer-address-discrimination" },
.{ .name = "fno-ptrauth-vtable-pointer-type-discrimination" },
.{ .name = "fno-range-check" },
.{ .name = "fno-raw-string-literals" },
.{ .name = "fno-real-4-real-10" },
.{ .name = "fno-real-4-real-16" },
.{ .name = "fno-real-4-real-8" },
.{ .name = "fno-real-8-real-10" },
.{ .name = "fno-real-8-real-16" },
.{ .name = "fno-real-8-real-4" },
.{ .name = "fno-realloc-lhs" },
.{ .name = "fno-reciprocal-math" },
.{ .name = "fno-record-command-line" },
.{ .name = "fno-recovery-ast" },
.{ .name = "fno-recovery-ast-type" },
.{ .name = "fno-recursive" },
.{ .name = "fno-reformat" },
.{ .name = "fno-register-global-dtors-with-atexit" },
.{ .name = "fno-regs-graph" },
.{ .name = "fno-rename-registers" },
.{ .name = "fno-reorder-blocks" },
.{ .name = "fno-repack-arrays" },
.{ .name = "fno-rewrite-imports" },
.{ .name = "fno-rewrite-includes" },
.{ .name = "fno-ripa" },
.{ .name = "fno-ropi" },
.{ .name = "fno-rounding-math" },
.{ .name = "fno-rtlib-add-rpath" },
.{ .name = "fno-rtlib-defaultlib" },
.{ .name = "fno-rtti" },
.{ .name = "fno-rtti-data" },
.{ .name = "fno-rwpi" },
.{ .name = "fno-safe-buffer-usage-suggestions" },
.{ .name = "fno-sample-profile-use-profi" },
.{ .name = "fno-sanitize-address-globals-dead-stripping" },
.{ .name = "fno-sanitize-address-outline-instrumentation" },
.{ .name = "fno-sanitize-address-poison-custom-array-cookie" },
.{ .name = "fno-sanitize-address-use-after-scope" },
.{ .name = "fno-sanitize-address-use-odr-indicator" },
.{ .name = "fno-sanitize-annotate-debug-info" },
.{ .name = "fno-sanitize-cfi-canonical-jump-tables" },
.{ .name = "fno-sanitize-cfi-cross-dso" },
.{ .name = "fno-sanitize-hwaddress-experimental-aliasing" },
.{ .name = "fno-sanitize-ignorelist" },
.{ .name = "fno-sanitize-link-c++-runtime" },
.{ .name = "fno-sanitize-link-runtime" },
.{ .name = "fno-sanitize-memory-param-retval" },
.{ .name = "fno-sanitize-memory-track-origins" },
.{ .name = "fno-sanitize-memory-use-after-dtor" },
.{ .name = "fno-sanitize-merge" },
.{ .name = "fno-sanitize-minimal-runtime" },
.{ .name = "fno-sanitize-recover" },
.{ .name = "fno-sanitize-stable-abi" },
.{ .name = "fno-sanitize-stats" },
.{ .name = "fno-sanitize-thread-atomics" },
.{ .name = "fno-sanitize-thread-func-entry-exit" },
.{ .name = "fno-sanitize-thread-memory-access" },
.{ .name = "fno-sanitize-trap", .ze = .no_sanitize_trap },
.{ .name = "fno-sanitize-undefined-trap-on-error" },
.{ .name = "fno-save-main-program" },
.{ .name = "fno-save-optimization-record" },
.{ .name = "fno-schedule-insns" },
.{ .name = "fno-schedule-insns2" },
.{ .name = "fno-second-underscore" },
.{ .name = "fno-see" },
.{ .name = "fno-semantic-interposition" },
.{ .name = "fno-separate-named-sections" },
.{ .name = "fno-short-enums" },
.{ .name = "fno-short-wchar" },
.{ .name = "fno-show-column" },
.{ .name = "fno-show-source-location" },
.{ .name = "fno-sign-zero" },
.{ .name = "fno-signaling-math" },
.{ .name = "fno-signaling-nans" },
.{ .name = "fno-signed-char" },
.{ .name = "fno-signed-wchar" },
.{ .name = "fno-signed-zeros" },
.{ .name = "fno-single-precision-constant" },
.{ .name = "fno-sized-deallocation" },
.{ .name = "fno-skip-odr-check-in-gmf" },
.{ .name = "fno-slp-vectorize" },
.{ .name = "fno-spec-constr-count" },
.{ .name = "fno-spell-checking" },
.{ .name = "fno-split-dwarf-inlining" },
.{ .name = "fno-split-lto-unit" },
.{ .name = "fno-split-machine-functions" },
.{ .name = "fno-split-stack" },
.{ .name = "fno-stack-arrays" },
.{ .name = "fno-stack-check", .ze = .no_stack_check },
.{ .name = "fno-stack-clash-protection" },
.{ .name = "fno-stack-protector", .ze = .no_stack_protector },
.{ .name = "fno-stack-repack-arrays" },
.{ .name = "fno-stack-size-section" },
.{ .name = "fno-standalone-debug" },
.{ .name = "fno-strength-reduce" },
.{ .name = "fno-strict-aliasing" },
.{ .name = "fno-strict-enums" },
.{ .name = "fno-strict-float-cast-overflow" },
.{ .name = "fno-strict-overflow" },
.{ .name = "fno-strict-return" },
.{ .name = "fno-strict-vtable-pointers" },
.{ .name = "fno-struct-path-tbaa" },
.{ .name = "fno-swift-version-independent-apinotes" },
.{ .name = "fno-sycl" },
.{ .name = "fno-temp-file" },
.{ .name = "fno-test-coverage" },
.{ .name = "fno-threadsafe-statics" },
.{ .name = "fno-tls-model" },
.{ .name = "fno-tracer" },
.{ .name = "fno-trapping-math" },
.{ .name = "fno-tree-dce" },
.{ .name = "fno-tree-salias" },
.{ .name = "fno-tree-ter" },
.{ .name = "fno-tree-vectorizer-verbose" },
.{ .name = "fno-tree-vrp" },
.{ .name = "fno-trigraphs" },
.{ .name = "fno-underscoring" },
.{ .name = "fno-unified-lto" },
.{ .name = "fno-unique-basic-block-section-names" },
.{ .name = "fno-unique-internal-linkage-names" },
.{ .name = "fno-unique-section-names" },
.{ .name = "fno-unique-source-file-names" },
.{ .name = "fno-unroll-all-loops" },
.{ .name = "fno-unroll-loops" },
.{ .name = "fno-unsafe-loop-optimizations" },
.{ .name = "fno-unsafe-math-optimizations" },
.{ .name = "fno-unsigned" },
.{ .name = "fno-unsigned-char" },
.{ .name = "fno-unswitch-loops" },
.{ .name = "fno-unwind-tables", .ze = .no_unwind_tables },
.{ .name = "fno-use-ctor-homing" },
.{ .name = "fno-use-cxa-atexit" },
.{ .name = "fno-use-init-array" },
.{ .name = "fno-use-line-directives" },
.{ .name = "fno-use-linker-plugin" },
.{ .name = "fno-validate-pch" },
.{ .name = "fno-var-tracking" },
.{ .name = "fno-variable-expansion-in-unroller" },
.{ .name = "fno-vect-cost-model" },
.{ .name = "fno-vectorize" },
.{ .name = "fno-verbose-asm" },
.{ .name = "fno-verify-intermediate-code" },
.{ .name = "fno-virtual-function-elimination" },
.{ .name = "fno-visibility-from-dllstorageclass" },
.{ .name = "fno-visibility-inlines-hidden" },
.{ .name = "fno-visibility-inlines-hidden-static-local-var" },
.{ .name = "fno-wchar" },
.{ .name = "fno-web" },
.{ .name = "fno-whole-file" },
.{ .name = "fno-whole-program" },
.{ .name = "fno-whole-program-vtables" },
.{ .name = "fno-working-directory" },
.{ .name = "fno-wrapv" },
.{ .name = "fno-wrapv-pointer" },
.{ .name = "fno-xl-pragma-pack" },
.{ .name = "fno-xor-operator" },
.{ .name = "fno-xray-always-emit-customevents" },
.{ .name = "fno-xray-always-emit-typedevents" },
.{ .name = "fno-xray-function-index" },
.{ .name = "fno-xray-ignore-loops" },
.{ .name = "fno-xray-instrument" },
.{ .name = "fno-xray-link-deps" },
.{ .name = "fno-xray-shared" },
.{ .name = "fno-zero-initialized-in-bss" },
.{ .name = "fno-zos-extensions" },
.{ .name = "fno-zvector" },
.{ .name = "fnon-call-exceptions" },
.{ .name = "fnoopenmp-relocatable-target" },
.{ .name = "fnoopenmp-use-tls" },
.{ .name = "fobjc-arc" },
.{ .name = "fobjc-arc-exceptions" },
.{ .name = "fobjc-atdefs" },
.{ .name = "fobjc-avoid-heapify-local-blocks" },
.{ .name = "fobjc-call-cxx-cdtors" },
.{ .name = "fobjc-convert-messages-to-runtime-calls" },
.{ .name = "fobjc-disable-direct-methods-for-testing" },
.{ .name = "fobjc-encode-cxx-class-template-spec" },
.{ .name = "fobjc-exceptions" },
.{ .name = "fobjc-gc" },
.{ .name = "fobjc-gc-only" },
.{ .name = "fobjc-infer-related-result-type" },
.{ .name = "fobjc-legacy-dispatch" },
.{ .name = "fobjc-link-runtime" },
.{ .name = "fobjc-new-property" },
.{ .name = "fobjc-nonfragile-abi" },
.{ .name = "fobjc-runtime-has-weak" },
.{ .name = "fobjc-sender-dependent-dispatch" },
.{ .name = "fobjc-subscripting-legacy-runtime" },
.{ .name = "fobjc-weak" },
.{ .name = "foffload-implicit-host-device-templates" },
.{ .name = "foffload-lto" },
.{ .name = "foffload-uniform-block" },
.{ .name = "foffload-via-llvm" },
.{ .name = "fomit-frame-pointer", .ze = .omit_frame_pointer },
.{ .name = "fopenacc" },
.{ .name = "fopenmp" },
.{ .name = "fopenmp-assume-no-nested-parallelism" },
.{ .name = "fopenmp-assume-no-thread-state" },
.{ .name = "fopenmp-assume-teams-oversubscription" },
.{ .name = "fopenmp-assume-threads-oversubscription" },
.{ .name = "fopenmp-cuda-mode" },
.{ .name = "fopenmp-enable-irbuilder" },
.{ .name = "fopenmp-extensions" },
.{ .name = "fopenmp-force-usm" },
.{ .name = "fopenmp-host-ir-file-path", .syntax = .separate },
.{ .name = "fopenmp-is-target-device" },
.{ .name = "fopenmp-new-driver" },
.{ .name = "fopenmp-offload-mandatory" },
.{ .name = "fopenmp-optimistic-collapse" },
.{ .name = "fopenmp-relocatable-target" },
.{ .name = "fopenmp-simd" },
.{ .name = "fopenmp-target-debug" },
.{ .name = "fopenmp-target-jit" },
.{ .name = "fopenmp-target-new-runtime" },
.{ .name = "fopenmp-use-tls" },
.{ .name = "foperator-names" },
.{ .name = "foptimize-sibling-calls" },
.{ .name = "force_cpusubtype_ALL" },
.{ .name = "force_flat_namespace" },
.{ .name = "force_load", .syntax = .separate },
.{ .name = "fpack-derived" },
.{ .name = "fpack-struct" },
.{ .name = "fpadding-on-unsigned-fixed-point" },
.{ .name = "fparse-all-comments" },
.{ .name = "fpascal-strings" },
.{ .name = "fpass-by-value-is-noalias" },
.{ .name = "fpcc-struct-return" },
.{ .name = "fpch-codegen" },
.{ .name = "fpch-debuginfo" },
.{ .name = "fpch-instantiate-templates" },
.{ .name = "fpch-preprocess" },
.{ .name = "fpch-validate-input-files-content" },
.{ .name = "fpeel-loops" },
.{ .name = "fpermissive" },
.{ .name = "fpic", .ze = .pic },
.{ .name = "fpie", .ze = .pie },
.{ .name = "fplt" },
.{ .name = "fpointer-tbaa" },
.{ .name = "fppc-native-vector-element-order" },
.{ .name = "fprebuilt-implicit-modules" },
.{ .name = "fprefetch-loop-arrays" },
.{ .name = "fpreprocess-include-lines" },
.{ .name = "fpreserve-as-comments" },
.{ .name = "fprintf" },
.{ .name = "fprofile" },
.{ .name = "fprofile-arcs" },
.{ .name = "fprofile-continuous" },
.{ .name = "fprofile-correction" },
.{ .name = "fprofile-generate" },
.{ .name = "fprofile-generate-cold-function-coverage" },
.{ .name = "fprofile-generate-sampling" },
.{ .name = "fprofile-instr-generate" },
.{ .name = "fprofile-instr-use" },
.{ .name = "fprofile-reusedist" },
.{ .name = "fprofile-sample-accurate" },
.{ .name = "fprofile-use" },
.{ .name = "fprofile-values" },
.{ .name = "fprotect-parens" },
.{ .name = "fpseudo-probe-for-profiling" },
.{ .name = "fptrauth-auth-traps" },
.{ .name = "fptrauth-block-descriptor-pointers" },
.{ .name = "fptrauth-calls" },
.{ .name = "fptrauth-elf-got" },
.{ .name = "fptrauth-function-pointer-type-discrimination" },
.{ .name = "fptrauth-indirect-gotos" },
.{ .name = "fptrauth-init-fini" },
.{ .name = "fptrauth-init-fini-address-discrimination" },
.{ .name = "fptrauth-intrinsics" },
.{ .name = "fptrauth-objc-class-ro" },
.{ .name = "fptrauth-objc-interface-sel" },
.{ .name = "fptrauth-objc-isa" },
.{ .name = "fptrauth-returns" },
.{ .name = "fptrauth-type-info-vtable-pointer-discrimination" },
.{ .name = "fptrauth-vtable-pointer-address-discrimination" },
.{ .name = "fptrauth-vtable-pointer-type-discrimination" },
.{
.name = "framework",
.ze = .framework,
.syntax = .separate,
},
.{ .name = "frange-check" },
.{ .name = "fraw-string-literals" },
.{ .name = "freal-4-real-10" },
.{ .name = "freal-4-real-16" },
.{ .name = "freal-4-real-8" },
.{ .name = "freal-8-real-10" },
.{ .name = "freal-8-real-16" },
.{ .name = "freal-8-real-4" },
.{ .name = "frealloc-lhs" },
.{ .name = "freciprocal-math" },
.{ .name = "frecord-command-line" },
.{ .name = "frecovery-ast" },
.{ .name = "frecovery-ast-type" },
.{ .name = "frecursive" },
.{ .name = "freg-struct-return" },
.{ .name = "fregister-global-dtors-with-atexit" },
.{ .name = "fregs-graph" },
.{ .name = "frename-registers" },
.{ .name = "freorder-blocks" },
.{ .name = "frepack-arrays" },
.{ .name = "fretain-comments-from-system-headers" },
.{ .name = "frewrite-imports" },
.{ .name = "frewrite-includes" },
.{ .name = "fripa" },
.{ .name = "fropi" },
.{ .name = "frounding-math" },
.{ .name = "frtlib-add-rpath" },
.{ .name = "frtlib-defaultlib" },
.{ .name = "frtti" },
.{ .name = "frtti-data" },
.{ .name = "frwpi" },
.{ .name = "fsafe-buffer-usage-suggestions" },
.{ .name = "fsample-profile-use-profi" },
.{ .name = "fsanitize-address-globals-dead-stripping" },
.{ .name = "fsanitize-address-outline-instrumentation" },
.{ .name = "fsanitize-address-poison-custom-array-cookie" },
.{ .name = "fsanitize-address-use-after-scope" },
.{ .name = "fsanitize-address-use-odr-indicator" },
.{ .name = "fsanitize-annotate-debug-info" },
.{ .name = "fsanitize-cfi-canonical-jump-tables" },
.{ .name = "fsanitize-cfi-cross-dso" },
.{ .name = "fsanitize-cfi-icall-generalize-pointers" },
.{ .name = "fsanitize-cfi-icall-experimental-normalize-integers" },
.{ .name = "fsanitize-coverage-8bit-counters" },
.{ .name = "fsanitize-coverage-control-flow" },
.{ .name = "fsanitize-coverage-indirect-calls" },
.{ .name = "fsanitize-coverage-inline-8bit-counters" },
.{ .name = "fsanitize-coverage-inline-bool-flag" },
.{ .name = "fsanitize-coverage-no-prune" },
.{ .name = "fsanitize-coverage-pc-table" },
.{ .name = "fsanitize-coverage-stack-depth" },
.{ .name = "fsanitize-coverage-trace-bb" },
.{ .name = "fsanitize-coverage-trace-cmp" },
.{ .name = "fsanitize-coverage-trace-div" },
.{ .name = "fsanitize-coverage-trace-gep" },
.{ .name = "fsanitize-coverage-trace-loads" },
.{ .name = "fsanitize-coverage-trace-pc" },
.{ .name = "fsanitize-coverage-trace-pc-guard", .ze = .san_cov_trace_pc_guard },
.{ .name = "fsanitize-coverage-trace-stores" },
.{ .name = "fsanitize-hwaddress-experimental-aliasing" },
.{ .name = "fsanitize-kcfi-arity" },
.{ .name = "fsanitize-link-c++-runtime" },
.{ .name = "fsanitize-link-runtime" },
.{ .name = "fsanitize-memory-param-retval" },
.{ .name = "fsanitize-memory-track-origins" },
.{ .name = "fsanitize-memory-use-after-dtor" },
.{ .name = "fsanitize-merge" },
.{ .name = "fsanitize-minimal-runtime" },
.{ .name = "fsanitize-recover" },
.{ .name = "fsanitize-stable-abi" },
.{ .name = "fsanitize-stats" },
.{ .name = "fsanitize-thread-atomics" },
.{ .name = "fsanitize-thread-func-entry-exit" },
.{ .name = "fsanitize-thread-memory-access" },
.{ .name = "fsanitize-trap", .ze = .sanitize_trap },
.{ .name = "fsanitize-undefined-trap-on-error" },
.{ .name = "fsave-main-program" },
.{ .name = "fsave-optimization-record" },
.{ .name = "fschedule-insns" },
.{ .name = "fschedule-insns2" },
.{ .name = "fsecond-underscore" },
.{ .name = "fsee" },
.{ .name = "fseh-exceptions" },
.{ .name = "fsemantic-interposition" },
.{ .name = "fseparate-named-sections" },
.{ .name = "fshort-enums" },
.{ .name = "fshort-wchar" },
.{ .name = "fshow-column" },
.{ .name = "fshow-skipped-includes" },
.{ .name = "fshow-source-location" },
.{ .name = "fsign-zero" },
.{ .name = "fsignaling-math" },
.{ .name = "fsignaling-nans" },
.{ .name = "fsigned-bitfields" },
.{ .name = "fsigned-char" },
.{ .name = "fsigned-wchar" },
.{ .name = "fsigned-zeros" },
.{ .name = "fsingle-precision-constant" },
.{ .name = "fsized-deallocation" },
.{ .name = "fsjlj-exceptions" },
.{ .name = "fskip-odr-check-in-gmf" },
.{ .name = "fslp-vectorize" },
.{ .name = "fspec-constr-count" },
.{ .name = "fspell-checking" },
.{ .name = "fsplit-dwarf-inlining" },
.{ .name = "fsplit-lto-unit" },
.{ .name = "fsplit-machine-functions" },
.{ .name = "fsplit-stack" },
.{ .name = "fstack-arrays" },
.{ .name = "fstack-check", .ze = .stack_check },
.{ .name = "fstack-clash-protection" },
.{ .name = "fstack-protector", .ze = .stack_protector },
.{ .name = "fstack-protector-all", .ze = .stack_protector },
.{ .name = "fstack-protector-strong", .ze = .stack_protector },
.{ .name = "fstack-repack-arrays" },
.{ .name = "fstack-size-section" },
.{ .name = "fstack-usage" },
.{ .name = "fstandalone-debug" },
.{ .name = "fstrength-reduce" },
.{ .name = "fstrict-aliasing" },
.{ .name = "fstrict-enums" },
.{ .name = "fstrict-float-cast-overflow" },
.{ .name = "fstrict-overflow" },
.{ .name = "fstrict-return" },
.{ .name = "fstrict-vtable-pointers" },
.{ .name = "fstruct-path-tbaa" },
.{ .name = "fswift-version-independent-apinotes" },
.{ .name = "fsycl" },
.{ .name = "fsycl-device-only" },
.{ .name = "fsycl-host-only" },
.{ .name = "fsycl-is-device" },
.{ .name = "fsycl-is-host" },
.{ .name = "fsyntax-only" },
.{ .name = "fsystem-module" },
.{ .name = "ftabstop", .syntax = .separate },
.{ .name = "ftemporal-profile" },
.{ .name = "ftest-coverage" },
.{ .name = "fthreadsafe-statics" },
.{ .name = "ftime-report" },
.{ .name = "ftime-report-json" },
.{ .name = "ftime-trace" },
.{ .name = "ftls-model" },
.{ .name = "ftracer" },
.{ .name = "ftrapping-math" },
.{ .name = "ftrapv" },
.{ .name = "ftrapv-handler", .syntax = .separate },
.{ .name = "ftree-dce" },
.{ .name = "ftree-salias" },
.{ .name = "ftree-ter" },
.{ .name = "ftree-vectorizer-verbose" },
.{ .name = "ftree-vrp" },
.{ .name = "ftrigraphs" },
.{ .name = "function-alignment", .syntax = .separate },
.{ .name = "funderscoring" },
.{ .name = "funified-lto" },
.{ .name = "funique-basic-block-section-names" },
.{ .name = "funique-internal-linkage-names" },
.{ .name = "funique-section-names" },
.{ .name = "funique-source-file-names" },
.{ .name = "funknown-anytype" },
.{ .name = "funroll-all-loops" },
.{ .name = "funroll-loops" },
.{ .name = "funsafe-loop-optimizations" },
.{ .name = "funsafe-math-optimizations" },
.{ .name = "funsigned" },
.{ .name = "funsigned-bitfields" },
.{ .name = "funsigned-char" },
.{ .name = "funswitch-loops" },
.{ .name = "funwind-tables", .ze = .unwind_tables },
.{ .name = "fuse-ctor-homing" },
.{ .name = "fuse-cxa-atexit" },
.{ .name = "fuse-init-array" },
.{ .name = "fuse-line-directives" },
.{ .name = "fuse-linker-plugin" },
.{ .name = "fuse-register-sized-bitfield-access" },
.{ .name = "fvalidate-ast-input-files-content" },
.{ .name = "fvariable-expansion-in-unroller" },
.{ .name = "fvect-cost-model" },
.{ .name = "fvectorize" },
.{ .name = "fverbose-asm" },
.{ .name = "fverify-debuginfo-preserve" },
.{ .name = "fverify-intermediate-code" },
.{ .name = "fvirtual-function-elimination" },
.{ .name = "fvisibility-from-dllstorageclass" },
.{ .name = "fvisibility-global-new-delete-hidden" },
.{ .name = "fvisibility-inlines-hidden" },
.{ .name = "fvisibility-inlines-hidden-static-local-var" },
.{ .name = "fvisibility-ms-compat" },
.{ .name = "fvk-use-dx-layout", .psl = true },
.{ .name = "fvk-use-gl-layout", .psl = true },
.{ .name = "fvk-use-scalar-layout", .psl = true },
.{ .name = "fwasm-exceptions" },
.{ .name = "fweb" },
.{ .name = "fwhole-file" },
.{ .name = "fwhole-program" },
.{ .name = "fwhole-program-vtables" },
.{ .name = "fwrapv" },
.{ .name = "fwrapv-pointer" },
.{ .name = "fwritable-strings" },
.{ .name = "fxl-pragma-pack" },
.{ .name = "fxor-operator" },
.{ .name = "fxray-always-emit-customevents" },
.{ .name = "fxray-always-emit-typedevents" },
.{ .name = "fxray-function-index" },
.{ .name = "fxray-ignore-loops" },
.{ .name = "fxray-instrument" },
.{ .name = "fxray-link-deps" },
.{ .name = "fxray-shared" },
.{ .name = "fzero-initialized-in-bss" },
.{ .name = "fzos-extensions" },
.{ .name = "fzvector" },
.{ .name = "g0" },
.{ .name = "g1", .ze = .debug },
.{ .name = "g2" },
.{ .name = "g3" },
.{ .name = "g", .ze = .debug },
.{ .name = "gcodeview" },
.{ .name = "gcodeview-command-line" },
.{ .name = "gcodeview-ghash" },
.{ .name = "gcolumn-info" },
.{ .name = "gdbx" },
.{ .name = "gdwarf", .ze = .debug },
.{ .name = "gdwarf32", .ze = .gdwarf32 },
.{ .name = "gdwarf64", .ze = .gdwarf64 },
.{ .name = "gdwarf-2", .ze = .debug },
.{ .name = "gdwarf-3", .ze = .debug },
.{ .name = "gdwarf-4", .ze = .debug },
.{ .name = "gdwarf-5", .ze = .debug },
.{ .name = "gdwarf-aranges" },
.{ .name = "gembed-source" },
.{ .name = "gen-cdb-fragment-path", .syntax = .separate },
.{ .name = "gen-reproducer" },
.{ .name = "gfull" },
.{ .name = "ggdb" },
.{ .name = "ggdb0" },
.{ .name = "ggdb1" },
.{ .name = "ggdb2" },
.{ .name = "ggdb3" },
.{ .name = "ggnu-pubnames" },
.{ .name = "ginline-line-tables" },
.{ .name = "gkey-instructions" },
.{ .name = "gline-directives-only" },
.{ .name = "gline-tables-only", .ze = .debug },
.{ .name = "glldb" },
.{ .name = "gmlt" },
.{ .name = "gmodules" },
.{ .name = "gno-codeview-command-line" },
.{ .name = "gno-codeview-ghash" },
.{ .name = "gno-column-info" },
.{ .name = "gno-embed-source" },
.{ .name = "gno-gnu-pubnames" },
.{ .name = "gno-inline-line-tables" },
.{ .name = "gno-key-instructions" },
.{ .name = "gno-modules" },
.{ .name = "gno-omit-unreferenced-methods" },
.{ .name = "gno-pubnames" },
.{ .name = "gno-record-command-line" },
.{ .name = "gno-simple-template-names" },
.{ .name = "gno-split-dwarf" },
.{ .name = "gno-strict-dwarf" },
.{ .name = "gno-template-alias" },
.{ .name = "gomit-unreferenced-methods" },
.{
.name = "gpu-bundle-output",
.pd1 = false,
.pd2 = true,
},
.{
.name = "gpu-use-aux-triple-only",
.pd1 = false,
.pd2 = true,
},
.{ .name = "gpubnames" },
.{ .name = "gpulibc" },
.{ .name = "grecord-command-line" },
.{ .name = "gsce" },
.{ .name = "gsimple-template-names" },
.{ .name = "gsplit-dwarf" },
.{ .name = "gstrict-dwarf" },
.{ .name = "gtemplate-alias" },
.{ .name = "gtoggle" },
.{ .name = "gused" },
.{ .name = "gz" },
.{ .name = "header-include-file", .syntax = .separate },
.{
.name = "help",
.ze = .driver_punt,
.pd2 = true,
},
.{
.name = "hip-link",
.pd1 = false,
.pd2 = true,
},
.{
.name = "hipstdpar",
.pd1 = false,
.pd2 = true,
},
.{
.name = "hipstdpar-interpose-alloc",
.pd1 = false,
.pd2 = true,
},
.{ .name = "ibuiltininc" },
.{ .name = "ignore-pch" },
.{ .name = "image_base", .syntax = .separate },
.{ .name = "import-call-optimization" },
.{ .name = "imultilib", .syntax = .separate },
.{ .name = "include-pch", .syntax = .separate },
.{ .name = "init", .syntax = .separate },
.{ .name = "init-only" },
.{
.name = "install_name",
.ze = .install_name,
.syntax = .separate,
},
.{ .name = "internal-externc-isystem", .syntax = .separate },
.{ .name = "internal-iframework", .syntax = .separate },
.{ .name = "internal-isystem", .syntax = .separate },
.{ .name = "keep_private_externs" },
.{ .name = "lazy_framework", .syntax = .separate },
.{ .name = "lazy_library", .syntax = .separate },
.{ .name = "llvm-verify-each" },
.{ .name = "load", .syntax = .separate },
.{ .name = "m16" },
.{ .name = "m32" },
.{ .name = "m3dnow" },
.{ .name = "m3dnowa" },
.{ .name = "m64" },
.{ .name = "m68000" },
.{ .name = "m68010" },
.{ .name = "m68020" },
.{ .name = "m68030" },
.{ .name = "m68040" },
.{ .name = "m68060" },
.{ .name = "m68881" },
.{ .name = "m80387" },
.{ .name = "mseses", .ze = .m },
.{ .name = "mabi=ieeelongdouble" },
.{ .name = "mabi=quadword-atomics" },
.{ .name = "mabi=vec-extabi" },
.{ .name = "mabicalls" },
.{ .name = "madx", .ze = .m },
.{ .name = "maes", .ze = .m },
.{ .name = "main-file-name", .syntax = .separate },
.{ .name = "maix32" },
.{ .name = "maix64" },
.{ .name = "maix-shared-lib-tls-model-opt" },
.{ .name = "maix-small-local-dynamic-tls" },
.{ .name = "maix-small-local-exec-tls" },
.{ .name = "maix-struct-return" },
.{ .name = "malign-double" },
.{ .name = "maltivec", .ze = .m },
.{ .name = "mamdgpu-ieee" },
.{ .name = "mamdgpu-precise-memory-op" },
.{ .name = "mamx-avx512", .ze = .m },
.{ .name = "mamx-bf16", .ze = .m },
.{ .name = "mamx-complex", .ze = .m },
.{ .name = "mamx-fp16", .ze = .m },
.{ .name = "mamx-fp8", .ze = .m },
.{ .name = "mamx-int8", .ze = .m },
.{ .name = "mamx-movrs", .ze = .m },
.{ .name = "mamx-tf32", .ze = .m },
.{ .name = "mamx-tile", .ze = .m },
.{ .name = "mamx-transpose", .ze = .m },
.{ .name = "mannotate-tablejump" },
.{ .name = "mapx-inline-asm-use-gpr32" },
.{ .name = "mapxf" },
.{ .name = "marm" },
.{ .name = "massembler-fatal-warnings" },
.{ .name = "massembler-no-warn" },
.{ .name = "matomics", .ze = .m },
.{ .name = "mavx", .ze = .m },
.{ .name = "mavx10.1" },
.{ .name = "mavx10.1-256" },
.{ .name = "mavx10.1-512", .ze = .m },
.{ .name = "mavx10.2" },
.{ .name = "mavx10.2-256" },
.{ .name = "mavx10.2-512", .ze = .m },
.{ .name = "mavx2", .ze = .m },
.{ .name = "mavx512bf16", .ze = .m },
.{ .name = "mavx512bitalg", .ze = .m },
.{ .name = "mavx512bw", .ze = .m },
.{ .name = "mavx512cd", .ze = .m },
.{ .name = "mavx512dq", .ze = .m },
.{ .name = "mavx512f", .ze = .m },
.{ .name = "mavx512fp16", .ze = .m },
.{ .name = "mavx512ifma", .ze = .m },
.{ .name = "mavx512vbmi", .ze = .m },
.{ .name = "mavx512vbmi2", .ze = .m },
.{ .name = "mavx512vl", .ze = .m },
.{ .name = "mavx512vnni", .ze = .m },
.{ .name = "mavx512vp2intersect", .ze = .m },
.{ .name = "mavx512vpopcntdq", .ze = .m },
.{ .name = "mavxifma", .ze = .m },
.{ .name = "mavxneconvert", .ze = .m },
.{ .name = "mavxvnni", .ze = .m },
.{ .name = "mavxvnniint16", .ze = .m },
.{ .name = "mavxvnniint8", .ze = .m },
.{ .name = "mbackchain", .ze = .m },
.{ .name = "mbig-endian" },
.{ .name = "mbmi", .ze = .m },
.{ .name = "mbmi2", .ze = .m },
.{ .name = "mbranch-likely" },
.{ .name = "mbranch-protection-pauth-lr" },
.{ .name = "mbranch-target-enforce" },
.{ .name = "mbranches-within-32B-boundaries" },
.{ .name = "mbulk-memory", .ze = .m },
.{ .name = "mbulk-memory-opt", .ze = .m },
.{ .name = "mcabac", .ze = .m },
.{ .name = "mcall-indirect-overlong", .ze = .m },
.{ .name = "mcheck-zero-division" },
.{ .name = "mcldemote", .ze = .m },
.{ .name = "mclflushopt", .ze = .m },
.{ .name = "mclwb", .ze = .m },
.{ .name = "mclzero", .ze = .m },
.{ .name = "mcmpb", .ze = .m },
.{ .name = "mcmpccxadd", .ze = .m },
.{ .name = "mcmse" },
.{ .name = "mconstant-cfstrings" },
.{ .name = "mconstructor-aliases" },
.{ .name = "mcrbits", .ze = .m },
.{ .name = "mcrc", .ze = .m },
.{ .name = "mcrc32", .ze = .m },
.{ .name = "mcumode", .ze = .m },
.{ .name = "mcx16", .ze = .m },
.{ .name = "mdaz-ftz" },
.{ .name = "mdebug-pass", .syntax = .separate },
.{ .name = "mdirect-move", .ze = .m },
.{ .name = "mdiv32", .ze = .m },
.{ .name = "mdouble-float" },
.{ .name = "mdsp", .ze = .m },
.{ .name = "mdspr2", .ze = .m },
.{ .name = "meabi", .syntax = .separate },
.{ .name = "mefpu2", .ze = .m },
.{ .name = "membedded-data" },
.{ .name = "menable-experimental-extensions" },
.{ .name = "menable-no-infs" },
.{ .name = "menable-no-nans" },
.{ .name = "menqcmd", .ze = .m },
.{ .name = "metal", .psl = true },
.{ .name = "mevex512", .ze = .m },
.{ .name = "mexception-handling", .ze = .m },
.{ .name = "mexecute-only", .ze = .m },
.{ .name = "mextended-const", .ze = .m },
.{ .name = "mextern-sdata" },
.{ .name = "mf16c", .ze = .m },
.{ .name = "mfancy-math-387" },
.{ .name = "mfentry" },
.{ .name = "mfix4300" },
.{ .name = "mfix-and-continue" },
.{ .name = "mfix-cmse-cve-2021-35465", .ze = .m },
.{ .name = "mfix-cortex-a53-835769", .ze = .m },
.{ .name = "mfix-cortex-a53-843419" },
.{ .name = "mfix-cortex-a57-aes-1742098", .ze = .m },
.{ .name = "mfix-cortex-a72-aes-1655431" },
.{ .name = "mfix-gr712rc" },
.{ .name = "mfix-ut700" },
.{ .name = "mfloat128", .ze = .m },
.{ .name = "mfloat-abi", .syntax = .separate },
.{ .name = "mfma", .ze = .m },
.{ .name = "mfma4", .ze = .m },
.{ .name = "mfp16", .ze = .m },
.{ .name = "mfp32" },
.{ .name = "mfp64", .ze = .m },
.{ .name = "mfpmath", .syntax = .separate },
.{ .name = "mfprnd", .ze = .m },
.{ .name = "mfpu", .ze = .m },
.{ .name = "mfpxx", .ze = .m },
.{ .name = "mfrecipe", .ze = .m },
.{ .name = "mfsgsbase", .ze = .m },
.{ .name = "mfsmuld" },
.{ .name = "mfxsr", .ze = .m },
.{ .name = "mgeneral-regs-only" },
.{ .name = "mgfni", .ze = .m },
.{ .name = "mginv", .ze = .m },
.{ .name = "mglibc" },
.{ .name = "mglobal-merge" },
.{ .name = "mgpopt" },
.{ .name = "mguarded-control-stack" },
.{ .name = "mhard-float", .ze = .m },
.{ .name = "mhard-quad-float", .ze = .m },
.{ .name = "mhvx", .ze = .m },
.{ .name = "mhvx-ieee-fp", .ze = .m },
.{ .name = "mhvx-qfloat", .ze = .m },
.{ .name = "mhreset", .ze = .m },
.{ .name = "mhtm", .ze = .m },
.{ .name = "miamcu" },
.{ .name = "mieee-fp" },
.{ .name = "mieee-rnd-near" },
.{ .name = "mignore-xcoff-visibility" },
.{ .name = "no-finalize-removal" },
.{ .name = "no-ns-alloc-error" },
.{ .name = "mimplicit-float" },
.{ .name = "mincremental-linker-compatible" },
.{ .name = "mindirect-branch-cs-prefix" },
.{ .name = "minline-all-stringops" },
.{ .name = "minvariant-function-descriptors", .ze = .m },
.{ .name = "minvpcid", .ze = .m },
.{ .name = "mips1" },
.{ .name = "mips16" },
.{ .name = "mips2" },
.{ .name = "mips3" },
.{ .name = "mips32" },
.{ .name = "mips32r2" },
.{ .name = "mips32r3" },
.{ .name = "mips32r5" },
.{ .name = "mips32r6" },
.{ .name = "mips4" },
.{ .name = "mips5" },
.{ .name = "mips64" },
.{ .name = "mips64r2" },
.{ .name = "mips64r3" },
.{ .name = "mips64r5" },
.{ .name = "mips64r6" },
.{ .name = "misel", .ze = .m },
.{ .name = "mkernel" },
.{ .name = "mkl", .ze = .m },
.{ .name = "mlam-bh", .ze = .m },
.{ .name = "mlamcas", .ze = .m },
.{ .name = "mlasx", .ze = .m },
.{ .name = "mld-seq-sa", .ze = .m },
.{ .name = "mldc1-sdc1" },
.{ .name = "mlimit-float-precision", .syntax = .separate },
.{ .name = "mlink-bitcode-file", .syntax = .separate },
.{ .name = "mlink-builtin-bitcode", .syntax = .separate },
.{ .name = "mlink-builtin-bitcode-postopt" },
.{ .name = "mlittle-endian" },
.{ .name = "mllvm", .syntax = .separate },
.{ .name = "mlocal-sdata" },
.{ .name = "mlong-calls", .ze = .m },
.{ .name = "mlong-double-128" },
.{ .name = "mlong-double-64" },
.{ .name = "mlong-double-80" },
.{ .name = "mlongcall", .ze = .m },
.{ .name = "mlr-for-calls-only" },
.{ .name = "mlsx", .ze = .m },
.{ .name = "mlvi-cfi", .ze = .m },
.{ .name = "mlvi-hardening" },
.{ .name = "mlwp", .ze = .m },
.{ .name = "mlzcnt", .ze = .m },
.{ .name = "mmadd4" },
.{ .name = "mmapsyms=implicit" },
.{ .name = "mmark-bti-property" },
.{ .name = "mmemops", .ze = .m },
.{ .name = "mmfcrf" },
.{ .name = "mmfocrf", .ze = .m },
.{ .name = "mmicromips", .ze = .m },
.{ .name = "mmlir", .syntax = .separate },
.{ .name = "mmma", .ze = .m },
.{ .name = "mmmx", .ze = .m },
.{ .name = "mmovbe", .ze = .m },
.{ .name = "mmovdir64b", .ze = .m },
.{ .name = "mmovdiri", .ze = .m },
.{ .name = "mmovrs", .ze = .m },
.{ .name = "mmpx" },
.{ .name = "mms-bitfields" },
.{ .name = "mmsa", .ze = .m },
.{ .name = "mmt", .ze = .m },
.{ .name = "mmultimemory", .ze = .m },
.{ .name = "mmultivalue", .ze = .m },
.{ .name = "mmutable-globals", .ze = .m },
.{ .name = "mmwaitx", .ze = .m },
.{ .name = "mno-3dnow" },
.{ .name = "mno-3dnowa" },
.{ .name = "mno-80387" },
.{ .name = "mno-abicalls" },
.{ .name = "mno-adx", .ze = .m },
.{ .name = "mno-aes", .ze = .m },
.{ .name = "mno-altivec", .ze = .m },
.{ .name = "mno-amdgpu-ieee" },
.{ .name = "mno-amdgpu-precise-memory-op" },
.{ .name = "mno-amx-avx512", .ze = .m },
.{ .name = "mno-amx-bf16", .ze = .m },
.{ .name = "mno-amx-complex", .ze = .m },
.{ .name = "mno-amx-fp16", .ze = .m },
.{ .name = "mno-amx-fp8", .ze = .m },
.{ .name = "mno-amx-int8", .ze = .m },
.{ .name = "mno-amx-movrs", .ze = .m },
.{ .name = "mno-amx-tf32", .ze = .m },
.{ .name = "mno-amx-tile", .ze = .m },
.{ .name = "mno-amx-transpose", .ze = .m },
.{ .name = "mno-annotate-tablejump" },
.{ .name = "mno-apxf" },
.{ .name = "mno-atomics", .ze = .m },
.{ .name = "mno-avx", .ze = .m },
.{ .name = "mno-avx10.1" },
.{ .name = "mno-avx10.1-256" },
.{ .name = "mno-avx10.1-512", .ze = .m },
.{ .name = "mno-avx10.2" },
.{ .name = "mno-avx2", .ze = .m },
.{ .name = "mno-avx512bf16", .ze = .m },
.{ .name = "mno-avx512bitalg", .ze = .m },
.{ .name = "mno-avx512bw", .ze = .m },
.{ .name = "mno-avx512cd", .ze = .m },
.{ .name = "mno-avx512dq", .ze = .m },
.{ .name = "mno-avx512f", .ze = .m },
.{ .name = "mno-avx512fp16", .ze = .m },
.{ .name = "mno-avx512ifma", .ze = .m },
.{ .name = "mno-avx512vbmi", .ze = .m },
.{ .name = "mno-avx512vbmi2", .ze = .m },
.{ .name = "mno-avx512vl", .ze = .m },
.{ .name = "mno-avx512vnni", .ze = .m },
.{ .name = "mno-avx512vp2intersect", .ze = .m },
.{ .name = "mno-avx512vpopcntdq", .ze = .m },
.{ .name = "mno-avxifma", .ze = .m },
.{ .name = "mno-avxneconvert", .ze = .m },
.{ .name = "mno-avxvnni", .ze = .m },
.{ .name = "mno-avxvnniint16", .ze = .m },
.{ .name = "mno-avxvnniint8", .ze = .m },
.{ .name = "mno-backchain", .ze = .m },
.{ .name = "mno-bmi", .ze = .m },
.{ .name = "mno-bmi2", .ze = .m },
.{ .name = "mno-branch-likely" },
.{ .name = "mno-bti-at-return-twice", .ze = .m },
.{ .name = "mno-bulk-memory", .ze = .m },
.{ .name = "mno-bulk-memory-opt", .ze = .m },
.{ .name = "mno-call-indirect-overlong", .ze = .m },
.{ .name = "mno-check-zero-division" },
.{ .name = "mno-cldemote", .ze = .m },
.{ .name = "mno-clflushopt", .ze = .m },
.{ .name = "mno-clwb", .ze = .m },
.{ .name = "mno-clzero", .ze = .m },
.{ .name = "mno-cmpb", .ze = .m },
.{ .name = "mno-cmpccxadd", .ze = .m },
.{ .name = "mno-constant-cfstrings" },
.{ .name = "mno-constructor-aliases" },
.{ .name = "mno-crbits", .ze = .m },
.{ .name = "mno-crc", .ze = .m },
.{ .name = "mno-crc32", .ze = .m },
.{ .name = "mno-cumode", .ze = .m },
.{ .name = "mno-cx16", .ze = .m },
.{ .name = "mno-daz-ftz" },
.{ .name = "mno-div32", .ze = .m },
.{ .name = "mno-dsp", .ze = .m },
.{ .name = "mno-dspr2", .ze = .m },
.{ .name = "mno-embedded-data" },
.{ .name = "mno-enqcmd", .ze = .m },
.{ .name = "mno-evex512", .ze = .m },
.{ .name = "mno-exception-handling", .ze = .m },
.{ .name = "mnoexecstack" },
.{ .name = "mno-execute-only", .ze = .m },
.{ .name = "mno-extended-const", .ze = .m },
.{ .name = "mno-extern-sdata" },
.{ .name = "mno-f16c", .ze = .m },
.{ .name = "mno-fix-cmse-cve-2021-35465", .ze = .m },
.{ .name = "mno-fix-cortex-a53-835769", .ze = .m },
.{ .name = "mno-fix-cortex-a53-843419" },
.{ .name = "mno-fix-cortex-a57-aes-1742098", .ze = .m },
.{ .name = "mno-fix-cortex-a72-aes-1655431" },
.{ .name = "mno-float128", .ze = .m },
.{ .name = "mno-fma", .ze = .m },
.{ .name = "mno-fma4", .ze = .m },
.{ .name = "mno-fmv", .ze = .m },
.{ .name = "mno-fp16", .ze = .m },
.{ .name = "mno-fp-ret-in-387" },
.{ .name = "mno-fprnd", .ze = .m },
.{ .name = "mno-fpu", .ze = .m },
.{ .name = "mno-frecipe", .ze = .m },
.{ .name = "mno-fsgsbase", .ze = .m },
.{ .name = "mno-fsmuld", .ze = .m },
.{ .name = "mno-fxsr", .ze = .m },
.{ .name = "mno-gather" },
.{ .name = "mno-gfni", .ze = .m },
.{ .name = "mno-ginv", .ze = .m },
.{ .name = "mno-global-merge" },
.{ .name = "mno-gpopt" },
.{ .name = "mno-hvx", .ze = .m },
.{ .name = "mno-hvx-ieee-fp", .ze = .m },
.{ .name = "mno-hvx-qfloat", .ze = .m },
.{ .name = "mno-hreset", .ze = .m },
.{ .name = "mno-htm", .ze = .m },
.{ .name = "mno-iamcu" },
.{ .name = "mno-implicit-float" },
.{ .name = "mno-incremental-linker-compatible" },
.{ .name = "mno-inline-all-stringops" },
.{ .name = "mno-invariant-function-descriptors", .ze = .m },
.{ .name = "mno-invpcid", .ze = .m },
.{ .name = "mno-isel", .ze = .m },
.{ .name = "mno-kl", .ze = .m },
.{ .name = "mno-lam-bh", .ze = .m },
.{ .name = "mno-lamcas", .ze = .m },
.{ .name = "mno-lasx", .ze = .m },
.{ .name = "mno-ld-seq-sa", .ze = .m },
.{ .name = "mno-ldc1-sdc1" },
.{ .name = "mno-link-builtin-bitcode-postopt" },
.{ .name = "mno-local-sdata" },
.{ .name = "mno-long-calls", .ze = .m },
.{ .name = "mno-longcall", .ze = .m },
.{ .name = "mno-lsx", .ze = .m },
.{ .name = "mno-lvi-cfi", .ze = .m },
.{ .name = "mno-lvi-hardening" },
.{ .name = "mno-lwp", .ze = .m },
.{ .name = "mno-lzcnt", .ze = .m },
.{ .name = "mno-madd4" },
.{ .name = "mno-memops", .ze = .m },
.{ .name = "mno-mfcrf" },
.{ .name = "mno-mfocrf", .ze = .m },
.{ .name = "mno-micromips", .ze = .m },
.{ .name = "mno-mips16", .ze = .m },
.{ .name = "mno-mma", .ze = .m },
.{ .name = "mno-mmx", .ze = .m },
.{ .name = "mno-movbe", .ze = .m },
.{ .name = "mno-movdir64b", .ze = .m },
.{ .name = "mno-movdiri", .ze = .m },
.{ .name = "mno-movrs", .ze = .m },
.{ .name = "mno-movt", .ze = .m },
.{ .name = "mno-mpx" },
.{ .name = "mno-ms-bitfields" },
.{ .name = "mno-msa", .ze = .m },
.{ .name = "mno-mt", .ze = .m },
.{ .name = "mno-multimemory", .ze = .m },
.{ .name = "mno-multivalue", .ze = .m },
.{ .name = "mno-mutable-globals", .ze = .m },
.{ .name = "mno-mwaitx", .ze = .m },
.{ .name = "mno-neg-immediates", .ze = .m },
.{ .name = "mno-nontrapping-fptoint", .ze = .m },
.{ .name = "mno-nvj", .ze = .m },
.{ .name = "mno-nvs", .ze = .m },
.{ .name = "mno-odd-spreg" },
.{ .name = "mno-omit-leaf-frame-pointer" },
.{ .name = "mno-outline" },
.{ .name = "mno-outline-atomics", .ze = .m },
.{ .name = "mno-packed-stack" },
.{ .name = "mno-packets", .ze = .m },
.{ .name = "mno-pascal-strings" },
.{ .name = "mno-pclmul", .ze = .m },
.{ .name = "mno-pconfig", .ze = .m },
.{ .name = "mno-pcrel" },
.{ .name = "mno-pic-data-is-text-relative" },
.{ .name = "mno-pku", .ze = .m },
.{ .name = "mno-popc", .ze = .m },
.{ .name = "mno-popcnt", .ze = .m },
.{ .name = "mno-popcntd", .ze = .m },
.{ .name = "mno-power10-vector", .ze = .m },
.{ .name = "mno-power8-vector", .ze = .m },
.{ .name = "mno-power9-vector", .ze = .m },
.{ .name = "mno-prefetchi", .ze = .m },
.{ .name = "mno-prefixed" },
.{ .name = "mno-prfchw", .ze = .m },
.{ .name = "mno-ptwrite", .ze = .m },
.{ .name = "mno-pure-code" },
.{ .name = "mno-raoint", .ze = .m },
.{ .name = "mno-rdpid", .ze = .m },
.{ .name = "mno-rdpru", .ze = .m },
.{ .name = "mno-rdrnd", .ze = .m },
.{ .name = "mno-rdseed", .ze = .m },
.{ .name = "mno-red-zone", .ze = .no_red_zone },
.{ .name = "mno-reference-types", .ze = .m },
.{ .name = "mno-regnames" },
.{ .name = "mno-relax", .ze = .m },
.{ .name = "mno-relax-all" },
.{ .name = "mno-relax-pic-calls" },
.{ .name = "mno-relaxed-simd", .ze = .m },
.{ .name = "mno-restrict-it" },
.{ .name = "mno-retpoline", .ze = .m },
.{ .name = "mno-retpoline-external-thunk", .ze = .m },
.{ .name = "mno-rtd" },
.{ .name = "mno-rtm", .ze = .m },
.{ .name = "mno-sahf", .ze = .m },
.{ .name = "mno-save-restore", .ze = .m },
.{ .name = "mno-scalar-strict-align" },
.{ .name = "mno-scatter" },
.{ .name = "mno-scq", .ze = .m },
.{ .name = "mno-serialize", .ze = .m },
.{ .name = "mno-seses", .ze = .m },
.{ .name = "mno-sgx", .ze = .m },
.{ .name = "mno-sha", .ze = .m },
.{ .name = "mno-sha512", .ze = .m },
.{ .name = "mno-shstk", .ze = .m },
.{ .name = "mno-sign-ext", .ze = .m },
.{ .name = "mno-simd128", .ze = .m },
.{ .name = "mno-skip-rax-setup" },
.{ .name = "mno-sm3", .ze = .m },
.{ .name = "mno-sm4", .ze = .m },
.{ .name = "mno-soft-float", .ze = .m },
.{ .name = "mno-spe", .ze = .m },
.{ .name = "mno-speculative-load-hardening" },
.{ .name = "mno-sse", .ze = .m },
.{ .name = "mno-sse2", .ze = .m },
.{ .name = "mno-sse3", .ze = .m },
.{ .name = "mno-sse4" },
.{ .name = "mno-sse4.1", .ze = .m },
.{ .name = "mno-sse4.2", .ze = .m },
.{ .name = "mno-sse4a", .ze = .m },
.{ .name = "mno-ssse3", .ze = .m },
.{ .name = "mno-stack-arg-probe" },
.{ .name = "mno-stackrealign" },
.{ .name = "mno-strict-align", .ze = .m },
.{ .name = "mno-tail-call", .ze = .m },
.{ .name = "mno-tbm", .ze = .m },
.{ .name = "mno-tgsplit", .ze = .m },
.{ .name = "mno-thumb" },
.{ .name = "mno-tls-direct-seg-refs" },
.{ .name = "mno-tocdata" },
.{ .name = "mno-tsxldtrk", .ze = .m },
.{ .name = "mno-type-check" },
.{ .name = "mno-uintr", .ze = .m },
.{ .name = "mno-unaligned-access" },
.{ .name = "mno-unaligned-symbols", .ze = .m },
.{ .name = "mno-unsafe-fp-atomics" },
.{ .name = "mno-usermsr", .ze = .m },
.{ .name = "mno-v8plus", .ze = .m },
.{ .name = "mno-vaes", .ze = .m },
.{ .name = "mno-vector-strict-align" },
.{ .name = "mno-vevpu" },
.{ .name = "mno-virt", .ze = .m },
.{ .name = "mno-vis", .ze = .m },
.{ .name = "mno-vis2", .ze = .m },
.{ .name = "mno-vis3", .ze = .m },
.{ .name = "mno-vpclmulqdq", .ze = .m },
.{ .name = "mno-vsx", .ze = .m },
.{ .name = "mno-vx" },
.{ .name = "mno-vzeroupper", .ze = .m },
.{ .name = "mno-waitpkg", .ze = .m },
.{ .name = "mno-warn-nonportable-cfstrings" },
.{ .name = "mno-wavefrontsize64", .ze = .m },
.{ .name = "mno-wbnoinvd", .ze = .m },
.{ .name = "mno-wide-arithmetic", .ze = .m },
.{ .name = "mno-widekl", .ze = .m },
.{ .name = "mno-x87", .ze = .m },
.{ .name = "mno-xcoff-roptr" },
.{ .name = "mno-xgot", .ze = .m },
.{ .name = "mno-xop", .ze = .m },
.{ .name = "mno-xsave", .ze = .m },
.{ .name = "mno-xsavec", .ze = .m },
.{ .name = "mno-xsaveopt", .ze = .m },
.{ .name = "mno-xsaves", .ze = .m },
.{ .name = "mno-zvector" },
.{ .name = "mnocrc" },
.{ .name = "mno-direct-move", .ze = .m },
.{ .name = "mnontrapping-fptoint", .ze = .m },
.{ .name = "mnop-mcount" },
.{ .name = "mno-paired-vector-memops", .ze = .m },
.{ .name = "mno-crypto", .ze = .m },
.{ .name = "mnvj", .ze = .m },
.{ .name = "mnvs", .ze = .m },
.{ .name = "modd-spreg" },
.{ .name = "module-dependency-dir", .syntax = .separate },
.{ .name = "module-file-deps" },
.{ .name = "module-file-info" },
.{ .name = "module-suffix", .syntax = .separate },
.{ .name = "fmodules-reduced-bmi" },
.{ .name = "momit-leaf-frame-pointer" },
.{ .name = "moutline" },
.{ .name = "moutline-atomics", .ze = .m },
.{ .name = "mpacked-stack" },
.{ .name = "mpackets", .ze = .m },
.{ .name = "mpaired-vector-memops", .ze = .m },
.{ .name = "mpascal-strings" },
.{ .name = "mpclmul", .ze = .m },
.{ .name = "mpconfig", .ze = .m },
.{ .name = "mpcrel" },
.{ .name = "mpic-data-is-text-relative" },
.{ .name = "mpku", .ze = .m },
.{ .name = "mpopc", .ze = .m },
.{ .name = "mpopcnt", .ze = .m },
.{ .name = "mpopcntd", .ze = .m },
.{ .name = "mpower10-vector", .ze = .m },
.{ .name = "mcrypto", .ze = .m },
.{ .name = "mpower8-vector", .ze = .m },
.{ .name = "mpower9-vector", .ze = .m },
.{ .name = "mprefetchi", .ze = .m },
.{ .name = "mprefixed" },
.{ .name = "mprfchw", .ze = .m },
.{ .name = "mprivileged", .ze = .m },
.{ .name = "mptwrite", .ze = .m },
.{ .name = "mpure-code" },
.{ .name = "mqdsp6-compat" },
.{ .name = "mraoint", .ze = .m },
.{ .name = "mrdpid", .ze = .m },
.{ .name = "mrdpru", .ze = .m },
.{ .name = "mrdrnd", .ze = .m },
.{ .name = "mrdseed", .ze = .m },
.{ .name = "mreassociate" },
.{ .name = "mrecip" },
.{ .name = "mrecord-mcount" },
.{ .name = "mred-zone", .ze = .red_zone },
.{ .name = "mreference-types", .ze = .m },
.{ .name = "mregnames" },
.{ .name = "mregparm", .syntax = .separate },
.{ .name = "mrelax", .ze = .m },
.{ .name = "mrelax-all" },
.{ .name = "mrelax-pic-calls" },
.{ .name = "mrelax-relocations=no" },
.{ .name = "mrelaxed-simd", .ze = .m },
.{ .name = "mrelocation-model", .syntax = .separate },
.{ .name = "mrestrict-it" },
.{ .name = "mretpoline", .ze = .m },
.{ .name = "mretpoline-external-thunk", .ze = .m },
.{ .name = "mrop-protect", .ze = .m },
.{ .name = "mrtd" },
.{ .name = "mrtm", .ze = .m },
.{ .name = "msahf", .ze = .m },
.{ .name = "msave-reg-params" },
.{ .name = "msave-restore", .ze = .m },
.{ .name = "msave-temp-labels" },
.{ .name = "mscalar-strict-align" },
.{ .name = "mscq", .ze = .m },
.{ .name = "msecure-plt", .ze = .m },
.{ .name = "mserialize", .ze = .m },
.{ .name = "msgx", .ze = .m },
.{ .name = "msha", .ze = .m },
.{ .name = "msha512", .ze = .m },
.{ .name = "mshstk", .ze = .m },
.{ .name = "msign-ext", .ze = .m },
.{ .name = "msim" },
.{ .name = "msimd128", .ze = .m },
.{ .name = "msingle-float", .ze = .m },
.{ .name = "mskip-rax-setup" },
.{ .name = "msm3", .ze = .m },
.{ .name = "msm4", .ze = .m },
.{ .name = "msmall-data-limit", .syntax = .separate },
.{ .name = "msoft-float", .ze = .m },
.{ .name = "msoft-quad-float" },
.{ .name = "mspe", .ze = .m },
.{ .name = "mspeculative-load-hardening" },
.{ .name = "msse", .ze = .m },
.{ .name = "msse2", .ze = .m },
.{ .name = "msse2avx" },
.{ .name = "msse3", .ze = .m },
.{ .name = "msse4" },
.{ .name = "msse4.1", .ze = .m },
.{ .name = "msse4.2", .ze = .m },
.{ .name = "msse4a", .ze = .m },
.{ .name = "mssse3", .ze = .m },
.{ .name = "mstack-arg-probe" },
.{ .name = "mstackrealign" },
.{ .name = "mstrict-align", .ze = .m },
.{ .name = "msvr4-struct-return" },
.{ .name = "mtail-call", .ze = .m },
.{ .name = "mtbm", .ze = .m },
.{ .name = "mtgsplit", .ze = .m },
.{ .name = "mthread-model", .syntax = .separate },
.{ .name = "mthumb" },
.{ .name = "mtls-direct-seg-refs" },
.{ .name = "mtocdata" },
.{ .name = "mtp", .syntax = .separate },
.{ .name = "mtsxldtrk", .ze = .m },
.{ .name = "muclibc" },
.{ .name = "muintr", .ze = .m },
.{ .name = "multi_module" },
.{ .name = "multiply_defined", .syntax = .separate },
.{ .name = "multiply_defined_unused", .syntax = .separate },
.{ .name = "munaligned-access" },
.{ .name = "munaligned-symbols", .ze = .m },
.{ .name = "munsafe-fp-atomics" },
.{ .name = "musermsr", .ze = .m },
.{ .name = "mv5", .ze = .m },
.{ .name = "mv55", .ze = .m },
.{ .name = "mv60", .ze = .m },
.{ .name = "mv62", .ze = .m },
.{ .name = "mv65", .ze = .m },
.{ .name = "mv66", .ze = .m },
.{ .name = "mv67", .ze = .m },
.{ .name = "mv67t" },
.{ .name = "mv68", .ze = .m },
.{ .name = "mv69", .ze = .m },
.{ .name = "mv71", .ze = .m },
.{ .name = "mv71t" },
.{ .name = "mv73", .ze = .m },
.{ .name = "mv75", .ze = .m },
.{ .name = "mv79", .ze = .m },
.{ .name = "mv8plus", .ze = .m },
.{ .name = "mvaes", .ze = .m },
.{ .name = "mvector-strict-align" },
.{ .name = "mvevpu" },
.{ .name = "mvirt", .ze = .m },
.{ .name = "mvis", .ze = .m },
.{ .name = "mvis2", .ze = .m },
.{ .name = "mvis3", .ze = .m },
.{ .name = "mvpclmulqdq", .ze = .m },
.{ .name = "mvsx", .ze = .m },
.{ .name = "mvx" },
.{ .name = "mvzeroupper", .ze = .m },
.{ .name = "mwaitpkg", .ze = .m },
.{ .name = "mwarn-nonportable-cfstrings" },
.{ .name = "mwavefrontsize64", .ze = .m },
.{ .name = "mwbnoinvd", .ze = .m },
.{ .name = "mwide-arithmetic", .ze = .m },
.{ .name = "mwidekl", .ze = .m },
.{ .name = "mx32" },
.{ .name = "mx87", .ze = .m },
.{ .name = "mxcoff-roptr" },
.{ .name = "mxgot", .ze = .m },
.{ .name = "mxop", .ze = .m },
.{ .name = "mxsave", .ze = .m },
.{ .name = "mxsavec", .ze = .m },
.{ .name = "mxsaveopt", .ze = .m },
.{ .name = "mxsaves", .ze = .m },
.{ .name = "mzvector" },
.{ .name = "n" },
.{ .name = "new-struct-path-tbaa" },
.{ .name = "no_dead_strip_inits_and_terms" },
.{ .name = "no-canonical-prefixes" },
.{ .name = "no-clear-ast-before-backend" },
.{ .name = "no-code-completion-globals" },
.{ .name = "no-code-completion-ns-level-decls" },
.{ .name = "no-cpp-precomp" },
.{
.name = "no-cuda-noopt-device-debug",
.pd1 = false,
.pd2 = true,
},
.{
.name = "no-cuda-version-check",
.pd1 = false,
.pd2 = true,
},
.{ .name = "fno-c++-static-destructors" },
.{
.name = "no-default-config",
.pd1 = false,
.pd2 = true,
},
.{ .name = "no-disable-free" },
.{ .name = "no-emit-llvm-uselists" },
.{ .name = "no-enable-noundef-analysis" },
.{
.name = "no-gpu-bundle-output",
.pd1 = false,
.pd2 = true,
},
.{ .name = "no-hip-rt" },
.{ .name = "no-implicit-float" },
.{ .name = "no-integrated-cpp", .pd2 = true },
.{
.name = "no-offload-add-rpath",
.pd1 = false,
.pd2 = true,
},
.{
.name = "no-offload-compress",
.pd1 = false,
.pd2 = true,
},
.{
.name = "no-offload-inc",
.pd1 = false,
.pd2 = true,
},
.{
.name = "no-offload-new-driver",
.pd1 = false,
.pd2 = true,
},
.{
.name = "no-offloadlib",
.pd1 = false,
.pd2 = true,
},
.{ .name = "no-pedantic", .pd2 = true },
.{ .name = "no-pie", .ze = .no_pie },
.{ .name = "no-pointer-tbaa" },
.{ .name = "no-pthread" },
.{ .name = "no-round-trip-args" },
.{ .name = "no-struct-path-tbaa" },
.{
.name = "no-wasm-opt",
.pd1 = false,
.pd2 = true,
},
.{ .name = "nobuiltininc" },
.{ .name = "nocpp" },
.{ .name = "nodefaultlibs" },
.{ .name = "nodriverkitlib" },
.{ .name = "nofixprebinding" },
.{ .name = "nogpulibc" },
.{ .name = "nohipwrapperinc" },
.{ .name = "nolibc", .ze = .nostdlib },
.{ .name = "nomultidefs" },
.{ .name = "nopie", .ze = .no_pie },
.{ .name = "noprebind" },
.{ .name = "noprofilelib" },
.{ .name = "noseglinkedit" },
.{ .name = "nostartfiles" },
.{ .name = "nostdinc", .ze = .nostdlibinc },
.{ .name = "nostdinc++", .ze = .nostdlib_cpp },
.{ .name = "nostdlib", .ze = .nostdlib },
.{ .name = "nostdlibinc", .ze = .nostdlibinc },
.{ .name = "nostdlib++", .ze = .nostdlib_cpp },
.{ .name = "nostdsysteminc" },
.{ .name = "objc-isystem", .syntax = .separate },
.{ .name = "objcxx-isystem", .syntax = .separate },
.{ .name = "object" },
.{ .name = "object-file-name", .syntax = .separate },
.{
.name = "offload-add-rpath",
.pd1 = false,
.pd2 = true,
},
.{
.name = "offload-compress",
.pd1 = false,
.pd2 = true,
},
.{
.name = "offload-device-only",
.pd1 = false,
.pd2 = true,
},
.{
.name = "offload-host-device",
.pd1 = false,
.pd2 = true,
},
.{
.name = "offload-host-only",
.pd1 = false,
.pd2 = true,
},
.{
.name = "offload-inc",
.pd1 = false,
.pd2 = true,
},
.{
.name = "offload-link",
.pd1 = false,
.pd2 = true,
},
.{
.name = "offload-new-driver",
.pd1 = false,
.pd2 = true,
},
.{
.name = "offloadlib",
.pd1 = false,
.pd2 = true,
},
.{ .name = "fexperimental-openacc-macro-override", .syntax = .separate },
.{ .name = "opt-record-file", .syntax = .separate },
.{ .name = "opt-record-format", .syntax = .separate },
.{ .name = "opt-record-passes", .syntax = .separate },
.{ .name = "p" },
.{ .name = "pass-exit-codes", .pd2 = true },
.{ .name = "pch-through-hdrstop-create" },
.{ .name = "pch-through-hdrstop-use" },
.{ .name = "pedantic", .pd2 = true },
.{ .name = "pedantic-errors", .pd2 = true },
.{ .name = "pg" },
.{ .name = "pic-is-pie" },
.{ .name = "pic-level", .syntax = .separate },
.{ .name = "pie", .ze = .pie },
.{
.name = "pipe",
.ze = .ignore,
.pd2 = true,
},
.{ .name = "plugin", .syntax = .separate },
.{ .name = "pointer-tbaa" },
.{ .name = "prebind" },
.{ .name = "prebind_all_twolevel_modules" },
.{ .name = "preload" },
.{ .name = "print-dependency-directives-minimized-source" },
.{ .name = "print-diagnostic-options", .pd2 = true },
.{ .name = "print-effective-triple", .pd2 = true },
.{ .name = "print-enabled-extensions", .pd2 = true },
.{ .name = "print-ivar-layout" },
.{ .name = "print-libgcc-file-name", .pd2 = true },
.{ .name = "print-multi-directory", .pd2 = true },
.{ .name = "print-multi-flags-experimental", .pd2 = true },
.{ .name = "print-multi-lib", .pd2 = true },
.{ .name = "print-multi-os-directory", .pd2 = true },
.{ .name = "print-preamble" },
.{ .name = "print-resource-dir", .pd2 = true },
.{ .name = "print-rocm-search-dirs", .pd2 = true },
.{ .name = "print-runtime-dir", .pd2 = true },
.{ .name = "print-search-dirs", .pd2 = true },
.{ .name = "print-stats" },
.{ .name = "print-library-module-manifest-path", .pd2 = true },
.{ .name = "print-supported-cpus", .pd2 = true },
.{ .name = "print-supported-extensions", .pd2 = true },
.{ .name = "print-target-triple", .pd2 = true },
.{ .name = "print-targets", .pd2 = true },
.{ .name = "private_bundle" },
.{ .name = "pthread" },
.{ .name = "pthreads" },
.{ .name = "r", .ze = .r },
.{ .name = "rdynamic", .ze = .rdynamic },
.{ .name = "read_only_relocs", .syntax = .separate },
.{ .name = "record-command-line", .syntax = .separate },
.{ .name = "reexport_framework", .syntax = .separate },
.{ .name = "regcall4" },
.{ .name = "relaxed-aliasing" },
.{ .name = "relocatable-pch", .pd2 = true },
.{ .name = "remap" },
.{ .name = "remap-file", .syntax = .separate },
.{ .name = "res-may-alias", .psl = true },
.{ .name = "resource-dir", .syntax = .separate },
.{ .name = "rewrite-legacy-objc" },
.{ .name = "rewrite-macros" },
.{ .name = "rewrite-objc" },
.{ .name = "rewrite-test" },
.{ .name = "round-trip-args" },
.{ .name = "rpath", .syntax = .separate },
.{ .name = "s", .ze = .strip },
.{ .name = "save-stats", .pd2 = true },
.{ .name = "save-temps", .pd2 = true },
.{ .name = "sectalign", .syntax = .{ .multi_arg = 3 } },
.{ .name = "sectcreate", .syntax = .{ .multi_arg = 3 } },
.{ .name = "sectobjectsymbols", .syntax = .{ .multi_arg = 2 } },
.{ .name = "sectorder", .syntax = .{ .multi_arg = 3 } },
.{ .name = "seg_addr_table", .syntax = .separate },
.{ .name = "seg_addr_table_filename", .syntax = .separate },
.{ .name = "segaddr", .syntax = .{ .multi_arg = 2 } },
.{ .name = "segcreate", .syntax = .{ .multi_arg = 3 } },
.{ .name = "seglinkedit" },
.{ .name = "segprot", .syntax = .{ .multi_arg = 3 } },
.{ .name = "segs_read_only_addr", .syntax = .separate },
.{ .name = "segs_read_write_addr", .syntax = .separate },
.{ .name = "setup-static-analyzer" },
.{
.name = "shared",
.ze = .shared,
.pd2 = true,
},
.{ .name = "shared-libflangrt" },
.{ .name = "shared-libgcc" },
.{ .name = "shared-libsan" },
.{ .name = "show-encoding" },
.{
.name = "show-includes",
.pd1 = false,
.pd2 = true,
},
.{ .name = "show-inst" },
.{ .name = "single_module" },
.{ .name = "skip-function-bodies" },
.{ .name = "source-date-epoch", .syntax = .separate },
.{
.name = "specs",
.syntax = .separate,
.pd2 = true,
},
.{ .name = "spirv", .psl = true },
.{ .name = "split-dwarf-file", .syntax = .separate },
.{ .name = "split-dwarf-output", .syntax = .separate },
.{
.name = "stack-protector",
.ze = .stack_protector,
.syntax = .separate,
},
.{ .name = "stack-protector-buffer-size", .syntax = .separate },
.{ .name = "stack-usage-file", .syntax = .separate },
.{
.name = "start-no-unused-arguments",
.pd1 = false,
.pd2 = true,
},
.{ .name = "startfiles" },
.{
.name = "static",
.ze = .static,
.pd2 = true,
},
.{ .name = "static-define" },
.{ .name = "static-libclosure" },
.{ .name = "static-libflangrt" },
.{ .name = "static-libgcc" },
.{ .name = "static-libgfortran" },
.{ .name = "static-libsan" },
.{ .name = "static-libstdc++" },
.{ .name = "static-openmp" },
.{ .name = "static-pie" },
.{ .name = "stats-file-append" },
.{ .name = "stdlib" },
.{
.name = "sycl-link",
.pd1 = false,
.pd2 = true,
},
.{ .name = "sys-header-deps" },
.{ .name = "t" },
.{ .name = "target-abi", .syntax = .separate },
.{ .name = "target-cpu", .syntax = .separate },
.{ .name = "target-feature", .syntax = .separate },
.{
.name = "target",
.ze = .target,
.syntax = .separate,
},
.{ .name = "target-linker-version", .syntax = .separate },
.{ .name = "templight-dump" },
.{ .name = "test-io" },
.{ .name = "time" },
.{ .name = "traditional", .pd2 = true },
.{ .name = "traditional-cpp", .pd2 = true },
.{ .name = "trigraphs", .pd2 = true },
.{ .name = "trim-egraph" },
.{ .name = "triple", .syntax = .separate },
.{ .name = "tune-cpu", .syntax = .separate },
.{ .name = "twolevel_namespace" },
.{ .name = "twolevel_namespace_hints" },
.{ .name = "umbrella", .syntax = .separate },
.{ .name = "undef" },
.{ .name = "unexported_symbols_list", .syntax = .separate },
.{ .name = "Wextra", .pd2 = true },
.{ .name = "Waliasing", .pd2 = true },
.{ .name = "Wampersand", .pd2 = true },
.{ .name = "Warray-bounds", .pd2 = true },
.{ .name = "Wc-binding-type", .pd2 = true },
.{ .name = "Wcharacter-truncation", .pd2 = true },
.{ .name = "Wconversion", .pd2 = true },
.{ .name = "Wdo-subscript", .pd2 = true },
.{ .name = "Wfunction-elimination", .pd2 = true },
.{ .name = "Wimplicit-interface", .pd2 = true },
.{ .name = "Wimplicit-procedure", .pd2 = true },
.{ .name = "Wintrinsic-shadow", .pd2 = true },
.{ .name = "Wuse-without-only", .pd2 = true },
.{ .name = "Wintrinsics-std", .pd2 = true },
.{ .name = "Wline-truncation", .pd2 = true },
.{ .name = "Wno-align-commons", .pd2 = true },
.{ .name = "Wno-overwrite-recursive", .pd2 = true },
.{ .name = "Wno-tabs", .pd2 = true },
.{ .name = "Wreal-q-constant", .pd2 = true },
.{ .name = "Wsurprising", .pd2 = true },
.{ .name = "Wunderflow", .pd2 = true },
.{ .name = "Wunused-parameter", .pd2 = true },
.{ .name = "Wrealloc-lhs", .pd2 = true },
.{ .name = "Wrealloc-lhs-all", .pd2 = true },
.{ .name = "Wfrontend-loop-interchange", .pd2 = true },
.{ .name = "Wtarget-lifetime", .pd2 = true },
.{ .name = "v", .ze = .verbose },
.{ .name = "vectorize-loops" },
.{ .name = "vectorize-slp" },
.{ .name = "verify" },
.{
.name = "verify-debug-info",
.pd1 = false,
.pd2 = true,
},
.{ .name = "verify-ignore-unexpected" },
.{ .name = "verify-pch" },
.{ .name = "version" },
.{ .name = "via-file-asm", .pd2 = true },
.{ .name = "w" },
.{
.name = "wasm-opt",
.pd1 = false,
.pd2 = true,
},
.{
.name = "weak_framework",
.ze = .weak_framework,
.syntax = .separate,
},
.{
.name = "weak_library",
.ze = .weak_library,
.syntax = .separate,
},
.{ .name = "weak_reference_mismatches", .syntax = .separate },
.{ .name = "whatsloaded" },
.{ .name = "why_load" },
.{ .name = "whyload" },
.{ .name = "working-directory", .syntax = .separate },
.{
.name = "z",
.ze = .linker_input_z,
.syntax = .separate,
},
.{ .name = "fsanitize-coverage-stack-depth-callback-min=", .syntax = .joined },
.{ .name = "fsanitize-undefined-ignore-overflow-pattern=", .syntax = .comma_joined },
.{ .name = "fexperimental-sanitize-metadata-ignorelist=", .syntax = .joined },
.{ .name = "fsanitize-undefined-strip-path-components=", .syntax = .joined },
.{ .name = "fprofile-generate-cold-function-coverage=", .syntax = .joined },
.{ .name = "fopenmp-cuda-teams-reduction-recs-num=", .syntax = .joined },
.{ .name = "fvisibility-externs-nodllstorageclass=", .syntax = .joined },
.{ .name = "fallow-runtime-check-skip-hot-cutoff=", .syntax = .joined },
.{ .name = "fexperimental-openacc-macro-override=", .syntax = .joined },
.{ .name = "analyzer-config-compatibility-mode=", .syntax = .joined },
.{ .name = "fms-secure-hotpatch-functions-file=", .syntax = .joined },
.{ .name = "fms-secure-hotpatch-functions-list=", .syntax = .comma_joined },
.{ .name = "fno-experimental-sanitize-metadata=", .syntax = .comma_joined },
.{ .name = "mdefault-visibility-export-mapping=", .syntax = .joined },
.{ .name = "fsanitize-address-use-after-return=", .syntax = .joined },
.{
.name = "fsanitize-address-use-after-return",
.syntax = .joined,
.psl = true,
},
.{ .name = "darwin-target-variant-sdk-version=", .syntax = .joined },
.{ .name = "fexperimental-assignment-tracking=", .syntax = .joined },
.{ .name = "fpatchable-function-entry-section=", .syntax = .joined },
.{ .name = "ftrivial-auto-var-init-stop-after=", .syntax = .joined },
.{ .name = "fverify-debuginfo-preserve-export=", .syntax = .joined },
.{ .name = "fdiagnostics-misexpect-tolerance=", .syntax = .joined },
.{ .name = "fno-sanitize-annotate-debug-info=", .syntax = .comma_joined },
.{ .name = "fpatchable-function-entry-offset=", .syntax = .joined },
.{ .name = "fprofile-selected-function-group=", .syntax = .joined },
.{ .name = "analyzer-inline-max-stack-depth=", .syntax = .joined },
.{ .name = "fexperimental-sanitize-metadata=", .syntax = .comma_joined },
.{ .name = "fsanitize-address-field-padding=", .syntax = .joined },
.{ .name = "ftrivial-auto-var-init-max-size=", .syntax = .joined },
.{
.name = "fno-sanitize-address-vcasan-lib",
.syntax = .joined,
.psl = true,
},
.{ .name = "fdiagnostics-hotness-threshold=", .syntax = .joined },
.{ .name = "fexperimental-max-bitint-width=", .syntax = .joined },
.{ .name = "fsanitize-memory-track-origins=", .syntax = .joined },
.{ .name = "mwatchos-simulator-version-min=", .syntax = .joined },
.{ .name = "funique-source-file-identifier=", .syntax = .joined },
.{ .name = "fsanitize-annotate-debug-info=", .syntax = .comma_joined },
.{ .name = "fsanitize-coverage-ignorelist=", .syntax = .joined },
.{ .name = "fvisibility-externs-dllimport=", .syntax = .joined },
.{ .name = "fvisibility-global-new-delete=", .syntax = .joined },
.{ .name = "fvisibility-nodllstorageclass=", .syntax = .joined },
.{ .name = "fxray-selected-function-group=", .syntax = .joined },
.{ .name = "mappletvsimulator-version-min=", .syntax = .joined },
.{ .name = "mstack-protector-guard-offset=", .syntax = .joined },
.{ .name = "mstack-protector-guard-symbol=", .syntax = .joined },
.{
.name = "sourceDependencies:directives",
.syntax = .joined_or_separate,
.psl = true,
},
.{ .name = "miphonesimulator-version-min=", .syntax = .joined },
.{ .name = "fcaret-diagnostics-max-lines=", .syntax = .joined },
.{ .name = "fobjc-nonfragile-abi-version=", .syntax = .joined },
.{ .name = "fprofile-instrument-use-path=", .syntax = .joined },
.{ .name = "fsanitize-coverage-allowlist=", .syntax = .joined },
.{ .name = "fxray-instrumentation-bundle=", .syntax = .joined },
.{ .name = "fsanitize-address-destructor=", .syntax = .joined },
.{
.name = "warning-suppression-mappings=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "faddress-space-map-mangling=", .syntax = .joined },
.{ .name = "foptimization-record-passes=", .syntax = .joined },
.{ .name = "frandomize-layout-seed-file=", .syntax = .joined },
.{ .name = "fsanitize-system-ignorelist=", .syntax = .joined },
.{ .name = "ftest-module-file-extension=", .syntax = .joined },
.{ .name = "fxray-instruction-threshold=", .syntax = .joined },
.{
.name = "libomptarget-amdgcn-bc-path=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "libomptarget-amdgpu-bc-path=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "mno-default-build-attributes", .syntax = .joined },
.{ .name = "mtvos-simulator-version-min=", .syntax = .joined },
.{ .name = "mwatchsimulator-version-min=", .syntax = .joined },
.{ .name = "loader-replaceable-function=", .syntax = .joined },
.{
.name = "include-with-prefix-before=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "error-on-deserialized-decl=", .syntax = .joined },
.{ .name = "fbfloat16-excess-precision=", .syntax = .joined },
.{ .name = "fconstexpr-backtrace-limit=", .syntax = .joined },
.{ .name = "fdiagnostics-show-category=", .syntax = .joined },
.{ .name = "fdiagnostics-show-location=", .syntax = .joined },
.{ .name = "fno-modules-check-relocated", .syntax = .joined },
.{ .name = "fopenmp-cuda-blocks-per-sm=", .syntax = .joined },
.{
.name = "headerpad_max_install_names",
.ze = .headerpad_max_install_names,
.syntax = .joined,
},
.{
.name = "libomptarget-nvptx-bc-path=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "libomptarget-spirv-bc-path=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "mios-simulator-version-min=", .syntax = .joined },
.{ .name = "mstack-protector-guard-reg=", .syntax = .joined },
.{ .name = "msve-streaming-vector-bits=", .syntax = .joined },
.{ .name = "Wsystem-headers-in-module=", .syntax = .joined },
.{
.name = "include-with-prefix-after=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "fcoverage-compilation-dir=", .syntax = .joined },
.{ .name = "fdx-rootsignature-version=", .syntax = .joined },
.{ .name = "fextend-variable-liveness=", .syntax = .joined },
.{ .name = "ffloat16-excess-precision=", .syntax = .joined },
.{ .name = "fms-compatibility-version=", .syntax = .joined },
.{ .name = "fopenmp-cuda-number-of-sm=", .syntax = .joined },
.{ .name = "foptimization-record-file=", .syntax = .joined },
.{ .name = "fpatchable-function-entry=", .syntax = .joined },
.{ .name = "frepack-arrays-contiguity=", .syntax = .joined },
.{ .name = "fsanitize-skip-hot-cutoff=", .syntax = .comma_joined },
.{ .name = "fsave-optimization-record=", .syntax = .joined },
.{ .name = "ftemplate-backtrace-limit=", .syntax = .joined },
.{
.name = "gpu-max-threads-per-block=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "offload-compression-level=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "Wno-nonportable-cfstrings", .syntax = .joined },
.{ .name = "analyzer-disable-checker=", .syntax = .joined },
.{ .name = "fbuild-session-timestamp=", .syntax = .joined },
.{ .name = "fdo-concurrent-to-openmp=", .syntax = .joined },
.{ .name = "fprofile-function-groups=", .syntax = .joined },
.{ .name = "fprofile-instrument-path=", .syntax = .joined },
.{ .name = "header-include-filtering=", .syntax = .joined },
.{ .name = "mdefault-build-attributes", .syntax = .joined },
.{ .name = "msign-return-address-key=", .syntax = .joined },
.{ .name = "verify-ignore-unexpected=", .syntax = .comma_joined },
.{
.name = "include-directory-after=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "compress-debug-sections=",
.ze = .compress_debug_sections,
.syntax = .joined,
.pd2 = true,
},
.{ .name = "fc++-static-destructors=", .syntax = .joined },
.{ .name = "dump-minimization-hints=", .syntax = .joined },
.{ .name = "fapinotes-swift-version=", .syntax = .joined },
.{ .name = "fcomment-block-commands=", .syntax = .comma_joined },
.{ .name = "flax-vector-conversions=", .syntax = .joined },
.{ .name = "fmodules-embed-all-files", .syntax = .joined },
.{ .name = "fmodules-prune-interval=", .syntax = .joined },
.{ .name = "foverride-record-layout=", .syntax = .joined },
.{ .name = "fprofile-instr-generate=", .syntax = .joined },
.{ .name = "fprofile-remapping-file=", .syntax = .joined },
.{ .name = "fsanitize-coverage-type=", .syntax = .joined },
.{ .name = "fsanitize-hwaddress-abi=", .syntax = .joined },
.{ .name = "ftime-trace-granularity=", .syntax = .joined },
.{ .name = "fxray-always-instrument=", .syntax = .joined },
.{ .name = "mcf-branch-label-scheme=", .syntax = .joined },
.{
.name = "no-system-header-prefix=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "output-class-directory=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "analyzer-inlining-mode=", .syntax = .joined },
.{ .name = "fcodegen-data-generate=", .syntax = .joined },
.{ .name = "fconstant-string-class=", .syntax = .joined },
.{ .name = "fcrash-diagnostics-dir=", .syntax = .joined },
.{ .name = "fdebug-compilation-dir=", .syntax = .joined },
.{ .name = "fdebug-default-version=", .syntax = .joined },
.{ .name = "ffp-exception-behavior=", .syntax = .joined },
.{ .name = "fmacro-backtrace-limit=", .syntax = .joined },
.{ .name = "fmax-array-constructor=", .syntax = .joined },
.{ .name = "fmcdc-max-test-vectors=", .syntax = .joined },
.{ .name = "fprofile-exclude-files=", .syntax = .joined },
.{ .name = "frandomize-layout-seed=", .syntax = .joined },
.{ .name = "ftrivial-auto-var-init=", .syntax = .joined },
.{ .name = "fxray-never-instrument=", .syntax = .joined },
.{ .name = "gsimple-template-names=", .syntax = .joined },
.{ .name = "interface-stub-version=", .syntax = .joined_or_separate },
.{ .name = "malign-branch-boundary=", .syntax = .joined },
.{ .name = "mappletvos-version-min=", .syntax = .joined },
.{ .name = "mstack-protector-guard=", .syntax = .joined },
.{ .name = "Wnonportable-cfstrings", .syntax = .joined },
.{ .name = "miphoneos-version-min=", .syntax = .joined },
.{ .name = "fbasic-block-sections=", .syntax = .joined },
.{ .name = "fdefault-calling-conv=", .syntax = .joined },
.{ .name = "fdenormal-fp-math-f32=", .syntax = .joined },
.{ .name = "fembed-offload-object=", .syntax = .joined },
.{ .name = "ffile-compilation-dir=", .syntax = .joined },
.{ .name = "fgpu-inline-threshold=", .syntax = .joined },
.{ .name = "finline-max-stacksize=", .syntax = .joined },
.{ .name = "fmax-subrecord-length=", .syntax = .joined },
.{ .name = "fmodules-ignore-macro=", .syntax = .joined },
.{
.name = "fno-sanitize-coverage=",
.ze = .no_san_cov,
.syntax = .comma_joined,
},
.{ .name = "fobjc-dispatch-method=", .syntax = .joined },
.{ .name = "foperator-arrow-depth=", .syntax = .joined },
.{ .name = "fprebuilt-module-path=", .syntax = .joined },
.{ .name = "fprofile-filter-files=", .syntax = .joined },
.{ .name = "fsanitize-memtag-mode=", .syntax = .joined },
.{ .name = "fspell-checking-limit=", .syntax = .joined },
.{ .name = "fvisibility-dllexport=", .syntax = .joined },
.{ .name = "fxray-function-groups=", .syntax = .joined },
.{ .name = "header-include-format=", .syntax = .joined },
.{
.name = "hipstdpar-thrust-path=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "mlarge-data-threshold=", .syntax = .joined },
.{ .name = "msmall-data-threshold=", .syntax = .joined },
.{ .name = "mvscale-streaming-max=", .syntax = .joined },
.{ .name = "mvscale-streaming-min=", .syntax = .joined },
.{ .name = "Wlarge-by-value-copy=", .syntax = .joined },
.{ .name = "Xthinlto-distributor=", .syntax = .comma_joined },
.{ .name = "analyzer-constraints=", .syntax = .joined },
.{ .name = "analyzer-dump-egraph=", .syntax = .joined },
.{ .name = "compatibility_version", .syntax = .joined_or_separate },
.{ .name = "dylinker_install_name", .syntax = .joined_or_separate },
.{ .name = "fcoverage-prefix-map=", .syntax = .joined },
.{ .name = "fcs-profile-generate=", .syntax = .joined },
.{ .name = "fmcdc-max-conditions=", .syntax = .joined },
.{ .name = "fmodules-prune-after=", .syntax = .joined },
.{ .name = "fno-sanitize-recover=", .syntax = .comma_joined },
.{ .name = "fopenmp-target-debug=", .syntax = .joined },
.{ .name = "fsanitize-ignorelist=", .syntax = .joined },
.{ .name = "fthinlto-distributor=", .syntax = .joined },
.{ .name = "fzero-call-used-regs=", .syntax = .joined },
.{ .name = "iframeworkwithsysroot", .syntax = .joined_or_separate },
.{ .name = "mcode-object-version=", .syntax = .joined },
.{ .name = "mpad-max-prefix-size=", .syntax = .joined },
.{ .name = "mprefer-vector-width=", .syntax = .joined },
.{ .name = "msign-return-address=", .syntax = .joined },
.{ .name = "mwatchos-version-min=", .syntax = .joined },
.{
.name = "rocm-device-lib-path=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "system-header-prefix=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "include-with-prefix=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "faltivec-src-compat=", .syntax = .joined },
.{
.name = "hip-device-lib-path=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "mmacosx-version-min=", .syntax = .joined },
.{ .name = "coverage-notes-file=", .syntax = .joined },
.{ .name = "fsanitize-blacklist=", .syntax = .joined },
.{
.name = "extract-api-ignores=",
.syntax = .comma_joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "fbuild-session-file=", .syntax = .joined },
.{ .name = "fcomplex-arithmetic=", .syntax = .joined },
.{ .name = "fdiagnostics-format=", .syntax = .joined },
.{ .name = "fgpu-default-stream=", .syntax = .joined },
.{ .name = "fmax-stack-var-size=", .syntax = .joined },
.{ .name = "fmemory-profile-use=", .syntax = .joined },
.{ .name = "fmodules-cache-path=", .syntax = .joined },
.{ .name = "fmodules-embed-file=", .syntax = .joined },
.{ .name = "fms-omit-default-lib", .syntax = .joined },
.{ .name = "fprofile-instrument=", .syntax = .joined },
.{ .name = "fprofile-sample-use=", .syntax = .joined },
.{ .name = "fstrict-flex-arrays=", .syntax = .joined },
.{
.name = "hipstdpar-prim-path=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "no-cuda-include-ptx=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "fwinx64-eh-unwindv2=", .syntax = .joined },
.{ .name = "Wframe-larger-than=", .syntax = .joined },
.{ .name = "coverage-data-file=", .syntax = .joined },
.{ .name = "code-completion-at=", .syntax = .joined },
.{ .name = "fblas-matmul-limit=", .syntax = .joined },
.{ .name = "fcrash-diagnostics=", .syntax = .joined },
.{ .name = "fdiagnostics-color=", .syntax = .joined },
.{ .name = "femit-dwarf-unwind=", .syntax = .joined },
.{ .name = "ffixed-line-length=", .syntax = .joined },
.{ .name = "ffixed-line-length-", .syntax = .joined },
.{ .name = "ffuchsia-api-level=", .syntax = .joined },
.{ .name = "flimited-precision=", .syntax = .joined },
.{ .name = "fno-sanitize-merge=", .syntax = .comma_joined },
.{ .name = "fprofile-instr-use=", .syntax = .joined },
.{
.name = "fsanitize-coverage=",
.ze = .san_cov,
.syntax = .comma_joined,
},
.{ .name = "fthin-link-bitcode=", .syntax = .joined },
.{ .name = "ftime-trace-verbose", .syntax = .joined },
.{
.name = "gpu-instrument-lib=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "hipspv-pass-plugin=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "mbranch-protection=", .syntax = .joined },
.{ .name = "mmacos-version-min=", .syntax = .joined },
.{
.name = "output-asm-variant=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "pch-through-header=", .syntax = .joined },
.{ .name = "target-sdk-version=", .syntax = .joined },
.{
.name = "execution-charset:",
.syntax = .joined,
.psl = true,
},
.{
.name = "sourceDependencies",
.syntax = .joined_or_separate,
.psl = true,
},
.{
.name = "include-directory=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "library-directory=",
.ze = .lib_dir,
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "config-system-dir=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "fbinutils-version=", .syntax = .joined },
.{ .name = "fclang-abi-compat=", .syntax = .joined },
.{ .name = "fcodegen-data-use=", .syntax = .joined },
.{ .name = "fcompile-resource=", .syntax = .joined },
.{ .name = "fdebug-prefix-map=", .syntax = .joined },
.{ .name = "fdenormal-fp-math=", .syntax = .joined },
.{ .name = "fexcess-precision=", .syntax = .joined },
.{ .name = "fextend-arguments=", .syntax = .joined },
.{ .name = "ffree-line-length-", .syntax = .joined },
.{ .name = "fmacro-prefix-map=", .syntax = .joined },
.{
.name = "fno-sanitize-trap=",
.ze = .no_sanitize_trap,
.syntax = .comma_joined,
},
.{ .name = "fobjc-abi-version=", .syntax = .joined },
.{ .name = "foutput-class-dir=", .syntax = .joined },
.{ .name = "fproc-stat-report=", .syntax = .joined },
.{ .name = "fprofile-generate=", .syntax = .joined },
.{ .name = "fsanitize-recover=", .syntax = .comma_joined },
.{ .name = "fsymbol-partition=", .syntax = .joined },
.{ .name = "mcompact-branches=", .syntax = .joined },
.{ .name = "msmall-data-limit=", .syntax = .joined },
.{ .name = "mstack-probe-size=", .syntax = .joined },
.{ .name = "mtvos-version-min=", .syntax = .joined },
.{
.name = "offload-arch-tool=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "working-directory=", .syntax = .joined },
.{
.name = "amdgpu-arch-tool=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "analyze-function=", .syntax = .joined },
.{ .name = "analyzer-checker=", .syntax = .joined },
.{ .name = "coverage-version=", .syntax = .joined },
.{
.name = "cuda-include-ptx=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "falign-functions=", .syntax = .joined },
.{ .name = "fconstexpr-depth=", .syntax = .joined },
.{ .name = "fconstexpr-steps=", .syntax = .joined },
.{ .name = "ffile-prefix-map=", .syntax = .joined },
.{ .name = "fmodule-map-file=", .syntax = .joined },
.{ .name = "fobjc-arc-cxxlib=", .syntax = .joined },
.{ .name = "fproc-stat-report", .syntax = .joined },
.{ .name = "ftype-visibility=", .syntax = .joined },
.{ .name = "fwarn-stack-size=", .syntax = .joined },
.{ .name = "iapinotes-modules", .syntax = .joined_or_separate },
.{ .name = "iwithprefixbefore", .syntax = .joined_or_separate },
.{ .name = "malign-functions=", .syntax = .joined },
.{ .name = "mfunction-return=", .syntax = .joined },
.{ .name = "mios-version-min=", .syntax = .joined },
.{ .name = "mno-apx-features=", .syntax = .comma_joined },
.{ .name = "mrvv-vector-bits=", .syntax = .joined },
.{ .name = "mstack-alignment=", .syntax = .joined },
.{ .name = "msve-vector-bits=", .syntax = .joined },
.{
.name = "multi-lib-config=",
.syntax = .joined,
.pd2 = true,
},
.{ .name = "mzos-sys-include=", .syntax = .joined },
.{
.name = "no-cuda-gpu-arch=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "object-file-name=", .syntax = .joined },
.{
.name = "symbol-graph-dir=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "headerUnit:angle",
.syntax = .joined_or_separate,
.psl = true,
},
.{
.name = "headerUnit:quote",
.syntax = .joined_or_separate,
.psl = true,
},
.{ .name = "analyzer-output=", .syntax = .joined },
.{ .name = "ftemplate-depth-", .syntax = .joined },
.{ .name = "ast-dump-filter=", .syntax = .joined },
.{
.name = "config-user-dir=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "debug-info-kind=", .syntax = .joined },
.{ .name = "debugger-tuning=", .syntax = .joined },
.{ .name = "exception-model=", .syntax = .joined },
.{ .name = "fcf-runtime-abi=", .syntax = .joined },
.{ .name = "ffp-eval-method=", .syntax = .joined },
.{ .name = "finit-character=", .syntax = .joined },
.{ .name = "flto-partitions=", .syntax = .joined },
.{ .name = "fmax-type-align=", .syntax = .joined },
.{ .name = "fmemory-profile=", .syntax = .joined },
.{ .name = "fmessage-length=", .syntax = .joined },
.{ .name = "fms-runtime-lib=", .syntax = .joined },
.{ .name = "fopenmp-targets=", .syntax = .comma_joined },
.{ .name = "fopenmp-version=", .syntax = .joined },
.{ .name = "fprofile-update=", .syntax = .joined },
.{ .name = "fsanitize-merge=", .syntax = .comma_joined },
.{ .name = "fshow-overloads=", .syntax = .joined },
.{ .name = "fspv-target-env=", .syntax = .joined },
.{ .name = "fswift-async-fp=", .syntax = .joined },
.{ .name = "ftemplate-depth=", .syntax = .joined },
.{ .name = "fxray-attr-list=", .syntax = .joined },
.{
.name = "gcc-install-dir=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "mlinker-version=", .syntax = .joined },
.{ .name = "mxcoff-build-id=", .syntax = .joined },
.{ .name = "mzos-hlq-csslib=", .syntax = .joined },
.{
.name = "no-offload-arch=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "nvptx-arch-tool=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "offload-targets=",
.syntax = .comma_joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "print-file-name=",
.syntax = .joined,
.pd2 = true,
},
.{
.name = "print-prog-name=",
.syntax = .joined,
.pd2 = true,
},
.{ .name = "reexport_library", .syntax = .joined_or_separate },
.{ .name = "stdlib++-isystem", .syntax = .joined_or_separate },
.{ .name = "Rpass-analysis=", .syntax = .joined },
.{ .name = "Xoffload-linker", .syntax = .joined_and_separate },
.{ .name = "Xopenmp-target=", .syntax = .joined_and_separate },
.{
.name = "source-charset:",
.syntax = .joined,
.psl = true,
},
.{
.name = "analyzer-output",
.syntax = .joined_or_separate,
.pd1 = false,
.pd2 = true,
},
.{
.name = "include-prefix=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "undefine-macro=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "analyzer-purge=", .syntax = .joined },
.{ .name = "current_version", .syntax = .joined_or_separate },
.{ .name = "fbootclasspath=", .syntax = .joined },
.{ .name = "fbracket-depth=", .syntax = .joined },
.{ .name = "fcf-protection=", .syntax = .joined },
.{ .name = "fdepfile-entry=", .syntax = .joined },
.{ .name = "fembed-bitcode=", .syntax = .joined },
.{ .name = "finput-charset=", .syntax = .joined },
.{ .name = "fmodule-format=", .syntax = .joined },
.{ .name = "fmodule-header=", .syntax = .joined },
.{ .name = "fmodule-output=", .syntax = .joined },
.{ .name = "fms-memptr-rep=", .syntax = .joined },
.{
.name = "fmultilib-flag=",
.syntax = .joined,
.pd2 = true,
},
.{ .name = "fnew-alignment=", .syntax = .joined },
.{ .name = "frecord-marker=", .syntax = .joined },
.{
.name = "fsanitize-trap=",
.ze = .sanitize_trap,
.syntax = .comma_joined,
},
.{ .name = "fspv-extension=", .syntax = .joined },
.{ .name = "fthinlto-index=", .syntax = .joined },
.{ .name = "ftrap-function=", .syntax = .joined },
.{ .name = "ftrapv-handler=", .syntax = .joined },
.{
.name = "funwind-tables=",
.ze = .unwind_tables,
.syntax = .joined,
},
.{ .name = "gen-reproducer=", .syntax = .joined },
.{
.name = "hip-device-lib=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "hipstdpar-path=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "mdynamic-no-pic", .syntax = .joined },
.{ .name = "mframe-pointer=", .syntax = .joined },
.{ .name = "mindirect-jump=", .syntax = .joined },
.{ .name = "mzos-hlq-clang=", .syntax = .joined },
.{ .name = "preamble-bytes=", .syntax = .joined },
.{ .name = "Wundef-prefix=", .syntax = .comma_joined },
.{
.name = "vctoolsversion",
.syntax = .joined_or_separate,
.psl = true,
},
.{
.name = "bootclasspath=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "complex-range=", .syntax = .joined },
.{
.name = "cuda-gpu-arch=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "dependent-lib=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "dwarf-version=", .syntax = .joined },
.{ .name = "falign-labels=", .syntax = .joined },
.{ .name = "fauto-profile=", .syntax = .joined },
.{ .name = "fexec-charset=", .syntax = .joined },
.{ .name = "fgnuc-version=", .syntax = .joined },
.{ .name = "finit-integer=", .syntax = .joined },
.{ .name = "finit-logical=", .syntax = .joined },
.{ .name = "finline-limit=", .syntax = .joined },
.{ .name = "fobjc-runtime=", .syntax = .joined },
.{ .name = "fprofile-list=", .syntax = .joined },
.{
.name = "gcc-toolchain=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "linker-option=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "malign-branch=", .syntax = .comma_joined },
.{ .name = "mapx-features=", .syntax = .comma_joined },
.{ .name = "vtordisp-mode=", .syntax = .joined },
.{ .name = "Rpass-missed=", .syntax = .joined },
.{ .name = "Wlarger-than-", .syntax = .joined },
.{ .name = "Wlarger-than=", .syntax = .joined },
.{
.name = "experimental:",
.syntax = .joined,
.psl = true,
},
.{
.name = "external:env:",
.syntax = .joined,
.psl = true,
},
.{
.name = "funcoverride:",
.syntax = .joined,
.psl = true,
},
.{
.name = "winsdkversion",
.syntax = .joined_or_separate,
.psl = true,
},
.{
.name = "define-macro=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "ast-dump-all=", .syntax = .joined },
.{
.name = "autocomplete=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "cuda-feature=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "falign-jumps=", .syntax = .joined },
.{ .name = "falign-loops=", .syntax = .joined },
.{ .name = "faligned-new=", .syntax = .joined },
.{ .name = "ferror-limit=", .syntax = .joined },
.{ .name = "ffp-contract=", .syntax = .joined },
.{ .name = "fmodule-file=", .syntax = .joined },
.{ .name = "fmodule-name=", .syntax = .joined },
.{ .name = "fmsc-version=", .syntax = .joined },
.{
.name = "fno-sanitize=",
.ze = .no_sanitize,
.syntax = .comma_joined,
},
.{ .name = "foffload-lto=", .syntax = .joined },
.{ .name = "fpack-struct=", .syntax = .joined },
.{ .name = "fpass-plugin=", .syntax = .joined },
.{ .name = "fprofile-dir=", .syntax = .joined },
.{ .name = "fprofile-use=", .syntax = .joined },
.{ .name = "frandom-seed=", .syntax = .joined },
.{ .name = "ftime-report=", .syntax = .joined },
.{ .name = "gsplit-dwarf=", .syntax = .joined },
.{ .name = "isystem-after", .syntax = .joined_or_separate },
.{ .name = "malign-jumps=", .syntax = .joined },
.{ .name = "malign-loops=", .syntax = .joined },
.{ .name = "mframe-chain=", .syntax = .joined },
.{ .name = "mimplicit-it=", .syntax = .joined },
.{ .name = "mprintf-kind=", .syntax = .joined },
.{ .name = "mtls-dialect=", .syntax = .joined },
.{
.name = "offload-arch=",
.syntax = .comma_joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "offload-jobs=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "pagezero_size", .syntax = .joined_or_separate },
.{
.name = "product-name=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "resource-dir=", .syntax = .joined },
.{
.name = "dynamicdeopt",
.syntax = .joined,
.psl = true,
},
.{
.name = "dyld-prefix=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "driver-mode=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "fmax-errors=", .syntax = .joined },
.{ .name = "fmax-tokens=", .syntax = .joined },
.{ .name = "fno-builtin-", .syntax = .joined },
.{ .name = "fplugin-arg-", .syntax = .joined },
.{ .name = "ftime-trace=", .syntax = .joined },
.{ .name = "fvisibility=", .syntax = .joined },
.{ .name = "fwchar-type=", .syntax = .joined },
.{ .name = "fxray-modes=", .syntax = .joined },
.{
.name = "hip-version=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "iwithsysroot", .syntax = .joined_or_separate },
.{
.name = "mexec-model=",
.ze = .exec_model,
.syntax = .joined,
},
.{ .name = "mharden-sls=", .syntax = .joined },
.{ .name = "mhvx-length=", .syntax = .joined },
.{ .name = "mno-tocdata=", .syntax = .comma_joined },
.{ .name = "mvscale-max=", .syntax = .joined },
.{ .name = "mvscale-min=", .syntax = .joined },
.{ .name = "mzos-hlq-le=", .syntax = .joined },
.{ .name = "mzos-target=", .syntax = .joined },
.{
.name = "rsp-quoting=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "std-default=", .syntax = .joined },
.{ .name = "sub_umbrella", .syntax = .joined_or_separate },
.{
.name = "Qpar-report",
.syntax = .joined,
.psl = true,
},
.{
.name = "Qvec-report",
.syntax = .joined,
.psl = true,
},
.{
.name = "errorReport",
.syntax = .joined,
.psl = true,
},
.{
.name = "headerName:",
.syntax = .joined,
.psl = true,
},
.{
.name = "for-linker=",
.ze = .for_linker,
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "force-link=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "client_name", .syntax = .joined_or_separate },
.{ .name = "cxx-isystem", .syntax = .joined_or_separate },
.{ .name = "fclasspath=", .syntax = .joined },
.{ .name = "finit-real=", .syntax = .joined },
.{ .name = "fforce-addr", .syntax = .joined },
.{ .name = "ftls-model=", .syntax = .joined },
.{
.name = "gcc-triple=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "inline-asm=", .syntax = .joined },
.{ .name = "ivfsoverlay", .syntax = .joined_or_separate },
.{ .name = "iwithprefix", .syntax = .joined_or_separate },
.{ .name = "mfloat-abi=", .syntax = .joined },
.{ .name = "plugin-arg-", .syntax = .joined_and_separate },
.{
.name = "ptxas-path=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "save-stats=",
.syntax = .joined,
.pd2 = true,
},
.{
.name = "save-temps=",
.syntax = .joined,
.pd2 = true,
},
.{ .name = "stats-file=", .syntax = .joined },
.{ .name = "sub_library", .syntax = .joined_or_separate },
.{
.name = "CLASSPATH=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "constexpr:",
.syntax = .joined,
.psl = true,
},
.{
.name = "external:I",
.syntax = .joined_or_separate,
.psl = true,
},
.{
.name = "headerUnit",
.syntax = .joined_or_separate,
.psl = true,
},
.{
.name = "vctoolsdir",
.syntax = .joined_or_separate,
.psl = true,
},
.{
.name = "winsysroot",
.syntax = .joined_or_separate,
.psl = true,
},
.{
.name = "classpath=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "cuda-path=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "embed-dir=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "fencoding=", .syntax = .joined },
.{ .name = "ffp-model=", .syntax = .joined },
.{ .name = "ffpe-trap=", .syntax = .joined },
.{ .name = "flto-jobs=", .syntax = .joined },
.{
.name = "fsanitize=",
.ze = .sanitize,
.syntax = .comma_joined,
},
.{ .name = "fuse-cuid=", .syntax = .joined },
.{ .name = "fuse-lipo=", .syntax = .joined },
.{ .name = "gsrc-hash=", .syntax = .joined },
.{ .name = "iframework", .syntax = .joined_or_separate },
.{ .name = "module-dir", .syntax = .joined_or_separate },
.{ .name = "mtargetos=", .syntax = .joined },
.{ .name = "mtls-size=", .syntax = .joined },
.{ .name = "reexport-l", .syntax = .joined },
.{
.name = "rocm-path=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "segs_read_", .syntax = .joined },
.{
.name = "unwindlib=",
.syntax = .joined,
.pd2 = true,
},
.{
.name = "vfsoverlay",
.syntax = .joined_or_separate,
.pd2 = true,
},
.{
.name = "cgthreads",
.syntax = .joined,
.psl = true,
},
.{
.name = "diasdkdir",
.syntax = .joined_or_separate,
.psl = true,
},
.{
.name = "external:",
.syntax = .joined,
.psl = true,
},
.{
.name = "reference",
.syntax = .joined_or_separate,
.psl = true,
},
.{
.name = "winsdkdir",
.syntax = .joined_or_separate,
.psl = true,
},
.{
.name = "encoding=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "language=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "optimize=",
.ze = .optimize,
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "resource=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "Xclangas=", .syntax = .joined },
.{ .name = "ast-dump=", .syntax = .joined },
.{
.name = "dxv-path=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "fcoarray=", .syntax = .joined },
.{ .name = "fconvert=", .syntax = .joined },
.{ .name = "fc++-abi=", .syntax = .joined },
.{ .name = "fextdirs=", .syntax = .joined },
.{ .name = "ftabstop=", .syntax = .joined },
.{
.name = "hip-path=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "idirafter", .syntax = .joined_or_separate },
.{ .name = "mregparm=", .syntax = .joined },
.{ .name = "mtocdata=", .syntax = .comma_joined },
.{ .name = "sycl-std=", .syntax = .joined },
.{
.name = "undefined",
.ze = .undefined,
.syntax = .joined_or_separate,
},
.{
.name = "extdirs=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "imacros=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "include=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "sysroot=",
.ze = .sysroot,
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "dsym-dir", .syntax = .joined_or_separate },
.{ .name = "fopenmp=", .syntax = .joined },
.{ .name = "fplugin=", .syntax = .joined },
.{ .name = "fuse-ld=", .syntax = .joined },
.{ .name = "fveclib=", .syntax = .joined },
.{ .name = "isysroot", .syntax = .joined_or_separate },
.{
.name = "ld-path=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "mcmodel=", .syntax = .joined },
.{ .name = "mconsole", .syntax = .joined },
.{ .name = "mdouble=", .syntax = .joined },
.{ .name = "mfpmath=", .syntax = .joined },
.{ .name = "mhwmult=", .syntax = .joined },
.{ .name = "mthreads", .syntax = .joined },
.{
.name = "municode",
.ze = .mingw_unicode_entry_point,
.syntax = .joined,
},
.{ .name = "mwindows", .syntax = .joined },
.{
.name = "offload=",
.syntax = .comma_joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "seg1addr", .syntax = .joined_or_separate },
.{
.name = "assert=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "mhwdiv=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "output=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "prefix=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "Xclang=", .syntax = .joined },
.{ .name = "cl-ext=", .syntax = .comma_joined },
.{ .name = "cl-std=", .syntax = .joined },
.{
.name = "config=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "fcheck=", .syntax = .joined },
.{
.name = "imacros",
.syntax = .joined_or_separate,
.pd2 = true,
},
.{
.name = "include",
.syntax = .joined_or_separate,
.pd2 = true,
},
.{ .name = "iprefix", .syntax = .joined_or_separate },
.{ .name = "isystem", .syntax = .joined_or_separate },
.{ .name = "marm64x", .syntax = .joined },
.{ .name = "mguard=", .syntax = .joined },
.{ .name = "mhwdiv=", .syntax = .joined },
.{ .name = "moslib=", .syntax = .joined },
.{ .name = "mrecip=", .syntax = .comma_joined },
.{
.name = "stdlib=",
.syntax = .joined,
.pd2 = true,
},
.{
.name = "target=",
.ze = .target,
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "triple=", .syntax = .joined },
.{ .name = "verify=", .syntax = .comma_joined },
.{ .name = "Rpass=", .syntax = .joined },
.{ .name = "Xarch_", .syntax = .joined_and_separate },
.{
.name = "await:",
.syntax = .joined,
.psl = true,
},
.{
.name = "clang:",
.syntax = .joined,
.psl = true,
},
.{
.name = "guard:",
.syntax = .joined,
.psl = true,
},
.{
.name = "debug=",
.ze = .debug,
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "param=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{
.name = "warn-=",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "mllvm=", .syntax = .joined },
.{ .name = "fixit=", .syntax = .joined },
.{ .name = "gstabs", .syntax = .joined },
.{ .name = "gxcoff", .syntax = .joined },
.{ .name = "iquote", .syntax = .joined_or_separate },
.{
.name = "march=",
.ze = .mcpu,
.syntax = .joined,
},
.{ .name = "msimd=", .syntax = .joined },
.{
.name = "mtune=",
.ze = .mcpu,
.syntax = .joined,
},
.{
.name = "rtlib=",
.ze = .rtlib,
.syntax = .joined,
.pd2 = true,
},
.{
.name = "specs=",
.syntax = .joined,
.pd2 = true,
},
.{
.name = "weak-l",
.ze = .weak_library,
.syntax = .joined,
},
.{ .name = "Ofast", .ze = .optimize },
.{
.name = "arch:",
.syntax = .joined,
.psl = true,
},
.{
.name = "favor",
.syntax = .joined,
.psl = true,
},
.{
.name = "imsvc",
.syntax = .joined_or_separate,
.psl = true,
},
.{
.name = "tune:",
.syntax = .joined,
.psl = true,
},
.{
.name = "warn-",
.syntax = .joined,
.pd1 = false,
.pd2 = true,
},
.{ .name = "cuid=", .syntax = .joined },
.{
.name = "flto=",
.ze = .lto,
.syntax = .joined,
},
.{ .name = "gcoff", .syntax = .joined },
.{ .name = "mabi=", .syntax = .joined },
.{ .name = "mabs=", .syntax = .joined },
.{ .name = "masm=", .syntax = .joined },
.{
.name = "mcpu=",
.ze = .mcpu,
.syntax = .joined,
},
.{ .name = "mfpu=", .syntax = .joined },
.{ .name = "mhvx=", .syntax = .joined },
.{ .name = "mmcu=", .syntax = .joined },
.{ .name = "mnan=", .syntax = .joined },
.{
.name = "link",
.syntax = .remaining_args_joined,
.psl = true,
},
.{
.name = "std:",
.syntax = .joined,
.psl = true,
},
.{ .name = "ccc-", .syntax = .joined },
.{ .name = "gvms", .syntax = .joined },
.{ .name = "mdll", .syntax = .joined },
.{ .name = "mtp=", .syntax = .joined },
.{
.name = "std=",
.syntax = .joined,
.pd2 = true,
},
.{ .name = "Wa,", .syntax = .comma_joined },
.{
.name = "Wl,",
.ze = .wl,
.syntax = .comma_joined,
},
.{
.name = "Wp,",
.ze = .wp,
.syntax = .comma_joined,
},
.{
.name = "Fe:",
.syntax = .joined_or_separate,
.psl = true,
},
.{
.name = "Fi:",
.syntax = .joined_or_separate,
.psl = true,
},
.{
.name = "Fo:",
.syntax = .joined_or_separate,
.psl = true,
},
.{
.name = "Fp:",
.syntax = .joined_or_separate,
.psl = true,
},
.{
.name = "RTC",
.syntax = .joined,
.psl = true,
},
.{
.name = "Zc:",
.syntax = .joined,
.psl = true,
},
.{
.name = "clr",
.syntax = .joined,
.psl = true,
},
.{
.name = "doc",
.syntax = .joined,
.psl = true,
},
.{ .name = "gz=", .syntax = .joined },
.{ .name = "A-", .syntax = .joined },
.{ .name = "G=", .syntax = .joined },
.{
.name = "MF",
.ze = .dep_file,
.syntax = .joined_or_separate,
},
.{
.name = "MJ",
.ze = .dep_file,
.syntax = .joined_or_separate,
},
.{
.name = "MQ",
.ze = .dep_file,
.syntax = .joined_or_separate,
},
.{
.name = "MT",
.ze = .dep_file,
.syntax = .joined_or_separate,
},
.{
.name = "AI",
.syntax = .joined_or_separate,
.psl = true,
},
.{
.name = "EH",
.syntax = .joined,
.psl = true,
},
.{
.name = "FA",
.syntax = .joined,
.psl = true,
},
.{
.name = "FI",
.syntax = .joined_or_separate,
.psl = true,
},
.{
.name = "FR",
.syntax = .joined,
.psl = true,
},
.{
.name = "FU",
.syntax = .joined_or_separate,
.psl = true,
},
.{
.name = "Fa",
.syntax = .joined,
.psl = true,
},
.{
.name = "Fd",
.syntax = .joined,
.psl = true,
},
.{
.name = "Fe",
.syntax = .joined,
.psl = true,
},
.{
.name = "Fi",
.syntax = .joined,
.psl = true,
},
.{
.name = "Fm",
.syntax = .joined,
.psl = true,
},
.{
.name = "Fo",
.syntax = .joined,
.psl = true,
},
.{
.name = "Fp",
.syntax = .joined,
.psl = true,
},
.{
.name = "Fr",
.syntax = .joined,
.psl = true,
},
.{
.name = "Gs",
.syntax = .joined,
.psl = true,
},
.{
.name = "MP",
.ze = .dep_file,
.syntax = .joined,
.psl = true,
},
.{
.name = "Tc",
.syntax = .joined_or_separate,
.psl = true,
},
.{
.name = "Tp",
.syntax = .joined_or_separate,
.psl = true,
},
.{
.name = "Wv",
.syntax = .joined,
.psl = true,
},
.{
.name = "Yc",
.syntax = .joined,
.psl = true,
},
.{
.name = "Yl",
.syntax = .joined,
.psl = true,
},
.{
.name = "Yu",
.syntax = .joined,
.psl = true,
},
.{
.name = "ZW",
.syntax = .joined,
.psl = true,
},
.{
.name = "Zm",
.syntax = .joined,
.psl = true,
},
.{
.name = "Zp",
.syntax = .joined,
.psl = true,
},
.{
.name = "d1",
.syntax = .joined,
.psl = true,
},
.{
.name = "d2",
.syntax = .joined,
.psl = true,
},
.{
.name = "vd",
.syntax = .joined,
.psl = true,
},
.{
.name = "wd",
.syntax = .joined,
.psl = true,
},
.{
.name = "Fc",
.syntax = .joined_or_separate,
.psl = true,
},
.{
.name = "Fo",
.syntax = .joined_or_separate,
.psl = true,
},
.{ .name = "A", .syntax = .joined_or_separate },
.{ .name = "B", .syntax = .joined_or_separate },
.{ .name = "D", .syntax = .joined_or_separate },
.{
.name = "F",
.ze = .framework_dir,
.syntax = .joined_or_separate,
},
.{ .name = "G", .syntax = .joined_or_separate },
.{ .name = "I", .syntax = .joined_or_separate },
.{ .name = "J", .syntax = .joined_or_separate },
.{
.name = "L",
.ze = .lib_dir,
.syntax = .joined_or_separate,
},
.{
.name = "O",
.ze = .optimize,
.syntax = .joined,
},
.{ .name = "R", .syntax = .joined },
.{
.name = "T",
.ze = .linker_script,
.syntax = .joined_or_separate,
},
.{ .name = "U", .syntax = .joined_or_separate },
.{ .name = "V", .syntax = .joined_or_separate },
.{ .name = "W", .syntax = .joined },
.{
.name = "D",
.syntax = .joined_or_separate,
.psl = true,
},
.{
.name = "F",
.ze = .framework_dir,
.syntax = .joined_or_separate,
.psl = true,
},
.{
.name = "I",
.syntax = .joined_or_separate,
.psl = true,
},
.{
.name = "O",
.ze = .optimize,
.syntax = .joined,
.psl = true,
},
.{
.name = "U",
.syntax = .joined_or_separate,
.psl = true,
},
.{
.name = "o",
.ze = .o,
.syntax = .joined_or_separate,
.psl = true,
},
.{
.name = "w",
.syntax = .joined,
.psl = true,
},
.{ .name = "b", .syntax = .joined_or_separate },
.{ .name = "d", .syntax = .joined },
.{
.name = "l",
.ze = .l,
.syntax = .joined_or_separate,
},
.{
.name = "o",
.ze = .o,
.syntax = .joined_or_separate,
},
.{
.name = "T",
.ze = .linker_script,
.syntax = .joined_or_separate,
.psl = true,
},
.{
.name = "u",
.ze = .force_undefined_symbol,
.syntax = .joined_or_separate,
},
.{
.name = "x",
.ze = .x,
.syntax = .joined_or_separate,
},
.{ .name = "y", .syntax = .joined },
}
-8622
View File
@@ -1,8622 +0,0 @@
// This file is generated by tools/update_clang_options.zig.
// zig fmt: off
const clang_options = @import("clang_options.zig");
const CliArg = clang_options.CliArg;
const flagpd1 = clang_options.flagpd1;
const flagpsl = clang_options.flagpsl;
const joinpd1 = clang_options.joinpd1;
const jspd1 = clang_options.jspd1;
const sepd1 = clang_options.sepd1;
const m = clang_options.m;
pub const data = blk: { @setEvalBranchQuota(6000); break :blk &[_]CliArg{
flagpd1("C"),
flagpd1("CC"),
.{
.name = "E",
.syntax = .flag,
.zig_equivalent = .preprocess_only,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("EB"),
flagpd1("EL"),
flagpd1("Eonly"),
flagpd1("faapcs-bitfield-load"),
flagpd1("H"),
.{
.name = "<input>",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = false,
.psl = false,
},
flagpd1("I-"),
flagpd1("K"),
.{
.name = "M",
.syntax = .flag,
.zig_equivalent = .dep_file_to_stdout,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "MD",
.syntax = .flag,
.zig_equivalent = .dep_file,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "MG",
.syntax = .flag,
.zig_equivalent = .dep_file,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "MM",
.syntax = .flag,
.zig_equivalent = .dep_file_to_stdout,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "MMD",
.syntax = .flag,
.zig_equivalent = .dep_file,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "MP",
.syntax = .flag,
.zig_equivalent = .dep_file,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "MV",
.syntax = .flag,
.zig_equivalent = .dep_file,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("Mach"),
.{
.name = "O0",
.syntax = .flag,
.zig_equivalent = .optimize,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "O4",
.syntax = .flag,
.zig_equivalent = .optimize,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "O",
.syntax = .flag,
.zig_equivalent = .optimize,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "ObjC",
.syntax = .flag,
.zig_equivalent = .force_load_objc,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("ObjC++"),
flagpd1("P"),
flagpd1("Q"),
flagpd1("Qn"),
flagpd1("Qunused-arguments"),
flagpd1("Qy"),
.{
.name = "S",
.syntax = .flag,
.zig_equivalent = .asm_only,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "<unknown>",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = false,
.psl = false,
},
flagpd1("WCL4"),
flagpd1("Wall"),
flagpd1("Wdeprecated"),
flagpd1("Wframe-larger-than"),
flagpd1("Winvalid-constexpr"),
flagpd1("Winvalid-gnu-asm-cast"),
flagpd1("Wlarge-by-value-copy"),
flagpd1("Wno-deprecated"),
flagpd1("Wno-invalid-constexpr"),
flagpd1("Wno-rewrite-macros"),
flagpd1("Wno-system-headers"),
flagpd1("Wno-write-strings"),
flagpd1("Wsystem-headers"),
flagpd1("Wwrite-strings"),
flagpd1("X"),
sepd1("Xanalyzer"),
sepd1("Xarch_device"),
sepd1("Xarch_host"),
sepd1("Xassembler"),
sepd1("Xclang"),
sepd1("Xclangas"),
sepd1("Xcuda-fatbinary"),
sepd1("Xcuda-ptxas"),
sepd1("Xflang"),
.{
.name = "Xlinker",
.syntax = .separate,
.zig_equivalent = .for_linker,
.pd1 = true,
.pd2 = false,
.psl = false,
},
sepd1("Xopenmp-target"),
sepd1("Xpreprocessor"),
flagpd1("Z"),
flagpd1("Z-Xlinker-no-demangle"),
flagpd1("Z-reserved-lib-cckext"),
flagpd1("Z-reserved-lib-stdc++"),
sepd1("Zlinker-input"),
.{
.name = "CLASSPATH",
.syntax = .separate,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "###",
.syntax = .flag,
.zig_equivalent = .dry_run,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "Brepro",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Brepro-",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Bt",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Bt+",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "C",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "E",
.syntax = .flag,
.zig_equivalent = .preprocess_only,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "EP",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "FC",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "FS",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Fx",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "G1",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "G2",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "GA",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "GF",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "GF-",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "GH",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "GL",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "GL-",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "GR",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "GR-",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "GS",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "GS-",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "GT",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "GX",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "GX-",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "GZ",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Gd",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Ge",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Gh",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Gm",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Gm-",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Gr",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Gregcall",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Gregcall4",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Gv",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Gw",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Gw-",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Gy",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Gy-",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Gz",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "H",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "HELP",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "J",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "JMC",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "JMC-",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "LD",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "LDd",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "LN",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "MD",
.syntax = .flag,
.zig_equivalent = .dep_file,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "MDd",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
flagpsl("MT"),
.{
.name = "MTd",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "P",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "QIfist",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "QIntel-jcc-erratum",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "?",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Qfast_transcendentals",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Qimprecise_fwaits",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Qpar",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Qsafe_fp_loads",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Qspectre",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Qspectre-load",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Qspectre-load-cf",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Qvec",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Qvec-",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "TC",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "TP",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "V",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "W0",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "W1",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "W2",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "W3",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "W4",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "WL",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "WX",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "WX-",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Wall",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Wp64",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "X",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Y-",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Yd",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Z7",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "ZH:MD5",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "ZH:SHA1",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "ZH:SHA_256",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "ZI",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Za",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Zc:__STDC__",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Zc:__cplusplus",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Zc:alignedNew",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Zc:alignedNew-",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Zc:auto",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Zc:char8_t",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Zc:char8_t-",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Zc:dllexportInlines",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Zc:dllexportInlines-",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Zc:forScope",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Zc:inline",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Zc:rvalueCast",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Zc:sizedDealloc",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Zc:sizedDealloc-",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Zc:strictStrings",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Zc:ternary",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Zc:threadSafeInit",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Zc:threadSafeInit-",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Zc:tlsGuards",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Zc:tlsGuards-",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Zc:trigraphs",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Zc:trigraphs-",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Zc:twoPhase",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Zc:twoPhase-",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Zc:wchar_t",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Zc:wchar_t-",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Ze",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Zg",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Zi",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Zl",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Zo",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Zo-",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Zp",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Zs",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "analyze-",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "arm64EC",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "await",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "bigobj",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "c",
.syntax = .flag,
.zig_equivalent = .c,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "d1PP",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "d1reportAllClassLayout",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "d2FastFail",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "d2Zi+",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "d2epilogunwind",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "d2epilogunwindrequirev2",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "diagnostics:caret",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "diagnostics:classic",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "diagnostics:column",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "exportHeader",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "external:W0",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "external:W1",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "external:W2",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "external:W3",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "external:W4",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "fp:contract",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "fp:except",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "fp:except-",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "fp:fast",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "fp:precise",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "fp:strict",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "fsanitize=address",
.syntax = .flag,
.zig_equivalent = .sanitize,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "help",
.syntax = .flag,
.zig_equivalent = .driver_punt,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "homeparams",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "hotpatch",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "kernel",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "kernel-",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "nologo",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "openmp",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "openmp-",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "openmp:experimental",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "permissive",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "permissive-",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "sdl",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "sdl-",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "showFilenames",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "showFilenames-",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "showIncludes",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "showIncludes:user",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "translateInclude",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "u",
.syntax = .flag,
.zig_equivalent = .force_undefined_symbol,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "utf-8",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "validate-charset",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "validate-charset-",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "vmb",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "vmg",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "vmm",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "vms",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "vmv",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "volatile:iso",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "volatile:ms",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "w",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "all-warnings",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "analyze",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "analyzer-no-default-checks",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "assemble",
.syntax = .flag,
.zig_equivalent = .asm_only,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "assert",
.syntax = .separate,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "bootclasspath",
.syntax = .separate,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "classpath",
.syntax = .separate,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "comments",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "comments-in-macros",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "compile",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "constant-cfstrings",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "debug",
.syntax = .flag,
.zig_equivalent = .debug,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "define-macro",
.syntax = .separate,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "dependencies",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "dyld-prefix",
.syntax = .separate,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "encoding",
.syntax = .separate,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "entry",
.syntax = .flag,
.zig_equivalent = .entry,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "extdirs",
.syntax = .separate,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "extra-warnings",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "for-linker",
.syntax = .separate,
.zig_equivalent = .for_linker,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "force-link",
.syntax = .separate,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "help-hidden",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "include-barrier",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "include-directory",
.syntax = .separate,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "include-directory-after",
.syntax = .separate,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "include-prefix",
.syntax = .separate,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "include-with-prefix",
.syntax = .separate,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "include-with-prefix-after",
.syntax = .separate,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "include-with-prefix-before",
.syntax = .separate,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "language",
.syntax = .separate,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "library-directory",
.syntax = .separate,
.zig_equivalent = .lib_dir,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "mhwdiv",
.syntax = .separate,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "no-line-commands",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "no-standard-includes",
.syntax = .flag,
.zig_equivalent = .nostdlibinc,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "no-standard-libraries",
.syntax = .flag,
.zig_equivalent = .nostdlib,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "no-undefined",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "no-warnings",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "optimize",
.syntax = .flag,
.zig_equivalent = .optimize,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "output",
.syntax = .separate,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "output-class-directory",
.syntax = .separate,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "param",
.syntax = .separate,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "precompile",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "prefix",
.syntax = .separate,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "preprocess",
.syntax = .flag,
.zig_equivalent = .preprocess_only,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "print-diagnostic-categories",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "print-file-name",
.syntax = .separate,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "print-missing-file-dependencies",
.syntax = .flag,
.zig_equivalent = .dep_file,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "print-prog-name",
.syntax = .separate,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "profile",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "resource",
.syntax = .separate,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "rtlib",
.syntax = .separate,
.zig_equivalent = .rtlib,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "serialize-diagnostics",
.syntax = .separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "signed-char",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "std",
.syntax = .separate,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "stdlib",
.syntax = .separate,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "sysroot",
.syntax = .separate,
.zig_equivalent = .sysroot,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "target-help",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "trace-includes",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "undefine-macro",
.syntax = .separate,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "unsigned-char",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "user-dependencies",
.syntax = .flag,
.zig_equivalent = .dep_file_to_stdout,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "verbose",
.syntax = .flag,
.zig_equivalent = .verbose,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "version",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "write-dependencies",
.syntax = .flag,
.zig_equivalent = .dep_file,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "write-user-dependencies",
.syntax = .flag,
.zig_equivalent = .dep_file,
.pd1 = false,
.pd2 = true,
.psl = false,
},
sepd1("add-plugin"),
sepd1("alias_list"),
flagpd1("faligned-alloc-unavailable"),
flagpd1("all_load"),
sepd1("allowable_client"),
flagpd1("cfg-add-implicit-dtors"),
flagpd1("unoptimized-cfg"),
flagpd1("analyze"),
sepd1("analyze-function"),
sepd1("analyzer-checker"),
flagpd1("analyzer-checker-help"),
flagpd1("analyzer-checker-help-alpha"),
flagpd1("analyzer-checker-help-developer"),
flagpd1("analyzer-checker-option-help"),
flagpd1("analyzer-checker-option-help-alpha"),
flagpd1("analyzer-checker-option-help-developer"),
sepd1("analyzer-config"),
sepd1("analyzer-config-compatibility-mode"),
flagpd1("analyzer-config-help"),
sepd1("analyzer-constraints"),
flagpd1("analyzer-disable-all-checks"),
sepd1("analyzer-disable-checker"),
flagpd1("analyzer-disable-retry-exhausted"),
flagpd1("analyzer-display-progress"),
sepd1("analyzer-dump-egraph"),
sepd1("analyzer-inline-max-stack-depth"),
sepd1("analyzer-inlining-mode"),
flagpd1("analyzer-list-enabled-checkers"),
sepd1("analyzer-max-loop"),
flagpd1("analyzer-note-analysis-entry-points"),
flagpd1("analyzer-opt-analyze-headers"),
sepd1("analyzer-output"),
sepd1("analyzer-purge"),
flagpd1("analyzer-stats"),
flagpd1("analyzer-viz-egraph-graphviz"),
flagpd1("analyzer-werror"),
sepd1("fnew-alignment"),
flagpd1("faligned-new"),
flagpd1("fno-aligned-new"),
flagpd1("fsched-interblock"),
flagpd1("fcuda-rdc"),
flagpd1("fno-cuda-rdc"),
flagpd1("ftree-vectorize"),
flagpd1("fno-tree-vectorize"),
flagpd1("ftree-slp-vectorize"),
flagpd1("fno-tree-slp-vectorize"),
flagpd1("fterminated-vtables"),
flagpd1("grecord-gcc-switches"),
flagpd1("gno-record-gcc-switches"),
flagpd1("nogpuinc"),
flagpd1("nocudainc"),
flagpd1("nogpulib"),
flagpd1("nocudalib"),
.{
.name = "print-multiarch",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "system-header-prefix",
.syntax = .separate,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "no-system-header-prefix",
.syntax = .separate,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "mcpu=help",
.syntax = .flag,
.zig_equivalent = .mcpu,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "mtune=help",
.syntax = .flag,
.zig_equivalent = .mcpu,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("integrated-as"),
flagpd1("no-integrated-as"),
flagpd1("fopenmp-is-device"),
flagpd1("fcuda-approx-transcendentals"),
flagpd1("fno-cuda-approx-transcendentals"),
.{
.name = "Gs",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "O1",
.syntax = .flag,
.zig_equivalent = .optimize,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "O2",
.syntax = .flag,
.zig_equivalent = .optimize,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Ob0",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Ob1",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Ob2",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Ob3",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Od",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Og",
.syntax = .flag,
.zig_equivalent = .optimize,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Oi",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Oi-",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Os",
.syntax = .flag,
.zig_equivalent = .optimize,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Ot",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Ox",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Oy",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Oy-",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Qgather-",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Qscatter-",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
flagpd1("shared-libasan"),
sepd1("Xmicrosoft-visualc-tools-root"),
sepd1("Xmicrosoft-visualc-tools-version"),
sepd1("Xmicrosoft-windows-sdk-root"),
sepd1("Xmicrosoft-windows-sdk-version"),
sepd1("Xmicrosoft-windows-sys-root"),
.{
.name = "Qembed_debug",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
flagpd1("static-libasan"),
flagpd1("fslp-vectorize-aggressive"),
flagpd1("fident"),
flagpd1("fno-ident"),
flagpd1("fno-slp-vectorize-aggressive"),
flagpd1("fdiagnostics-color"),
flagpd1("fno-diagnostics-color"),
flagpd1("frecord-gcc-switches"),
flagpd1("fno-record-gcc-switches"),
flagpd1("Xparser"),
flagpd1("Xcompiler"),
flagpd1("fexpensive-optimizations"),
flagpd1("fno-expensive-optimizations"),
flagpd1("fdefer-pop"),
flagpd1("fno-defer-pop"),
flagpd1("fextended-identifiers"),
flagpd1("fno-extended-identifiers"),
flagpd1("fno-sanitize-blacklist"),
flagpd1("fhonor-infinites"),
flagpd1("fno-honor-infinites"),
flagpd1("findirect-virtual-calls"),
.{
.name = "config",
.syntax = .separate,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "ansi",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
sepd1("arch"),
flagpd1("arch_errors_fatal"),
sepd1("arch_only"),
sepd1("as-secure-log-file"),
flagpd1("ast-dump"),
flagpd1("ast-dump-all"),
flagpd1("ast-dump-decl-types"),
sepd1("ast-dump-filter"),
flagpd1("ast-dump-lookups"),
flagpd1("ast-list"),
sepd1("ast-merge"),
flagpd1("ast-print"),
flagpd1("ast-view"),
sepd1("aux-target-cpu"),
sepd1("aux-target-feature"),
sepd1("aux-triple"),
flagpd1("bind_at_load"),
flagpd1("building-pch-with-obj"),
flagpd1("bundle"),
sepd1("bundle_loader"),
.{
.name = "c",
.syntax = .flag,
.zig_equivalent = .c,
.pd1 = true,
.pd2 = false,
.psl = false,
},
sepd1("c-isystem"),
flagpd1("canonical-prefixes"),
flagpd1("cc1"),
flagpd1("cc1as"),
sepd1("ccc-gcc-name"),
sepd1("ccc-install-dir"),
flagpd1("ccc-print-bindings"),
flagpd1("ccc-print-phases"),
flagpd1("cfguard"),
flagpd1("cfguard-no-checks"),
sepd1("chain-include"),
flagpd1("cl-denorms-are-zero"),
flagpd1("cl-fast-relaxed-math"),
flagpd1("cl-finite-math-only"),
flagpd1("cl-fp32-correctly-rounded-divide-sqrt"),
flagpd1("cl-kernel-arg-info"),
flagpd1("cl-mad-enable"),
flagpd1("cl-no-signed-zeros"),
flagpd1("cl-no-stdinc"),
flagpd1("cl-opt-disable"),
flagpd1("cl-single-precision-constant"),
flagpd1("cl-strict-aliasing"),
flagpd1("cl-uniform-work-group-size"),
flagpd1("cl-unsafe-math-optimizations"),
flagpd1("clangir-disable-passes"),
flagpd1("clangir-disable-verifier"),
flagpd1("clear-ast-before-backend"),
sepd1("code-completion-at"),
flagpd1("code-completion-brief-comments"),
flagpd1("code-completion-macros"),
flagpd1("code-completion-patterns"),
flagpd1("code-completion-with-fixits"),
.{
.name = "combine",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
flagpd1("compiler-options-dump"),
.{
.name = "compress-debug-sections",
.syntax = .flag,
.zig_equivalent = .compress_debug_sections,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "coverage",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
flagpd1("cpp"),
flagpd1("cpp-precomp"),
.{
.name = "crel",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "cuda-compile-host-device",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "cuda-device-only",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "cuda-host-only",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "cuda-noopt-device-debug",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "cuda-path-ignore-env",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
flagpd1("fc++-static-destructors"),
flagpd1("dA"),
flagpd1("dD"),
flagpd1("dE"),
flagpd1("dI"),
flagpd1("dM"),
flagpd1("d"),
sepd1("darwin-target-variant"),
sepd1("darwin-target-variant-triple"),
flagpd1("dead_strip"),
flagpd1("debug-forward-template-params"),
flagpd1("debug-info-macro"),
sepd1("default-function-attr"),
.{
.name = "defsym",
.syntax = .separate,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
sepd1("dependency-dot"),
sepd1("dependency-file"),
flagpd1("detailed-preprocessing-record"),
sepd1("diagnostic-log-file"),
sepd1("serialize-diagnostic-file"),
flagpd1("disable-O0-optnone"),
flagpd1("disable-free"),
flagpd1("disable-lifetime-markers"),
flagpd1("disable-llvm-optzns"),
flagpd1("disable-llvm-passes"),
flagpd1("disable-llvm-verifier"),
flagpd1("disable-objc-default-synthesize-properties"),
flagpd1("disable-pragma-debug-crash"),
flagpd1("disable-red-zone"),
flagpd1("discard-value-names"),
flagpd1("dump-coverage-mapping"),
flagpd1("dump-deserialized-decls"),
flagpd1("dump-raw-tokens"),
flagpd1("dump-tokens"),
sepd1("dumpdir"),
flagpd1("dumpmachine"),
flagpd1("dumpspecs"),
flagpd1("dumpversion"),
sepd1("dwarf-debug-flags"),
sepd1("dwarf-debug-producer"),
flagpd1("dwarf-explicit-import"),
flagpd1("dwarf-ext-refs"),
.{
.name = "Vd",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Gis",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "hlsl-no-stdinc",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "force-rootsig-ver",
.syntax = .separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
sepd1("dylib_file"),
flagpd1("dylinker"),
.{
.name = "dynamic",
.syntax = .flag,
.zig_equivalent = .dynamic,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "dynamiclib",
.syntax = .flag,
.zig_equivalent = .shared,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "e",
.syntax = .separate,
.zig_equivalent = .entry,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("ehcontguard"),
flagpd1("emit-ast"),
flagpd1("emit-cir"),
flagpd1("emit-codegen-only"),
.{
.name = "emit-extension-symbol-graphs",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
flagpd1("emit-fir"),
flagpd1("emit-header-unit"),
flagpd1("emit-hlfir"),
flagpd1("emit-html"),
flagpd1("emit-interface-stubs"),
.{
.name = "emit-llvm",
.syntax = .flag,
.zig_equivalent = .emit_llvm,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("emit-llvm-bc"),
flagpd1("emit-llvm-only"),
flagpd1("emit-llvm-uselists"),
flagpd1("emit-merged-ifs"),
flagpd1("emit-mlir"),
flagpd1("emit-module"),
flagpd1("emit-module-interface"),
flagpd1("emit-obj"),
flagpd1("emit-pch"),
.{
.name = "pretty-sgf",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "emit-pristine-llvm",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
flagpd1("emit-reduced-module-interface"),
.{
.name = "emit-sgf-symbol-labels-for-testing",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "emit-static-lib",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
flagpd1("emit-symbol-graph"),
.{
.name = "enable-16bit-types",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
flagpd1("enable-noundef-analysis"),
flagpd1("enable-tlsdesc"),
.{
.name = "end-no-unused-arguments",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
sepd1("error-on-deserialized-decl"),
sepd1("exception-model"),
flagpd1("fexperimental-modules-reduced-bmi"),
sepd1("exported_symbols_list"),
flagpd1("extract-api"),
.{
.name = "fPIC",
.syntax = .flag,
.zig_equivalent = .pic,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "fPIE",
.syntax = .flag,
.zig_equivalent = .pie,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("faapcs-bitfield-width"),
flagpd1("faarch64-jump-table-hardening"),
flagpd1("faccess-control"),
flagpd1("faddrsig"),
flagpd1("faggressive-function-elimination"),
flagpd1("falign-commons"),
flagpd1("falign-functions"),
flagpd1("falign-jumps"),
flagpd1("falign-labels"),
flagpd1("falign-loops"),
flagpd1("faligned-allocation"),
flagpd1("fall-intrinsics"),
flagpd1("fallow-editor-placeholders"),
flagpd1("fallow-pch-with-different-modules-cache-path"),
flagpd1("fallow-pch-with-compiler-errors"),
flagpd1("fallow-pcm-with-compiler-errors"),
flagpd1("fallow-unsupported"),
flagpd1("falternative-parameter-statement"),
flagpd1("faltivec"),
flagpd1("fanalyzed-objects-for-unparse"),
flagpd1("fandroid-pad-segment"),
flagpd1("fkeep-inline-functions"),
flagpd1("funit-at-a-time"),
flagpd1("fansi-escape-codes"),
flagpd1("fapinotes"),
flagpd1("fapinotes-modules"),
flagpd1("fapple-kext"),
flagpd1("fapple-link-rtlib"),
flagpd1("fapple-pragma-pack"),
flagpd1("fapplication-extension"),
flagpd1("fapply-global-visibility-to-externs"),
flagpd1("fapprox-func"),
flagpd1("fasm"),
flagpd1("fasm-blocks"),
flagpd1("fassociative-math"),
flagpd1("fassume-nothrow-exception-dtor"),
flagpd1("fassume-sane-operator-new"),
flagpd1("fassume-unique-vtables"),
flagpd1("fassumptions"),
flagpd1("fast"),
flagpd1("fastcp"),
flagpd1("fastf"),
flagpd1("fasync-exceptions"),
.{
.name = "fasynchronous-unwind-tables",
.syntax = .flag,
.zig_equivalent = .asynchronous_unwind_tables,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("fatomic-fine-grained-memory"),
flagpd1("fatomic-ignore-denormal-mode"),
flagpd1("fatomic-remote-memory"),
flagpd1("fauto-import"),
flagpd1("fauto-profile-accurate"),
flagpd1("fautolink"),
flagpd1("fautomatic"),
flagpd1("fbackslash"),
flagpd1("fbacktrace"),
flagpd1("fbasic-block-address-map"),
flagpd1("fblocks"),
flagpd1("fblocks-runtime-optional"),
flagpd1("fborland-extensions"),
flagpd1("fbounds-check"),
flagpd1("fexperimental-bounds-safety"),
sepd1("fbracket-depth"),
flagpd1("fbranch-count-reg"),
.{
.name = "fbuiltin",
.syntax = .flag,
.zig_equivalent = .builtin,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("fbuiltin-headers-in-system-modules"),
flagpd1("fbuiltin-module-map"),
flagpd1("fcall-saved-x10"),
flagpd1("fcall-saved-x11"),
flagpd1("fcall-saved-x12"),
flagpd1("fcall-saved-x13"),
flagpd1("fcall-saved-x14"),
flagpd1("fcall-saved-x15"),
flagpd1("fcall-saved-x18"),
flagpd1("fcall-saved-x8"),
flagpd1("fcall-saved-x9"),
flagpd1("fcaller-saves"),
.{
.name = "fcaret-diagnostics",
.syntax = .flag,
.zig_equivalent = .color_diagnostics,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("fcf-protection"),
.{
.name = "fcgl",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
flagpd1("fchar8_t"),
flagpd1("fcheck-array-temporaries"),
flagpd1("fcheck-new"),
flagpd1("fclangir"),
flagpd1("fcodegen-data-generate"),
flagpd1("fcodegen-data-use"),
.{
.name = "fcolor-diagnostics",
.syntax = .flag,
.zig_equivalent = .color_diagnostics,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("fcommon"),
flagpd1("fcompatibility-qualified-id-block-type-checking"),
flagpd1("fcomplete-member-pointers"),
flagpd1("fconst-strings"),
flagpd1("fconstant-cfstrings"),
sepd1("fconstant-string-class"),
flagpd1("fconvergent-functions"),
flagpd1("fcoro-aligned-allocation"),
flagpd1("fcoroutines"),
flagpd1("fcoverage-mapping"),
flagpd1("fcrash-diagnostics"),
flagpd1("fcray-pointer"),
flagpd1("fcreate-profile"),
flagpd1("fcs-profile-generate"),
flagpd1("fctor-dtor-return-this"),
flagpd1("fcuda-allow-variadic-functions"),
flagpd1("fcuda-flush-denormals-to-zero"),
sepd1("fcuda-include-gpubinary"),
flagpd1("fcuda-is-device"),
flagpd1("fcuda-short-ptr"),
flagpd1("fcx-fortran-rules"),
flagpd1("fcx-limited-range"),
flagpd1("fcxx-exceptions"),
flagpd1("fcxx-modules"),
flagpd1("fd-lines-as-code"),
flagpd1("fd-lines-as-comments"),
.{
.name = "fdata-sections",
.syntax = .flag,
.zig_equivalent = .data_sections,
.pd1 = true,
.pd2 = false,
.psl = false,
},
sepd1("fdebug-compilation-dir"),
flagpd1("fdebug-dump-all"),
flagpd1("fdebug-dump-parse-tree"),
flagpd1("fdebug-dump-parse-tree-no-sema"),
flagpd1("fdebug-dump-parsing-log"),
flagpd1("fdebug-dump-pft"),
flagpd1("fdebug-dump-provenance"),
flagpd1("fdebug-dump-symbols"),
flagpd1("fdebug-info-for-profiling"),
flagpd1("fdebug-macro"),
flagpd1("fdebug-measure-parse-tree"),
flagpd1("fdebug-module-writer"),
flagpd1("fdebug-pass-arguments"),
flagpd1("fdebug-pass-manager"),
flagpd1("fdebug-pass-structure"),
flagpd1("fdebug-pre-fir-tree"),
flagpd1("fdebug-ranges-base-address"),
flagpd1("fdebug-types-section"),
flagpd1("fdebug-unparse"),
flagpd1("fdebug-unparse-no-sema"),
flagpd1("fdebug-unparse-with-modules"),
flagpd1("fdebug-unparse-with-symbols"),
flagpd1("fdebugger-cast-result-to-id"),
flagpd1("fdebugger-objc-literal"),
flagpd1("fdebugger-support"),
flagpd1("fdeclare-opencl-builtins"),
flagpd1("fdeclspec"),
flagpd1("fdefault-double-8"),
flagpd1("fdefault-inline"),
flagpd1("fdefault-integer-8"),
flagpd1("fdefault-real-8"),
flagpd1("fdefine-target-os-macros"),
flagpd1("fdelayed-template-parsing"),
flagpd1("fdelete-null-pointer-checks"),
flagpd1("fdeprecated-macro"),
flagpd1("fdevirtualize"),
flagpd1("fdevirtualize-speculatively"),
flagpd1("fdiagnostics-absolute-paths"),
flagpd1("fdiagnostics-fixit-info"),
sepd1("fdiagnostics-format"),
flagpd1("fdiagnostics-parseable-fixits"),
flagpd1("fdiagnostics-print-source-range-info"),
sepd1("fdiagnostics-show-category"),
flagpd1("fdiagnostics-show-hotness"),
flagpd1("fdiagnostics-show-line-numbers"),
flagpd1("fdiagnostics-show-note-include-stack"),
flagpd1("fdiagnostics-show-option"),
flagpd1("fdiagnostics-show-template-tree"),
flagpd1("fdigraphs"),
flagpd1("fdirect-access-external-data"),
flagpd1("fdirectives-only"),
flagpd1("fdisable-block-signature-string"),
flagpd1("fdisable-integer-16"),
flagpd1("fdisable-integer-2"),
flagpd1("fdisable-module-hash"),
flagpd1("fdisable-real-10"),
flagpd1("fdisable-real-3"),
flagpd1("fdiscard-value-names"),
flagpd1("fdollar-ok"),
flagpd1("fdollars-in-identifiers"),
flagpd1("fdouble-square-bracket-attributes"),
flagpd1("fdriver-only"),
flagpd1("fdump-fortran-optimized"),
flagpd1("fdump-fortran-original"),
flagpd1("fdump-parse-tree"),
flagpd1("fdump-record-layouts"),
flagpd1("fdump-record-layouts-canonical"),
flagpd1("fdump-record-layouts-complete"),
flagpd1("fdump-record-layouts-simple"),
flagpd1("fdump-vtable-layouts"),
flagpd1("fdwarf2-cfi-asm"),
flagpd1("fdwarf-directory-asm"),
flagpd1("fdwarf-exceptions"),
flagpd1("felide-constructors"),
flagpd1("feliminate-unused-debug-symbols"),
flagpd1("feliminate-unused-debug-types"),
flagpd1("fembed-bitcode"),
flagpd1("fembed-bitcode-marker"),
flagpd1("femit-all-decls"),
flagpd1("femit-compact-unwind-non-canonical"),
flagpd1("femulated-tls"),
flagpd1("fenable-matrix"),
flagpd1("fencode-extended-block-signature"),
sepd1("ferror-limit"),
flagpd1("fescaping-block-tail-calls"),
flagpd1("fexceptions"),
flagpd1("fexperimental-isel"),
flagpd1("fexperimental-late-parse-attributes"),
flagpd1("fexperimental-library"),
flagpd1("fexperimental-new-constant-interpreter"),
flagpd1("fexperimental-omit-vtable-rtti"),
flagpd1("fexperimental-relative-c++-abi-vtables"),
flagpd1("fexperimental-sanitize-metadata=atomics"),
flagpd1("fexperimental-sanitize-metadata=covered"),
flagpd1("fexperimental-sanitize-metadata=uar"),
flagpd1("fexperimental-strict-floating-point"),
flagpd1("fextend-variable-liveness"),
flagpd1("fexternal-blas"),
flagpd1("fexternc-nounwind"),
flagpd1("ff2c"),
flagpd1("ffake-address-space-map"),
flagpd1("ffast-math"),
flagpd1("ffat-lto-objects"),
flagpd1("ffile-reproducible"),
flagpd1("fimplicit-modules-use-lock"),
flagpd1("ffine-grained-bitfield-accesses"),
flagpd1("ffinite-loops"),
flagpd1("ffinite-math-only"),
flagpd1("finline-limit"),
flagpd1("ffixed-a0"),
flagpd1("ffixed-a1"),
flagpd1("ffixed-a2"),
flagpd1("ffixed-a3"),
flagpd1("ffixed-a4"),
flagpd1("ffixed-a5"),
flagpd1("ffixed-a6"),
flagpd1("ffixed-d0"),
flagpd1("ffixed-d1"),
flagpd1("ffixed-d2"),
flagpd1("ffixed-d3"),
flagpd1("ffixed-d4"),
flagpd1("ffixed-d5"),
flagpd1("ffixed-d6"),
flagpd1("ffixed-d7"),
flagpd1("ffixed-form"),
flagpd1("ffixed-g1"),
flagpd1("ffixed-g2"),
flagpd1("ffixed-g3"),
flagpd1("ffixed-g4"),
flagpd1("ffixed-g5"),
flagpd1("ffixed-g6"),
flagpd1("ffixed-g7"),
flagpd1("ffixed-i0"),
flagpd1("ffixed-i1"),
flagpd1("ffixed-i2"),
flagpd1("ffixed-i3"),
flagpd1("ffixed-i4"),
flagpd1("ffixed-i5"),
flagpd1("ffixed-l0"),
flagpd1("ffixed-l1"),
flagpd1("ffixed-l2"),
flagpd1("ffixed-l3"),
flagpd1("ffixed-l4"),
flagpd1("ffixed-l5"),
flagpd1("ffixed-l6"),
flagpd1("ffixed-l7"),
flagpd1("ffixed-o0"),
flagpd1("ffixed-o1"),
flagpd1("ffixed-o2"),
flagpd1("ffixed-o3"),
flagpd1("ffixed-o4"),
flagpd1("ffixed-o5"),
flagpd1("ffixed-point"),
flagpd1("ffixed-r19"),
flagpd1("ffixed-r9"),
flagpd1("ffixed-x1"),
flagpd1("ffixed-x10"),
flagpd1("ffixed-x11"),
flagpd1("ffixed-x12"),
flagpd1("ffixed-x13"),
flagpd1("ffixed-x14"),
flagpd1("ffixed-x15"),
flagpd1("ffixed-x16"),
flagpd1("ffixed-x17"),
flagpd1("ffixed-x18"),
flagpd1("ffixed-x19"),
flagpd1("ffixed-x2"),
flagpd1("ffixed-x20"),
flagpd1("ffixed-x21"),
flagpd1("ffixed-x22"),
flagpd1("ffixed-x23"),
flagpd1("ffixed-x24"),
flagpd1("ffixed-x25"),
flagpd1("ffixed-x26"),
flagpd1("ffixed-x27"),
flagpd1("ffixed-x28"),
flagpd1("ffixed-x29"),
flagpd1("ffixed-x3"),
flagpd1("ffixed-x30"),
flagpd1("ffixed-x31"),
flagpd1("ffixed-x4"),
flagpd1("ffixed-x5"),
flagpd1("ffixed-x6"),
flagpd1("ffixed-x7"),
flagpd1("ffixed-x8"),
flagpd1("ffixed-x9"),
flagpd1("ffloat-store"),
flagpd1("ffor-scope"),
flagpd1("fforbid-guard-variables"),
flagpd1("fforce-check-cxx20-modules-input-files"),
flagpd1("fforce-dwarf-frame"),
flagpd1("fforce-emit-vtables"),
flagpd1("fforce-enable-int128"),
flagpd1("ffree-form"),
flagpd1("ffreestanding"),
flagpd1("ffriend-injection"),
flagpd1("ffrontend-optimize"),
flagpd1("ffunction-attribute-list"),
.{
.name = "ffunction-sections",
.syntax = .flag,
.zig_equivalent = .function_sections,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("fgcse"),
flagpd1("fgcse-after-reload"),
flagpd1("fgcse-las"),
flagpd1("fgcse-sm"),
.{
.name = "fget-definition",
.syntax = .{.multi_arg=3},
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("fget-symbols-sources"),
flagpd1("fglobal-isel"),
flagpd1("fgnu"),
flagpd1("fgnu89-inline"),
flagpd1("fgnu-inline-asm"),
flagpd1("fgnu-keywords"),
flagpd1("fgnu-runtime"),
flagpd1("fgpu-allow-device-init"),
flagpd1("fgpu-approx-transcendentals"),
flagpd1("fgpu-defer-diag"),
flagpd1("fgpu-exclude-wrong-side-overloads"),
flagpd1("fgpu-flush-denormals-to-zero"),
flagpd1("fgpu-rdc"),
flagpd1("fgpu-sanitize"),
flagpd1("fhalf-no-semantic-interposition"),
flagpd1("fheinous-gnu-extensions"),
flagpd1("fhermetic-module-files"),
flagpd1("fhip-dump-offload-linker-script"),
flagpd1("fhip-emit-relocatable"),
flagpd1("fhip-fp32-correctly-rounded-divide-sqrt"),
flagpd1("fhip-kernel-arg-name"),
flagpd1("fhip-new-launch-api"),
flagpd1("fhlsl-strict-availability"),
flagpd1("fhonor-infinities"),
flagpd1("fhonor-nans"),
flagpd1("fhosted"),
flagpd1("fignore-exceptions"),
sepd1("filelist"),
sepd1("filetype"),
flagpd1("fimplement-inlines"),
flagpd1("fimplicit-module-maps"),
flagpd1("fimplicit-modules"),
flagpd1("fimplicit-none"),
flagpd1("fimplicit-none-ext"),
flagpd1("fimplicit-templates"),
flagpd1("finclude-default-header"),
flagpd1("fincremental-extensions"),
flagpd1("finit-global-zero"),
flagpd1("finit-local-zero"),
flagpd1("finline"),
flagpd1("finline-functions"),
flagpd1("finline-functions-called-once"),
flagpd1("finline-hint-functions"),
flagpd1("finline-small-functions"),
flagpd1("finstrument-function-entry-bare"),
flagpd1("finstrument-functions"),
flagpd1("finstrument-functions-after-inlining"),
flagpd1("finteger-4-integer-8"),
flagpd1("fintegrated-as"),
flagpd1("fintegrated-cc1"),
flagpd1("fintegrated-objemitter"),
sepd1("fintrinsic-modules-path"),
flagpd1("fipa-cp"),
flagpd1("fivopts"),
flagpd1("fix-only-warnings"),
flagpd1("fix-what-you-can"),
flagpd1("fixit"),
flagpd1("fixit-recompile"),
flagpd1("fixit-to-temporary"),
flagpd1("fjmc"),
flagpd1("fjump-tables"),
flagpd1("fkeep-persistent-storage-variables"),
flagpd1("fkeep-static-consts"),
flagpd1("fkeep-system-includes"),
flagpd1("flang-deprecated-no-hlfir"),
flagpd1("flang-experimental-hlfir"),
flagpd1("flarge-sizes"),
flagpd1("flat_namespace"),
flagpd1("flax-vector-conversions"),
flagpd1("fexperimental-lifetime-safety"),
flagpd1("flimit-debug-info"),
flagpd1("flogical-abbreviations"),
flagpd1("floop-interchange"),
flagpd1("fversion-loops-for-stride"),
.{
.name = "flto",
.syntax = .flag,
.zig_equivalent = .lto,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "flto=auto",
.syntax = .flag,
.zig_equivalent = .lto,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "flto=jobserver",
.syntax = .flag,
.zig_equivalent = .lto,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("flto-unit"),
flagpd1("flto-visibility-public-std"),
flagpd1("fmath-errno"),
flagpd1("fmax-identifier-length"),
flagpd1("fcoverage-mcdc"),
flagpd1("fmemory-profile"),
flagpd1("fmerge-all-constants"),
flagpd1("fmerge-constants"),
flagpd1("fmerge-functions"),
flagpd1("fminimize-whitespace"),
sepd1("fmodule-feature"),
flagpd1("fmodule-file-deps"),
flagpd1("fmodule-file-home-is-cwd"),
flagpd1("fmodule-header"),
sepd1("fmodule-implementation-of"),
flagpd1("fmodule-map-file-home-is-cwd"),
flagpd1("fmodule-maps"),
flagpd1("fmodule-output"),
flagpd1("fmodule-private"),
flagpd1("fmodulemap-allow-subdirectory-search"),
flagpd1("fmodules"),
flagpd1("fmodules-codegen"),
flagpd1("fmodules-debuginfo"),
flagpd1("fmodules-decluse"),
flagpd1("fmodules-disable-diagnostic-validation"),
flagpd1("fmodules-force-validate-user-headers"),
flagpd1("fmodules-hash-content"),
flagpd1("fmodules-local-submodule-visibility"),
flagpd1("fmodules-search-all"),
flagpd1("fmodules-skip-diagnostic-options"),
flagpd1("fmodules-skip-header-search-paths"),
flagpd1("fmodules-strict-context-hash"),
flagpd1("fmodules-strict-decluse"),
sepd1("fmodules-user-build-path"),
flagpd1("fmodules-validate-input-files-content"),
flagpd1("fmodules-validate-once-per-build-session"),
flagpd1("fmodules-validate-system-headers"),
flagpd1("fmodulo-sched"),
flagpd1("fmodulo-sched-allow-regmoves"),
flagpd1("fms-compatibility"),
flagpd1("fms-define-stdc"),
flagpd1("fms-extensions"),
flagpd1("fms-hotpatch"),
flagpd1("fms-kernel"),
flagpd1("fms-tls-guards"),
flagpd1("fms-volatile"),
flagpd1("fmudflap"),
flagpd1("fmudflapth"),
flagpd1("fnative-half-arguments-and-returns"),
flagpd1("fnative-half-type"),
flagpd1("fnested-functions"),
flagpd1("fnew-infallible"),
flagpd1("fnext-runtime"),
.{
.name = "fno-PIC",
.syntax = .flag,
.zig_equivalent = .no_pic,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "fno-PIE",
.syntax = .flag,
.zig_equivalent = .no_pie,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("fno-aapcs-bitfield-width"),
flagpd1("fno-aarch64-jump-table-hardening"),
flagpd1("fno-access-control"),
flagpd1("fno-addrsig"),
flagpd1("fno-aggressive-function-elimination"),
flagpd1("fno-align-commons"),
flagpd1("fno-align-functions"),
flagpd1("fno-align-jumps"),
flagpd1("fno-align-labels"),
flagpd1("fno-align-loops"),
flagpd1("fno-aligned-allocation"),
flagpd1("fno-all-intrinsics"),
flagpd1("fno-allow-editor-placeholders"),
flagpd1("fno-altivec"),
flagpd1("fno-analyzed-objects-for-unparse"),
flagpd1("fno-android-pad-segment"),
flagpd1("fno-keep-inline-functions"),
flagpd1("fno-unit-at-a-time"),
flagpd1("fno-apinotes"),
flagpd1("fno-apinotes-modules"),
flagpd1("fno-apple-pragma-pack"),
flagpd1("fno-application-extension"),
flagpd1("fno-approx-func"),
flagpd1("fno-asm"),
flagpd1("fno-asm-blocks"),
flagpd1("fno-associative-math"),
flagpd1("fno-assume-nothrow-exception-dtor"),
flagpd1("fno-assume-sane-operator-new"),
flagpd1("fno-assume-unique-vtables"),
flagpd1("fno-assumptions"),
flagpd1("fno-async-exceptions"),
.{
.name = "fno-asynchronous-unwind-tables",
.syntax = .flag,
.zig_equivalent = .no_asynchronous_unwind_tables,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("fno-atomic-fine-grained-memory"),
flagpd1("fno-atomic-ignore-denormal-mode"),
flagpd1("fno-atomic-remote-memory"),
flagpd1("fno-auto-import"),
flagpd1("fno-auto-profile"),
flagpd1("fno-auto-profile-accurate"),
flagpd1("fno-autolink"),
flagpd1("fno-automatic"),
flagpd1("fno-backslash"),
flagpd1("fno-backtrace"),
flagpd1("fno-basic-block-address-map"),
flagpd1("fno-bitfield-type-align"),
flagpd1("fno-blocks"),
flagpd1("fno-borland-extensions"),
flagpd1("fno-bounds-check"),
flagpd1("fno-experimental-bounds-safety"),
flagpd1("fno-branch-count-reg"),
.{
.name = "fno-builtin",
.syntax = .flag,
.zig_equivalent = .no_builtin,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("fno-caller-saves"),
.{
.name = "fno-caret-diagnostics",
.syntax = .flag,
.zig_equivalent = .no_color_diagnostics,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("fno-char8_t"),
flagpd1("fno-check-array-temporaries"),
flagpd1("fno-check-new"),
flagpd1("fno-clangir"),
.{
.name = "fno-color-diagnostics",
.syntax = .flag,
.zig_equivalent = .no_color_diagnostics,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("fno-common"),
flagpd1("fno-complete-member-pointers"),
flagpd1("fno-const-strings"),
flagpd1("fno-constant-cfstrings"),
flagpd1("fno-convergent-functions"),
flagpd1("fno-coro-aligned-allocation"),
flagpd1("fno-coroutines"),
flagpd1("fno-coverage-mapping"),
flagpd1("fno-crash-diagnostics"),
flagpd1("fno-cray-pointer"),
flagpd1("fno-cuda-flush-denormals-to-zero"),
flagpd1("fno-cuda-host-device-constexpr"),
flagpd1("fno-cuda-short-ptr"),
flagpd1("fno-cx-fortran-rules"),
flagpd1("fno-cx-limited-range"),
flagpd1("fno-cxx-exceptions"),
flagpd1("fno-cxx-modules"),
flagpd1("fno-d-lines-as-code"),
flagpd1("fno-d-lines-as-comments"),
.{
.name = "fno-data-sections",
.syntax = .flag,
.zig_equivalent = .no_data_sections,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("fno-debug-info-for-profiling"),
flagpd1("fno-debug-macro"),
flagpd1("fno-debug-pass-manager"),
flagpd1("fno-debug-ranges-base-address"),
flagpd1("fno-debug-types-section"),
flagpd1("fno-declspec"),
flagpd1("fno-default-inline"),
flagpd1("fno-define-target-os-macros"),
flagpd1("fno-delayed-template-parsing"),
flagpd1("fno-delete-null-pointer-checks"),
flagpd1("fno-deprecated-macro"),
flagpd1("fno-devirtualize"),
flagpd1("fno-devirtualize-speculatively"),
flagpd1("fno-diagnostics-fixit-info"),
flagpd1("fno-diagnostics-show-hotness"),
flagpd1("fno-diagnostics-show-line-numbers"),
flagpd1("fno-diagnostics-show-note-include-stack"),
flagpd1("fno-diagnostics-show-option"),
flagpd1("fno-diagnostics-use-presumed-location"),
flagpd1("fno-digraphs"),
flagpd1("fno-direct-access-external-data"),
flagpd1("fno-directives-only"),
flagpd1("fno-disable-block-signature-string"),
flagpd1("fno-discard-value-names"),
flagpd1("fno-dllexport-inlines"),
flagpd1("fno-dollar-ok"),
flagpd1("fno-dollars-in-identifiers"),
flagpd1("fno-double-square-bracket-attributes"),
flagpd1("fno-dump-fortran-optimized"),
flagpd1("fno-dump-fortran-original"),
flagpd1("fno-dump-parse-tree"),
flagpd1("fno-dwarf2-cfi-asm"),
flagpd1("fno-dwarf-directory-asm"),
flagpd1("fno-elide-constructors"),
flagpd1("fno-elide-type"),
flagpd1("fno-eliminate-unused-debug-symbols"),
flagpd1("fno-eliminate-unused-debug-types"),
flagpd1("fno-emit-compact-unwind-non-canonical"),
flagpd1("fno-emulated-tls"),
flagpd1("fno-escaping-block-tail-calls"),
flagpd1("fno-exceptions"),
flagpd1("fno-experimental-isel"),
flagpd1("fno-experimental-late-parse-attributes"),
flagpd1("fno-experimental-library"),
flagpd1("fno-experimental-omit-vtable-rtti"),
flagpd1("fno-experimental-relative-c++-abi-vtables"),
flagpd1("fno-external-blas"),
flagpd1("fno-f2c"),
flagpd1("fno-fast-math"),
flagpd1("fno-fat-lto-objects"),
flagpd1("fno-file-reproducible"),
flagpd1("fno-implicit-modules-use-lock"),
flagpd1("fno-fine-grained-bitfield-accesses"),
flagpd1("fno-finite-loops"),
flagpd1("fno-finite-math-only"),
flagpd1("fno-inline-limit"),
flagpd1("fno-fixed-point"),
flagpd1("fno-float-store"),
flagpd1("fno-for-scope"),
flagpd1("fno-force-dwarf-frame"),
flagpd1("fno-force-emit-vtables"),
flagpd1("fno-force-enable-int128"),
flagpd1("fno-friend-injection"),
flagpd1("fno-frontend-optimize"),
flagpd1("fno-function-attribute-list"),
.{
.name = "fno-function-sections",
.syntax = .flag,
.zig_equivalent = .no_function_sections,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("fno-gcse"),
flagpd1("fno-gcse-after-reload"),
flagpd1("fno-gcse-las"),
flagpd1("fno-gcse-sm"),
flagpd1("fno-global-isel"),
flagpd1("fno-gnu"),
flagpd1("fno-gnu89-inline"),
flagpd1("fno-gnu-inline-asm"),
flagpd1("fno-gnu-keywords"),
flagpd1("fno-gpu-allow-device-init"),
flagpd1("fno-gpu-approx-transcendentals"),
flagpd1("fno-gpu-defer-diag"),
flagpd1("fno-gpu-exclude-wrong-side-overloads"),
flagpd1("fno-gpu-flush-denormals-to-zero"),
flagpd1("fno-gpu-rdc"),
flagpd1("fno-gpu-sanitize"),
flagpd1("fno-hip-emit-relocatable"),
flagpd1("fno-hip-fp32-correctly-rounded-divide-sqrt"),
flagpd1("fno-hip-kernel-arg-name"),
flagpd1("fno-hip-new-launch-api"),
flagpd1("fno-honor-infinities"),
flagpd1("fno-honor-nans"),
flagpd1("fno-implement-inlines"),
flagpd1("fno-implicit-module-maps"),
flagpd1("fno-implicit-modules"),
flagpd1("fno-implicit-none"),
flagpd1("fno-implicit-none-ext"),
flagpd1("fno-implicit-templates"),
flagpd1("fno-init-global-zero"),
flagpd1("fno-init-local-zero"),
flagpd1("fno-inline"),
flagpd1("fno-inline-functions"),
flagpd1("fno-inline-functions-called-once"),
flagpd1("fno-inline-small-functions"),
flagpd1("fno-integer-4-integer-8"),
flagpd1("fno-integrated-as"),
flagpd1("fno-integrated-cc1"),
flagpd1("fno-integrated-objemitter"),
flagpd1("fno-ipa-cp"),
flagpd1("fno-ivopts"),
flagpd1("fno-jmc"),
flagpd1("fno-jump-tables"),
flagpd1("fno-keep-persistent-storage-variables"),
flagpd1("fno-keep-static-consts"),
flagpd1("fno-keep-system-includes"),
flagpd1("fno-knr-functions"),
flagpd1("fno-lax-vector-conversions"),
flagpd1("fno-experimental-lifetime-safety"),
flagpd1("fno-limit-debug-info"),
flagpd1("fno-logical-abbreviations"),
flagpd1("fno-loop-interchange"),
flagpd1("fno-version-loops-for-stride"),
.{
.name = "fno-lto",
.syntax = .flag,
.zig_equivalent = .no_lto,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("fno-lto-unit"),
flagpd1("fno-math-builtin"),
flagpd1("fno-math-errno"),
flagpd1("fno-max-identifier-length"),
flagpd1("fno-max-type-align"),
flagpd1("fno-coverage-mcdc"),
flagpd1("fno-memory-profile"),
flagpd1("fno-merge-all-constants"),
flagpd1("fno-merge-constants"),
flagpd1("fno-minimize-whitespace"),
flagpd1("fno-module-file-deps"),
flagpd1("fno-module-maps"),
flagpd1("fno-module-private"),
flagpd1("fno-modulemap-allow-subdirectory-search"),
flagpd1("fno-modules"),
flagpd1("fno-modules-decluse"),
flagpd1("fno-modules-error-recovery"),
flagpd1("fno-modules-force-validate-user-headers"),
flagpd1("fno-modules-global-index"),
flagpd1("fno-modules-prune-non-affecting-module-map-files"),
flagpd1("fno-modules-search-all"),
flagpd1("fno-modules-share-filemanager"),
flagpd1("fno-modules-skip-diagnostic-options"),
flagpd1("fno-modules-skip-header-search-paths"),
flagpd1("fno-strict-modules-decluse"),
flagpd1("fno_modules-validate-input-files-content"),
flagpd1("fno-modules-validate-system-headers"),
flagpd1("fno-modules-validate-textual-header-includes"),
flagpd1("fno-modulo-sched"),
flagpd1("fno-modulo-sched-allow-regmoves"),
flagpd1("fno-ms-compatibility"),
flagpd1("fno-ms-extensions"),
flagpd1("fno-ms-tls-guards"),
flagpd1("fno-ms-volatile"),
flagpd1("fno-new-infallible"),
flagpd1("fno-non-call-exceptions"),
flagpd1("fno-objc-arc"),
flagpd1("fno-objc-arc-exceptions"),
flagpd1("fno-objc-avoid-heapify-local-blocks"),
flagpd1("fno-objc-convert-messages-to-runtime-calls"),
flagpd1("fno-objc-encode-cxx-class-template-spec"),
flagpd1("fno-objc-exceptions"),
flagpd1("fno-objc-infer-related-result-type"),
flagpd1("fno-objc-legacy-dispatch"),
flagpd1("fno-objc-nonfragile-abi"),
flagpd1("fno-objc-weak"),
flagpd1("fno-offload-implicit-host-device-templates"),
flagpd1("fno-offload-lto"),
flagpd1("fno-offload-uniform-block"),
flagpd1("fno-offload-via-llvm"),
.{
.name = "fno-omit-frame-pointer",
.syntax = .flag,
.zig_equivalent = .no_omit_frame_pointer,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("fno-openmp"),
flagpd1("fno-openmp-assume-teams-oversubscription"),
flagpd1("fno-openmp-assume-threads-oversubscription"),
flagpd1("fno-openmp-cuda-mode"),
flagpd1("fno-openmp-extensions"),
flagpd1("fno-openmp-new-driver"),
flagpd1("fno-openmp-optimistic-collapse"),
flagpd1("fno-openmp-simd"),
flagpd1("fno-openmp-target-debug"),
flagpd1("fno-openmp-target-jit"),
flagpd1("fno-openmp-target-new-runtime"),
flagpd1("fno-operator-names"),
flagpd1("fno-optimize-sibling-calls"),
flagpd1("fno-pack-derived"),
flagpd1("fno-pack-struct"),
flagpd1("fno-padding-on-unsigned-fixed-point"),
flagpd1("fno-pascal-strings"),
flagpd1("fno-pch-codegen"),
flagpd1("fno-pch-debuginfo"),
flagpd1("fno-pch-instantiate-templates"),
flagpd1("fno-pch-timestamp"),
flagpd1("fno_pch-validate-input-files-content"),
flagpd1("fno-peel-loops"),
flagpd1("fno-permissive"),
.{
.name = "fno-pic",
.syntax = .flag,
.zig_equivalent = .no_pic,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "fno-pie",
.syntax = .flag,
.zig_equivalent = .no_pie,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("fno-plt"),
flagpd1("fno-pointer-tbaa"),
flagpd1("fno-ppc-native-vector-element-order"),
flagpd1("fno-prebuilt-implicit-modules"),
flagpd1("fno-prefetch-loop-arrays"),
flagpd1("fno-preserve-as-comments"),
flagpd1("fno-printf"),
flagpd1("fno-profile"),
flagpd1("fno-profile-arcs"),
flagpd1("fno-profile-correction"),
flagpd1("fno-profile-generate"),
flagpd1("fno-profile-generate-sampling"),
flagpd1("fno-profile-instr-generate"),
flagpd1("fno-profile-instr-use"),
flagpd1("fno-profile-reusedist"),
flagpd1("fno-profile-sample-accurate"),
flagpd1("fno-profile-sample-use"),
flagpd1("fno-profile-use"),
flagpd1("fno-profile-values"),
flagpd1("fno-protect-parens"),
flagpd1("fno-pseudo-probe-for-profiling"),
flagpd1("fno-ptrauth-auth-traps"),
flagpd1("fno-ptrauth-block-descriptor-pointers"),
flagpd1("fno-ptrauth-calls"),
flagpd1("fno-ptrauth-elf-got"),
flagpd1("fno-ptrauth-function-pointer-type-discrimination"),
flagpd1("fno-ptrauth-indirect-gotos"),
flagpd1("fno-ptrauth-init-fini"),
flagpd1("fno-ptrauth-init-fini-address-discrimination"),
flagpd1("fno-ptrauth-intrinsics"),
flagpd1("fno-ptrauth-objc-class-ro"),
flagpd1("fno-ptrauth-objc-interface-sel"),
flagpd1("fno-ptrauth-objc-isa"),
flagpd1("fno-ptrauth-returns"),
flagpd1("fno-ptrauth-type-info-vtable-pointer-discrimination"),
flagpd1("fno-ptrauth-vtable-pointer-address-discrimination"),
flagpd1("fno-ptrauth-vtable-pointer-type-discrimination"),
flagpd1("fno-range-check"),
flagpd1("fno-raw-string-literals"),
flagpd1("fno-real-4-real-10"),
flagpd1("fno-real-4-real-16"),
flagpd1("fno-real-4-real-8"),
flagpd1("fno-real-8-real-10"),
flagpd1("fno-real-8-real-16"),
flagpd1("fno-real-8-real-4"),
flagpd1("fno-realloc-lhs"),
flagpd1("fno-reciprocal-math"),
flagpd1("fno-record-command-line"),
flagpd1("fno-recovery-ast"),
flagpd1("fno-recovery-ast-type"),
flagpd1("fno-recursive"),
flagpd1("fno-reformat"),
flagpd1("fno-register-global-dtors-with-atexit"),
flagpd1("fno-regs-graph"),
flagpd1("fno-rename-registers"),
flagpd1("fno-reorder-blocks"),
flagpd1("fno-repack-arrays"),
flagpd1("fno-rewrite-imports"),
flagpd1("fno-rewrite-includes"),
flagpd1("fno-ripa"),
flagpd1("fno-ropi"),
flagpd1("fno-rounding-math"),
flagpd1("fno-rtlib-add-rpath"),
flagpd1("fno-rtlib-defaultlib"),
flagpd1("fno-rtti"),
flagpd1("fno-rtti-data"),
flagpd1("fno-rwpi"),
flagpd1("fno-safe-buffer-usage-suggestions"),
flagpd1("fno-sample-profile-use-profi"),
flagpd1("fno-sanitize-address-globals-dead-stripping"),
flagpd1("fno-sanitize-address-outline-instrumentation"),
flagpd1("fno-sanitize-address-poison-custom-array-cookie"),
flagpd1("fno-sanitize-address-use-after-scope"),
flagpd1("fno-sanitize-address-use-odr-indicator"),
flagpd1("fno-sanitize-annotate-debug-info"),
flagpd1("fno-sanitize-cfi-canonical-jump-tables"),
flagpd1("fno-sanitize-cfi-cross-dso"),
flagpd1("fno-sanitize-hwaddress-experimental-aliasing"),
flagpd1("fno-sanitize-ignorelist"),
flagpd1("fno-sanitize-link-c++-runtime"),
flagpd1("fno-sanitize-link-runtime"),
flagpd1("fno-sanitize-memory-param-retval"),
flagpd1("fno-sanitize-memory-track-origins"),
flagpd1("fno-sanitize-memory-use-after-dtor"),
flagpd1("fno-sanitize-merge"),
flagpd1("fno-sanitize-minimal-runtime"),
flagpd1("fno-sanitize-recover"),
flagpd1("fno-sanitize-stable-abi"),
flagpd1("fno-sanitize-stats"),
flagpd1("fno-sanitize-thread-atomics"),
flagpd1("fno-sanitize-thread-func-entry-exit"),
flagpd1("fno-sanitize-thread-memory-access"),
.{
.name = "fno-sanitize-trap",
.syntax = .flag,
.zig_equivalent = .no_sanitize_trap,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("fno-sanitize-undefined-trap-on-error"),
flagpd1("fno-save-main-program"),
flagpd1("fno-save-optimization-record"),
flagpd1("fno-schedule-insns"),
flagpd1("fno-schedule-insns2"),
flagpd1("fno-second-underscore"),
flagpd1("fno-see"),
flagpd1("fno-semantic-interposition"),
flagpd1("fno-separate-named-sections"),
flagpd1("fno-short-enums"),
flagpd1("fno-short-wchar"),
flagpd1("fno-show-column"),
flagpd1("fno-show-source-location"),
flagpd1("fno-sign-zero"),
flagpd1("fno-signaling-math"),
flagpd1("fno-signaling-nans"),
flagpd1("fno-signed-char"),
flagpd1("fno-signed-wchar"),
flagpd1("fno-signed-zeros"),
flagpd1("fno-single-precision-constant"),
flagpd1("fno-sized-deallocation"),
flagpd1("fno-skip-odr-check-in-gmf"),
flagpd1("fno-slp-vectorize"),
flagpd1("fno-spec-constr-count"),
flagpd1("fno-spell-checking"),
flagpd1("fno-split-dwarf-inlining"),
flagpd1("fno-split-lto-unit"),
flagpd1("fno-split-machine-functions"),
flagpd1("fno-split-stack"),
flagpd1("fno-stack-arrays"),
.{
.name = "fno-stack-check",
.syntax = .flag,
.zig_equivalent = .no_stack_check,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("fno-stack-clash-protection"),
.{
.name = "fno-stack-protector",
.syntax = .flag,
.zig_equivalent = .no_stack_protector,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("fno-stack-repack-arrays"),
flagpd1("fno-stack-size-section"),
flagpd1("fno-standalone-debug"),
flagpd1("fno-strength-reduce"),
flagpd1("fno-strict-aliasing"),
flagpd1("fno-strict-enums"),
flagpd1("fno-strict-float-cast-overflow"),
flagpd1("fno-strict-overflow"),
flagpd1("fno-strict-return"),
flagpd1("fno-strict-vtable-pointers"),
flagpd1("fno-struct-path-tbaa"),
flagpd1("fno-swift-version-independent-apinotes"),
flagpd1("fno-sycl"),
flagpd1("fno-temp-file"),
flagpd1("fno-test-coverage"),
flagpd1("fno-threadsafe-statics"),
flagpd1("fno-tls-model"),
flagpd1("fno-tracer"),
flagpd1("fno-trapping-math"),
flagpd1("fno-tree-dce"),
flagpd1("fno-tree-salias"),
flagpd1("fno-tree-ter"),
flagpd1("fno-tree-vectorizer-verbose"),
flagpd1("fno-tree-vrp"),
flagpd1("fno-trigraphs"),
flagpd1("fno-underscoring"),
flagpd1("fno-unified-lto"),
flagpd1("fno-unique-basic-block-section-names"),
flagpd1("fno-unique-internal-linkage-names"),
flagpd1("fno-unique-section-names"),
flagpd1("fno-unique-source-file-names"),
flagpd1("fno-unroll-all-loops"),
flagpd1("fno-unroll-loops"),
flagpd1("fno-unsafe-loop-optimizations"),
flagpd1("fno-unsafe-math-optimizations"),
flagpd1("fno-unsigned"),
flagpd1("fno-unsigned-char"),
flagpd1("fno-unswitch-loops"),
.{
.name = "fno-unwind-tables",
.syntax = .flag,
.zig_equivalent = .no_unwind_tables,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("fno-use-ctor-homing"),
flagpd1("fno-use-cxa-atexit"),
flagpd1("fno-use-init-array"),
flagpd1("fno-use-line-directives"),
flagpd1("fno-use-linker-plugin"),
flagpd1("fno-validate-pch"),
flagpd1("fno-var-tracking"),
flagpd1("fno-variable-expansion-in-unroller"),
flagpd1("fno-vect-cost-model"),
flagpd1("fno-vectorize"),
flagpd1("fno-verbose-asm"),
flagpd1("fno-verify-intermediate-code"),
flagpd1("fno-virtual-function-elimination"),
flagpd1("fno-visibility-from-dllstorageclass"),
flagpd1("fno-visibility-inlines-hidden"),
flagpd1("fno-visibility-inlines-hidden-static-local-var"),
flagpd1("fno-wchar"),
flagpd1("fno-web"),
flagpd1("fno-whole-file"),
flagpd1("fno-whole-program"),
flagpd1("fno-whole-program-vtables"),
flagpd1("fno-working-directory"),
flagpd1("fno-wrapv"),
flagpd1("fno-wrapv-pointer"),
flagpd1("fno-xl-pragma-pack"),
flagpd1("fno-xor-operator"),
flagpd1("fno-xray-always-emit-customevents"),
flagpd1("fno-xray-always-emit-typedevents"),
flagpd1("fno-xray-function-index"),
flagpd1("fno-xray-ignore-loops"),
flagpd1("fno-xray-instrument"),
flagpd1("fno-xray-link-deps"),
flagpd1("fno-xray-shared"),
flagpd1("fno-zero-initialized-in-bss"),
flagpd1("fno-zos-extensions"),
flagpd1("fno-zvector"),
flagpd1("fnon-call-exceptions"),
flagpd1("fnoopenmp-relocatable-target"),
flagpd1("fnoopenmp-use-tls"),
flagpd1("fobjc-arc"),
flagpd1("fobjc-arc-exceptions"),
flagpd1("fobjc-atdefs"),
flagpd1("fobjc-avoid-heapify-local-blocks"),
flagpd1("fobjc-call-cxx-cdtors"),
flagpd1("fobjc-convert-messages-to-runtime-calls"),
flagpd1("fobjc-disable-direct-methods-for-testing"),
flagpd1("fobjc-encode-cxx-class-template-spec"),
flagpd1("fobjc-exceptions"),
flagpd1("fobjc-gc"),
flagpd1("fobjc-gc-only"),
flagpd1("fobjc-infer-related-result-type"),
flagpd1("fobjc-legacy-dispatch"),
flagpd1("fobjc-link-runtime"),
flagpd1("fobjc-new-property"),
flagpd1("fobjc-nonfragile-abi"),
flagpd1("fobjc-runtime-has-weak"),
flagpd1("fobjc-sender-dependent-dispatch"),
flagpd1("fobjc-subscripting-legacy-runtime"),
flagpd1("fobjc-weak"),
flagpd1("foffload-implicit-host-device-templates"),
flagpd1("foffload-lto"),
flagpd1("foffload-uniform-block"),
flagpd1("foffload-via-llvm"),
.{
.name = "fomit-frame-pointer",
.syntax = .flag,
.zig_equivalent = .omit_frame_pointer,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("fopenacc"),
flagpd1("fopenmp"),
flagpd1("fopenmp-assume-no-nested-parallelism"),
flagpd1("fopenmp-assume-no-thread-state"),
flagpd1("fopenmp-assume-teams-oversubscription"),
flagpd1("fopenmp-assume-threads-oversubscription"),
flagpd1("fopenmp-cuda-mode"),
flagpd1("fopenmp-enable-irbuilder"),
flagpd1("fopenmp-extensions"),
flagpd1("fopenmp-force-usm"),
sepd1("fopenmp-host-ir-file-path"),
flagpd1("fopenmp-is-target-device"),
flagpd1("fopenmp-new-driver"),
flagpd1("fopenmp-offload-mandatory"),
flagpd1("fopenmp-optimistic-collapse"),
flagpd1("fopenmp-relocatable-target"),
flagpd1("fopenmp-simd"),
flagpd1("fopenmp-target-debug"),
flagpd1("fopenmp-target-jit"),
flagpd1("fopenmp-target-new-runtime"),
flagpd1("fopenmp-use-tls"),
flagpd1("foperator-names"),
flagpd1("foptimize-sibling-calls"),
flagpd1("force_cpusubtype_ALL"),
flagpd1("force_flat_namespace"),
sepd1("force_load"),
flagpd1("fpack-derived"),
flagpd1("fpack-struct"),
flagpd1("fpadding-on-unsigned-fixed-point"),
flagpd1("fparse-all-comments"),
flagpd1("fpascal-strings"),
flagpd1("fpass-by-value-is-noalias"),
flagpd1("fpcc-struct-return"),
flagpd1("fpch-codegen"),
flagpd1("fpch-debuginfo"),
flagpd1("fpch-instantiate-templates"),
flagpd1("fpch-preprocess"),
flagpd1("fpch-validate-input-files-content"),
flagpd1("fpeel-loops"),
flagpd1("fpermissive"),
.{
.name = "fpic",
.syntax = .flag,
.zig_equivalent = .pic,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "fpie",
.syntax = .flag,
.zig_equivalent = .pie,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("fplt"),
flagpd1("fpointer-tbaa"),
flagpd1("fppc-native-vector-element-order"),
flagpd1("fprebuilt-implicit-modules"),
flagpd1("fprefetch-loop-arrays"),
flagpd1("fpreprocess-include-lines"),
flagpd1("fpreserve-as-comments"),
flagpd1("fprintf"),
flagpd1("fprofile"),
flagpd1("fprofile-arcs"),
flagpd1("fprofile-continuous"),
flagpd1("fprofile-correction"),
flagpd1("fprofile-generate"),
flagpd1("fprofile-generate-cold-function-coverage"),
flagpd1("fprofile-generate-sampling"),
flagpd1("fprofile-instr-generate"),
flagpd1("fprofile-instr-use"),
flagpd1("fprofile-reusedist"),
flagpd1("fprofile-sample-accurate"),
flagpd1("fprofile-use"),
flagpd1("fprofile-values"),
flagpd1("fprotect-parens"),
flagpd1("fpseudo-probe-for-profiling"),
flagpd1("fptrauth-auth-traps"),
flagpd1("fptrauth-block-descriptor-pointers"),
flagpd1("fptrauth-calls"),
flagpd1("fptrauth-elf-got"),
flagpd1("fptrauth-function-pointer-type-discrimination"),
flagpd1("fptrauth-indirect-gotos"),
flagpd1("fptrauth-init-fini"),
flagpd1("fptrauth-init-fini-address-discrimination"),
flagpd1("fptrauth-intrinsics"),
flagpd1("fptrauth-objc-class-ro"),
flagpd1("fptrauth-objc-interface-sel"),
flagpd1("fptrauth-objc-isa"),
flagpd1("fptrauth-returns"),
flagpd1("fptrauth-type-info-vtable-pointer-discrimination"),
flagpd1("fptrauth-vtable-pointer-address-discrimination"),
flagpd1("fptrauth-vtable-pointer-type-discrimination"),
.{
.name = "framework",
.syntax = .separate,
.zig_equivalent = .framework,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("frange-check"),
flagpd1("fraw-string-literals"),
flagpd1("freal-4-real-10"),
flagpd1("freal-4-real-16"),
flagpd1("freal-4-real-8"),
flagpd1("freal-8-real-10"),
flagpd1("freal-8-real-16"),
flagpd1("freal-8-real-4"),
flagpd1("frealloc-lhs"),
flagpd1("freciprocal-math"),
flagpd1("frecord-command-line"),
flagpd1("frecovery-ast"),
flagpd1("frecovery-ast-type"),
flagpd1("frecursive"),
flagpd1("freg-struct-return"),
flagpd1("fregister-global-dtors-with-atexit"),
flagpd1("fregs-graph"),
flagpd1("frename-registers"),
flagpd1("freorder-blocks"),
flagpd1("frepack-arrays"),
flagpd1("fretain-comments-from-system-headers"),
flagpd1("frewrite-imports"),
flagpd1("frewrite-includes"),
flagpd1("fripa"),
flagpd1("fropi"),
flagpd1("frounding-math"),
flagpd1("frtlib-add-rpath"),
flagpd1("frtlib-defaultlib"),
flagpd1("frtti"),
flagpd1("frtti-data"),
flagpd1("frwpi"),
flagpd1("fsafe-buffer-usage-suggestions"),
flagpd1("fsample-profile-use-profi"),
flagpd1("fsanitize-address-globals-dead-stripping"),
flagpd1("fsanitize-address-outline-instrumentation"),
flagpd1("fsanitize-address-poison-custom-array-cookie"),
flagpd1("fsanitize-address-use-after-scope"),
flagpd1("fsanitize-address-use-odr-indicator"),
flagpd1("fsanitize-annotate-debug-info"),
flagpd1("fsanitize-cfi-canonical-jump-tables"),
flagpd1("fsanitize-cfi-cross-dso"),
flagpd1("fsanitize-cfi-icall-generalize-pointers"),
flagpd1("fsanitize-cfi-icall-experimental-normalize-integers"),
flagpd1("fsanitize-coverage-8bit-counters"),
flagpd1("fsanitize-coverage-control-flow"),
flagpd1("fsanitize-coverage-indirect-calls"),
flagpd1("fsanitize-coverage-inline-8bit-counters"),
flagpd1("fsanitize-coverage-inline-bool-flag"),
flagpd1("fsanitize-coverage-no-prune"),
flagpd1("fsanitize-coverage-pc-table"),
flagpd1("fsanitize-coverage-stack-depth"),
flagpd1("fsanitize-coverage-trace-bb"),
flagpd1("fsanitize-coverage-trace-cmp"),
flagpd1("fsanitize-coverage-trace-div"),
flagpd1("fsanitize-coverage-trace-gep"),
flagpd1("fsanitize-coverage-trace-loads"),
flagpd1("fsanitize-coverage-trace-pc"),
.{
.name = "fsanitize-coverage-trace-pc-guard",
.syntax = .flag,
.zig_equivalent = .san_cov_trace_pc_guard,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("fsanitize-coverage-trace-stores"),
flagpd1("fsanitize-hwaddress-experimental-aliasing"),
flagpd1("fsanitize-kcfi-arity"),
flagpd1("fsanitize-link-c++-runtime"),
flagpd1("fsanitize-link-runtime"),
flagpd1("fsanitize-memory-param-retval"),
flagpd1("fsanitize-memory-track-origins"),
flagpd1("fsanitize-memory-use-after-dtor"),
flagpd1("fsanitize-merge"),
flagpd1("fsanitize-minimal-runtime"),
flagpd1("fsanitize-recover"),
flagpd1("fsanitize-stable-abi"),
flagpd1("fsanitize-stats"),
flagpd1("fsanitize-thread-atomics"),
flagpd1("fsanitize-thread-func-entry-exit"),
flagpd1("fsanitize-thread-memory-access"),
.{
.name = "fsanitize-trap",
.syntax = .flag,
.zig_equivalent = .sanitize_trap,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("fsanitize-undefined-trap-on-error"),
flagpd1("fsave-main-program"),
flagpd1("fsave-optimization-record"),
flagpd1("fschedule-insns"),
flagpd1("fschedule-insns2"),
flagpd1("fsecond-underscore"),
flagpd1("fsee"),
flagpd1("fseh-exceptions"),
flagpd1("fsemantic-interposition"),
flagpd1("fseparate-named-sections"),
flagpd1("fshort-enums"),
flagpd1("fshort-wchar"),
flagpd1("fshow-column"),
flagpd1("fshow-skipped-includes"),
flagpd1("fshow-source-location"),
flagpd1("fsign-zero"),
flagpd1("fsignaling-math"),
flagpd1("fsignaling-nans"),
flagpd1("fsigned-bitfields"),
flagpd1("fsigned-char"),
flagpd1("fsigned-wchar"),
flagpd1("fsigned-zeros"),
flagpd1("fsingle-precision-constant"),
flagpd1("fsized-deallocation"),
flagpd1("fsjlj-exceptions"),
flagpd1("fskip-odr-check-in-gmf"),
flagpd1("fslp-vectorize"),
flagpd1("fspec-constr-count"),
flagpd1("fspell-checking"),
flagpd1("fsplit-dwarf-inlining"),
flagpd1("fsplit-lto-unit"),
flagpd1("fsplit-machine-functions"),
flagpd1("fsplit-stack"),
flagpd1("fstack-arrays"),
.{
.name = "fstack-check",
.syntax = .flag,
.zig_equivalent = .stack_check,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("fstack-clash-protection"),
.{
.name = "fstack-protector",
.syntax = .flag,
.zig_equivalent = .stack_protector,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "fstack-protector-all",
.syntax = .flag,
.zig_equivalent = .stack_protector,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "fstack-protector-strong",
.syntax = .flag,
.zig_equivalent = .stack_protector,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("fstack-repack-arrays"),
flagpd1("fstack-size-section"),
flagpd1("fstack-usage"),
flagpd1("fstandalone-debug"),
flagpd1("fstrength-reduce"),
flagpd1("fstrict-aliasing"),
flagpd1("fstrict-enums"),
flagpd1("fstrict-float-cast-overflow"),
flagpd1("fstrict-overflow"),
flagpd1("fstrict-return"),
flagpd1("fstrict-vtable-pointers"),
flagpd1("fstruct-path-tbaa"),
flagpd1("fswift-version-independent-apinotes"),
flagpd1("fsycl"),
flagpd1("fsycl-device-only"),
flagpd1("fsycl-host-only"),
flagpd1("fsycl-is-device"),
flagpd1("fsycl-is-host"),
flagpd1("fsyntax-only"),
flagpd1("fsystem-module"),
sepd1("ftabstop"),
flagpd1("ftemporal-profile"),
flagpd1("ftest-coverage"),
flagpd1("fthreadsafe-statics"),
flagpd1("ftime-report"),
flagpd1("ftime-report-json"),
flagpd1("ftime-trace"),
flagpd1("ftls-model"),
flagpd1("ftracer"),
flagpd1("ftrapping-math"),
flagpd1("ftrapv"),
sepd1("ftrapv-handler"),
flagpd1("ftree-dce"),
flagpd1("ftree-salias"),
flagpd1("ftree-ter"),
flagpd1("ftree-vectorizer-verbose"),
flagpd1("ftree-vrp"),
flagpd1("ftrigraphs"),
sepd1("function-alignment"),
flagpd1("funderscoring"),
flagpd1("funified-lto"),
flagpd1("funique-basic-block-section-names"),
flagpd1("funique-internal-linkage-names"),
flagpd1("funique-section-names"),
flagpd1("funique-source-file-names"),
flagpd1("funknown-anytype"),
flagpd1("funroll-all-loops"),
flagpd1("funroll-loops"),
flagpd1("funsafe-loop-optimizations"),
flagpd1("funsafe-math-optimizations"),
flagpd1("funsigned"),
flagpd1("funsigned-bitfields"),
flagpd1("funsigned-char"),
flagpd1("funswitch-loops"),
.{
.name = "funwind-tables",
.syntax = .flag,
.zig_equivalent = .unwind_tables,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("fuse-ctor-homing"),
flagpd1("fuse-cxa-atexit"),
flagpd1("fuse-init-array"),
flagpd1("fuse-line-directives"),
flagpd1("fuse-linker-plugin"),
flagpd1("fuse-register-sized-bitfield-access"),
flagpd1("fvalidate-ast-input-files-content"),
flagpd1("fvariable-expansion-in-unroller"),
flagpd1("fvect-cost-model"),
flagpd1("fvectorize"),
flagpd1("fverbose-asm"),
flagpd1("fverify-debuginfo-preserve"),
flagpd1("fverify-intermediate-code"),
flagpd1("fvirtual-function-elimination"),
flagpd1("fvisibility-from-dllstorageclass"),
flagpd1("fvisibility-global-new-delete-hidden"),
flagpd1("fvisibility-inlines-hidden"),
flagpd1("fvisibility-inlines-hidden-static-local-var"),
flagpd1("fvisibility-ms-compat"),
.{
.name = "fvk-use-dx-layout",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "fvk-use-gl-layout",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "fvk-use-scalar-layout",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
flagpd1("fwasm-exceptions"),
flagpd1("fweb"),
flagpd1("fwhole-file"),
flagpd1("fwhole-program"),
flagpd1("fwhole-program-vtables"),
flagpd1("fwrapv"),
flagpd1("fwrapv-pointer"),
flagpd1("fwritable-strings"),
flagpd1("fxl-pragma-pack"),
flagpd1("fxor-operator"),
flagpd1("fxray-always-emit-customevents"),
flagpd1("fxray-always-emit-typedevents"),
flagpd1("fxray-function-index"),
flagpd1("fxray-ignore-loops"),
flagpd1("fxray-instrument"),
flagpd1("fxray-link-deps"),
flagpd1("fxray-shared"),
flagpd1("fzero-initialized-in-bss"),
flagpd1("fzos-extensions"),
flagpd1("fzvector"),
flagpd1("g0"),
.{
.name = "g1",
.syntax = .flag,
.zig_equivalent = .debug,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("g2"),
flagpd1("g3"),
.{
.name = "g",
.syntax = .flag,
.zig_equivalent = .debug,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("gcodeview"),
flagpd1("gcodeview-command-line"),
flagpd1("gcodeview-ghash"),
flagpd1("gcolumn-info"),
flagpd1("gdbx"),
.{
.name = "gdwarf",
.syntax = .flag,
.zig_equivalent = .debug,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "gdwarf32",
.syntax = .flag,
.zig_equivalent = .gdwarf32,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "gdwarf64",
.syntax = .flag,
.zig_equivalent = .gdwarf64,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "gdwarf-2",
.syntax = .flag,
.zig_equivalent = .debug,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "gdwarf-3",
.syntax = .flag,
.zig_equivalent = .debug,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "gdwarf-4",
.syntax = .flag,
.zig_equivalent = .debug,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "gdwarf-5",
.syntax = .flag,
.zig_equivalent = .debug,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("gdwarf-aranges"),
flagpd1("gembed-source"),
sepd1("gen-cdb-fragment-path"),
flagpd1("gen-reproducer"),
flagpd1("gfull"),
flagpd1("ggdb"),
flagpd1("ggdb0"),
flagpd1("ggdb1"),
flagpd1("ggdb2"),
flagpd1("ggdb3"),
flagpd1("ggnu-pubnames"),
flagpd1("ginline-line-tables"),
flagpd1("gkey-instructions"),
flagpd1("gline-directives-only"),
.{
.name = "gline-tables-only",
.syntax = .flag,
.zig_equivalent = .debug,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("glldb"),
flagpd1("gmlt"),
flagpd1("gmodules"),
flagpd1("gno-codeview-command-line"),
flagpd1("gno-codeview-ghash"),
flagpd1("gno-column-info"),
flagpd1("gno-embed-source"),
flagpd1("gno-gnu-pubnames"),
flagpd1("gno-inline-line-tables"),
flagpd1("gno-key-instructions"),
flagpd1("gno-modules"),
flagpd1("gno-omit-unreferenced-methods"),
flagpd1("gno-pubnames"),
flagpd1("gno-record-command-line"),
flagpd1("gno-simple-template-names"),
flagpd1("gno-split-dwarf"),
flagpd1("gno-strict-dwarf"),
flagpd1("gno-template-alias"),
flagpd1("gomit-unreferenced-methods"),
.{
.name = "gpu-bundle-output",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "gpu-use-aux-triple-only",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
flagpd1("gpubnames"),
flagpd1("gpulibc"),
flagpd1("grecord-command-line"),
flagpd1("gsce"),
flagpd1("gsimple-template-names"),
flagpd1("gsplit-dwarf"),
flagpd1("gstrict-dwarf"),
flagpd1("gtemplate-alias"),
flagpd1("gtoggle"),
flagpd1("gused"),
flagpd1("gz"),
sepd1("header-include-file"),
.{
.name = "help",
.syntax = .flag,
.zig_equivalent = .driver_punt,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "hip-link",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "hipstdpar",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "hipstdpar-interpose-alloc",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
flagpd1("ibuiltininc"),
flagpd1("ignore-pch"),
sepd1("image_base"),
flagpd1("import-call-optimization"),
sepd1("imultilib"),
sepd1("include-pch"),
sepd1("init"),
flagpd1("init-only"),
.{
.name = "install_name",
.syntax = .separate,
.zig_equivalent = .install_name,
.pd1 = true,
.pd2 = false,
.psl = false,
},
sepd1("internal-externc-isystem"),
sepd1("internal-iframework"),
sepd1("internal-isystem"),
flagpd1("keep_private_externs"),
sepd1("lazy_framework"),
sepd1("lazy_library"),
flagpd1("llvm-verify-each"),
sepd1("load"),
flagpd1("m16"),
flagpd1("m32"),
flagpd1("m3dnow"),
flagpd1("m3dnowa"),
flagpd1("m64"),
flagpd1("m68000"),
flagpd1("m68010"),
flagpd1("m68020"),
flagpd1("m68030"),
flagpd1("m68040"),
flagpd1("m68060"),
flagpd1("m68881"),
flagpd1("m80387"),
m("mseses"),
flagpd1("mabi=ieeelongdouble"),
flagpd1("mabi=quadword-atomics"),
flagpd1("mabi=vec-extabi"),
flagpd1("mabicalls"),
m("madx"),
m("maes"),
sepd1("main-file-name"),
flagpd1("maix32"),
flagpd1("maix64"),
flagpd1("maix-shared-lib-tls-model-opt"),
flagpd1("maix-small-local-dynamic-tls"),
flagpd1("maix-small-local-exec-tls"),
flagpd1("maix-struct-return"),
flagpd1("malign-double"),
m("maltivec"),
flagpd1("mamdgpu-ieee"),
flagpd1("mamdgpu-precise-memory-op"),
m("mamx-avx512"),
m("mamx-bf16"),
m("mamx-complex"),
m("mamx-fp16"),
m("mamx-fp8"),
m("mamx-int8"),
m("mamx-movrs"),
m("mamx-tf32"),
m("mamx-tile"),
m("mamx-transpose"),
flagpd1("mannotate-tablejump"),
flagpd1("mapx-inline-asm-use-gpr32"),
flagpd1("mapxf"),
flagpd1("marm"),
flagpd1("massembler-fatal-warnings"),
flagpd1("massembler-no-warn"),
m("matomics"),
m("mavx"),
flagpd1("mavx10.1"),
flagpd1("mavx10.1-256"),
m("mavx10.1-512"),
flagpd1("mavx10.2"),
flagpd1("mavx10.2-256"),
m("mavx10.2-512"),
m("mavx2"),
m("mavx512bf16"),
m("mavx512bitalg"),
m("mavx512bw"),
m("mavx512cd"),
m("mavx512dq"),
m("mavx512f"),
m("mavx512fp16"),
m("mavx512ifma"),
m("mavx512vbmi"),
m("mavx512vbmi2"),
m("mavx512vl"),
m("mavx512vnni"),
m("mavx512vp2intersect"),
m("mavx512vpopcntdq"),
m("mavxifma"),
m("mavxneconvert"),
m("mavxvnni"),
m("mavxvnniint16"),
m("mavxvnniint8"),
m("mbackchain"),
flagpd1("mbig-endian"),
m("mbmi"),
m("mbmi2"),
flagpd1("mbranch-likely"),
flagpd1("mbranch-protection-pauth-lr"),
flagpd1("mbranch-target-enforce"),
flagpd1("mbranches-within-32B-boundaries"),
m("mbulk-memory"),
m("mbulk-memory-opt"),
m("mcabac"),
m("mcall-indirect-overlong"),
flagpd1("mcheck-zero-division"),
m("mcldemote"),
m("mclflushopt"),
m("mclwb"),
m("mclzero"),
m("mcmpb"),
m("mcmpccxadd"),
flagpd1("mcmse"),
flagpd1("mconstant-cfstrings"),
flagpd1("mconstructor-aliases"),
m("mcrbits"),
m("mcrc"),
m("mcrc32"),
m("mcumode"),
m("mcx16"),
flagpd1("mdaz-ftz"),
sepd1("mdebug-pass"),
m("mdirect-move"),
m("mdiv32"),
flagpd1("mdouble-float"),
m("mdsp"),
m("mdspr2"),
sepd1("meabi"),
m("mefpu2"),
flagpd1("membedded-data"),
flagpd1("menable-experimental-extensions"),
flagpd1("menable-no-infs"),
flagpd1("menable-no-nans"),
m("menqcmd"),
.{
.name = "metal",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
m("mevex512"),
m("mexception-handling"),
m("mexecute-only"),
m("mextended-const"),
flagpd1("mextern-sdata"),
m("mf16c"),
flagpd1("mfancy-math-387"),
flagpd1("mfentry"),
flagpd1("mfix4300"),
flagpd1("mfix-and-continue"),
m("mfix-cmse-cve-2021-35465"),
m("mfix-cortex-a53-835769"),
flagpd1("mfix-cortex-a53-843419"),
m("mfix-cortex-a57-aes-1742098"),
flagpd1("mfix-cortex-a72-aes-1655431"),
flagpd1("mfix-gr712rc"),
flagpd1("mfix-ut700"),
m("mfloat128"),
sepd1("mfloat-abi"),
m("mfma"),
m("mfma4"),
m("mfp16"),
flagpd1("mfp32"),
m("mfp64"),
sepd1("mfpmath"),
m("mfprnd"),
m("mfpu"),
m("mfpxx"),
m("mfrecipe"),
m("mfsgsbase"),
flagpd1("mfsmuld"),
m("mfxsr"),
flagpd1("mgeneral-regs-only"),
m("mgfni"),
m("mginv"),
flagpd1("mglibc"),
flagpd1("mglobal-merge"),
flagpd1("mgpopt"),
flagpd1("mguarded-control-stack"),
m("mhard-float"),
m("mhard-quad-float"),
m("mhvx"),
m("mhvx-ieee-fp"),
m("mhvx-qfloat"),
m("mhreset"),
m("mhtm"),
flagpd1("miamcu"),
flagpd1("mieee-fp"),
flagpd1("mieee-rnd-near"),
flagpd1("mignore-xcoff-visibility"),
flagpd1("no-finalize-removal"),
flagpd1("no-ns-alloc-error"),
flagpd1("mimplicit-float"),
flagpd1("mincremental-linker-compatible"),
flagpd1("mindirect-branch-cs-prefix"),
flagpd1("minline-all-stringops"),
m("minvariant-function-descriptors"),
m("minvpcid"),
flagpd1("mips1"),
flagpd1("mips16"),
flagpd1("mips2"),
flagpd1("mips3"),
flagpd1("mips32"),
flagpd1("mips32r2"),
flagpd1("mips32r3"),
flagpd1("mips32r5"),
flagpd1("mips32r6"),
flagpd1("mips4"),
flagpd1("mips5"),
flagpd1("mips64"),
flagpd1("mips64r2"),
flagpd1("mips64r3"),
flagpd1("mips64r5"),
flagpd1("mips64r6"),
m("misel"),
flagpd1("mkernel"),
m("mkl"),
m("mlam-bh"),
m("mlamcas"),
m("mlasx"),
m("mld-seq-sa"),
flagpd1("mldc1-sdc1"),
sepd1("mlimit-float-precision"),
sepd1("mlink-bitcode-file"),
sepd1("mlink-builtin-bitcode"),
flagpd1("mlink-builtin-bitcode-postopt"),
flagpd1("mlittle-endian"),
sepd1("mllvm"),
flagpd1("mlocal-sdata"),
m("mlong-calls"),
flagpd1("mlong-double-128"),
flagpd1("mlong-double-64"),
flagpd1("mlong-double-80"),
m("mlongcall"),
flagpd1("mlr-for-calls-only"),
m("mlsx"),
m("mlvi-cfi"),
flagpd1("mlvi-hardening"),
m("mlwp"),
m("mlzcnt"),
flagpd1("mmadd4"),
flagpd1("mmapsyms=implicit"),
flagpd1("mmark-bti-property"),
m("mmemops"),
flagpd1("mmfcrf"),
m("mmfocrf"),
m("mmicromips"),
sepd1("mmlir"),
m("mmma"),
m("mmmx"),
m("mmovbe"),
m("mmovdir64b"),
m("mmovdiri"),
m("mmovrs"),
flagpd1("mmpx"),
flagpd1("mms-bitfields"),
m("mmsa"),
m("mmt"),
m("mmultimemory"),
m("mmultivalue"),
m("mmutable-globals"),
m("mmwaitx"),
flagpd1("mno-3dnow"),
flagpd1("mno-3dnowa"),
flagpd1("mno-80387"),
flagpd1("mno-abicalls"),
m("mno-adx"),
m("mno-aes"),
m("mno-altivec"),
flagpd1("mno-amdgpu-ieee"),
flagpd1("mno-amdgpu-precise-memory-op"),
m("mno-amx-avx512"),
m("mno-amx-bf16"),
m("mno-amx-complex"),
m("mno-amx-fp16"),
m("mno-amx-fp8"),
m("mno-amx-int8"),
m("mno-amx-movrs"),
m("mno-amx-tf32"),
m("mno-amx-tile"),
m("mno-amx-transpose"),
flagpd1("mno-annotate-tablejump"),
flagpd1("mno-apxf"),
m("mno-atomics"),
m("mno-avx"),
flagpd1("mno-avx10.1"),
flagpd1("mno-avx10.1-256"),
m("mno-avx10.1-512"),
flagpd1("mno-avx10.2"),
m("mno-avx2"),
m("mno-avx512bf16"),
m("mno-avx512bitalg"),
m("mno-avx512bw"),
m("mno-avx512cd"),
m("mno-avx512dq"),
m("mno-avx512f"),
m("mno-avx512fp16"),
m("mno-avx512ifma"),
m("mno-avx512vbmi"),
m("mno-avx512vbmi2"),
m("mno-avx512vl"),
m("mno-avx512vnni"),
m("mno-avx512vp2intersect"),
m("mno-avx512vpopcntdq"),
m("mno-avxifma"),
m("mno-avxneconvert"),
m("mno-avxvnni"),
m("mno-avxvnniint16"),
m("mno-avxvnniint8"),
m("mno-backchain"),
m("mno-bmi"),
m("mno-bmi2"),
flagpd1("mno-branch-likely"),
m("mno-bti-at-return-twice"),
m("mno-bulk-memory"),
m("mno-bulk-memory-opt"),
m("mno-call-indirect-overlong"),
flagpd1("mno-check-zero-division"),
m("mno-cldemote"),
m("mno-clflushopt"),
m("mno-clwb"),
m("mno-clzero"),
m("mno-cmpb"),
m("mno-cmpccxadd"),
flagpd1("mno-constant-cfstrings"),
flagpd1("mno-constructor-aliases"),
m("mno-crbits"),
m("mno-crc"),
m("mno-crc32"),
m("mno-cumode"),
m("mno-cx16"),
flagpd1("mno-daz-ftz"),
m("mno-div32"),
m("mno-dsp"),
m("mno-dspr2"),
flagpd1("mno-embedded-data"),
m("mno-enqcmd"),
m("mno-evex512"),
m("mno-exception-handling"),
flagpd1("mnoexecstack"),
m("mno-execute-only"),
m("mno-extended-const"),
flagpd1("mno-extern-sdata"),
m("mno-f16c"),
m("mno-fix-cmse-cve-2021-35465"),
m("mno-fix-cortex-a53-835769"),
flagpd1("mno-fix-cortex-a53-843419"),
m("mno-fix-cortex-a57-aes-1742098"),
flagpd1("mno-fix-cortex-a72-aes-1655431"),
m("mno-float128"),
m("mno-fma"),
m("mno-fma4"),
m("mno-fmv"),
m("mno-fp16"),
flagpd1("mno-fp-ret-in-387"),
m("mno-fprnd"),
m("mno-fpu"),
m("mno-frecipe"),
m("mno-fsgsbase"),
m("mno-fsmuld"),
m("mno-fxsr"),
flagpd1("mno-gather"),
m("mno-gfni"),
m("mno-ginv"),
flagpd1("mno-global-merge"),
flagpd1("mno-gpopt"),
m("mno-hvx"),
m("mno-hvx-ieee-fp"),
m("mno-hvx-qfloat"),
m("mno-hreset"),
m("mno-htm"),
flagpd1("mno-iamcu"),
flagpd1("mno-implicit-float"),
flagpd1("mno-incremental-linker-compatible"),
flagpd1("mno-inline-all-stringops"),
m("mno-invariant-function-descriptors"),
m("mno-invpcid"),
m("mno-isel"),
m("mno-kl"),
m("mno-lam-bh"),
m("mno-lamcas"),
m("mno-lasx"),
m("mno-ld-seq-sa"),
flagpd1("mno-ldc1-sdc1"),
flagpd1("mno-link-builtin-bitcode-postopt"),
flagpd1("mno-local-sdata"),
m("mno-long-calls"),
m("mno-longcall"),
m("mno-lsx"),
m("mno-lvi-cfi"),
flagpd1("mno-lvi-hardening"),
m("mno-lwp"),
m("mno-lzcnt"),
flagpd1("mno-madd4"),
m("mno-memops"),
flagpd1("mno-mfcrf"),
m("mno-mfocrf"),
m("mno-micromips"),
m("mno-mips16"),
m("mno-mma"),
m("mno-mmx"),
m("mno-movbe"),
m("mno-movdir64b"),
m("mno-movdiri"),
m("mno-movrs"),
m("mno-movt"),
flagpd1("mno-mpx"),
flagpd1("mno-ms-bitfields"),
m("mno-msa"),
m("mno-mt"),
m("mno-multimemory"),
m("mno-multivalue"),
m("mno-mutable-globals"),
m("mno-mwaitx"),
m("mno-neg-immediates"),
m("mno-nontrapping-fptoint"),
m("mno-nvj"),
m("mno-nvs"),
flagpd1("mno-odd-spreg"),
flagpd1("mno-omit-leaf-frame-pointer"),
flagpd1("mno-outline"),
m("mno-outline-atomics"),
flagpd1("mno-packed-stack"),
m("mno-packets"),
flagpd1("mno-pascal-strings"),
m("mno-pclmul"),
m("mno-pconfig"),
flagpd1("mno-pcrel"),
flagpd1("mno-pic-data-is-text-relative"),
m("mno-pku"),
m("mno-popc"),
m("mno-popcnt"),
m("mno-popcntd"),
m("mno-power10-vector"),
m("mno-power8-vector"),
m("mno-power9-vector"),
m("mno-prefetchi"),
flagpd1("mno-prefixed"),
m("mno-prfchw"),
m("mno-ptwrite"),
flagpd1("mno-pure-code"),
m("mno-raoint"),
m("mno-rdpid"),
m("mno-rdpru"),
m("mno-rdrnd"),
m("mno-rdseed"),
.{
.name = "mno-red-zone",
.syntax = .flag,
.zig_equivalent = .no_red_zone,
.pd1 = true,
.pd2 = false,
.psl = false,
},
m("mno-reference-types"),
flagpd1("mno-regnames"),
m("mno-relax"),
flagpd1("mno-relax-all"),
flagpd1("mno-relax-pic-calls"),
m("mno-relaxed-simd"),
flagpd1("mno-restrict-it"),
m("mno-retpoline"),
m("mno-retpoline-external-thunk"),
flagpd1("mno-rtd"),
m("mno-rtm"),
m("mno-sahf"),
m("mno-save-restore"),
flagpd1("mno-scalar-strict-align"),
flagpd1("mno-scatter"),
m("mno-scq"),
m("mno-serialize"),
m("mno-seses"),
m("mno-sgx"),
m("mno-sha"),
m("mno-sha512"),
m("mno-shstk"),
m("mno-sign-ext"),
m("mno-simd128"),
flagpd1("mno-skip-rax-setup"),
m("mno-sm3"),
m("mno-sm4"),
m("mno-soft-float"),
m("mno-spe"),
flagpd1("mno-speculative-load-hardening"),
m("mno-sse"),
m("mno-sse2"),
m("mno-sse3"),
flagpd1("mno-sse4"),
m("mno-sse4.1"),
m("mno-sse4.2"),
m("mno-sse4a"),
m("mno-ssse3"),
flagpd1("mno-stack-arg-probe"),
flagpd1("mno-stackrealign"),
m("mno-strict-align"),
m("mno-tail-call"),
m("mno-tbm"),
m("mno-tgsplit"),
flagpd1("mno-thumb"),
flagpd1("mno-tls-direct-seg-refs"),
flagpd1("mno-tocdata"),
m("mno-tsxldtrk"),
flagpd1("mno-type-check"),
m("mno-uintr"),
flagpd1("mno-unaligned-access"),
m("mno-unaligned-symbols"),
flagpd1("mno-unsafe-fp-atomics"),
m("mno-usermsr"),
m("mno-v8plus"),
m("mno-vaes"),
flagpd1("mno-vector-strict-align"),
flagpd1("mno-vevpu"),
m("mno-virt"),
m("mno-vis"),
m("mno-vis2"),
m("mno-vis3"),
m("mno-vpclmulqdq"),
m("mno-vsx"),
flagpd1("mno-vx"),
m("mno-vzeroupper"),
m("mno-waitpkg"),
flagpd1("mno-warn-nonportable-cfstrings"),
m("mno-wavefrontsize64"),
m("mno-wbnoinvd"),
m("mno-wide-arithmetic"),
m("mno-widekl"),
m("mno-x87"),
flagpd1("mno-xcoff-roptr"),
m("mno-xgot"),
m("mno-xop"),
m("mno-xsave"),
m("mno-xsavec"),
m("mno-xsaveopt"),
m("mno-xsaves"),
flagpd1("mno-zvector"),
flagpd1("mnocrc"),
m("mno-direct-move"),
m("mnontrapping-fptoint"),
flagpd1("mnop-mcount"),
m("mno-paired-vector-memops"),
m("mno-crypto"),
m("mnvj"),
m("mnvs"),
flagpd1("modd-spreg"),
sepd1("module-dependency-dir"),
flagpd1("module-file-deps"),
flagpd1("module-file-info"),
sepd1("module-suffix"),
flagpd1("fmodules-reduced-bmi"),
flagpd1("momit-leaf-frame-pointer"),
flagpd1("moutline"),
m("moutline-atomics"),
flagpd1("mpacked-stack"),
m("mpackets"),
m("mpaired-vector-memops"),
flagpd1("mpascal-strings"),
m("mpclmul"),
m("mpconfig"),
flagpd1("mpcrel"),
flagpd1("mpic-data-is-text-relative"),
m("mpku"),
m("mpopc"),
m("mpopcnt"),
m("mpopcntd"),
m("mpower10-vector"),
m("mcrypto"),
m("mpower8-vector"),
m("mpower9-vector"),
m("mprefetchi"),
flagpd1("mprefixed"),
m("mprfchw"),
m("mprivileged"),
m("mptwrite"),
flagpd1("mpure-code"),
flagpd1("mqdsp6-compat"),
m("mraoint"),
m("mrdpid"),
m("mrdpru"),
m("mrdrnd"),
m("mrdseed"),
flagpd1("mreassociate"),
flagpd1("mrecip"),
flagpd1("mrecord-mcount"),
.{
.name = "mred-zone",
.syntax = .flag,
.zig_equivalent = .red_zone,
.pd1 = true,
.pd2 = false,
.psl = false,
},
m("mreference-types"),
flagpd1("mregnames"),
sepd1("mregparm"),
m("mrelax"),
flagpd1("mrelax-all"),
flagpd1("mrelax-pic-calls"),
flagpd1("mrelax-relocations=no"),
m("mrelaxed-simd"),
sepd1("mrelocation-model"),
flagpd1("mrestrict-it"),
m("mretpoline"),
m("mretpoline-external-thunk"),
m("mrop-protect"),
flagpd1("mrtd"),
m("mrtm"),
m("msahf"),
flagpd1("msave-reg-params"),
m("msave-restore"),
flagpd1("msave-temp-labels"),
flagpd1("mscalar-strict-align"),
m("mscq"),
m("msecure-plt"),
m("mserialize"),
m("msgx"),
m("msha"),
m("msha512"),
m("mshstk"),
m("msign-ext"),
flagpd1("msim"),
m("msimd128"),
m("msingle-float"),
flagpd1("mskip-rax-setup"),
m("msm3"),
m("msm4"),
sepd1("msmall-data-limit"),
m("msoft-float"),
flagpd1("msoft-quad-float"),
m("mspe"),
flagpd1("mspeculative-load-hardening"),
m("msse"),
m("msse2"),
flagpd1("msse2avx"),
m("msse3"),
flagpd1("msse4"),
m("msse4.1"),
m("msse4.2"),
m("msse4a"),
m("mssse3"),
flagpd1("mstack-arg-probe"),
flagpd1("mstackrealign"),
m("mstrict-align"),
flagpd1("msvr4-struct-return"),
m("mtail-call"),
m("mtbm"),
m("mtgsplit"),
sepd1("mthread-model"),
flagpd1("mthumb"),
flagpd1("mtls-direct-seg-refs"),
flagpd1("mtocdata"),
sepd1("mtp"),
m("mtsxldtrk"),
flagpd1("muclibc"),
m("muintr"),
flagpd1("multi_module"),
sepd1("multiply_defined"),
sepd1("multiply_defined_unused"),
flagpd1("munaligned-access"),
m("munaligned-symbols"),
flagpd1("munsafe-fp-atomics"),
m("musermsr"),
m("mv5"),
m("mv55"),
m("mv60"),
m("mv62"),
m("mv65"),
m("mv66"),
m("mv67"),
flagpd1("mv67t"),
m("mv68"),
m("mv69"),
m("mv71"),
flagpd1("mv71t"),
m("mv73"),
m("mv75"),
m("mv79"),
m("mv8plus"),
m("mvaes"),
flagpd1("mvector-strict-align"),
flagpd1("mvevpu"),
m("mvirt"),
m("mvis"),
m("mvis2"),
m("mvis3"),
m("mvpclmulqdq"),
m("mvsx"),
flagpd1("mvx"),
m("mvzeroupper"),
m("mwaitpkg"),
flagpd1("mwarn-nonportable-cfstrings"),
m("mwavefrontsize64"),
m("mwbnoinvd"),
m("mwide-arithmetic"),
m("mwidekl"),
flagpd1("mx32"),
m("mx87"),
flagpd1("mxcoff-roptr"),
m("mxgot"),
m("mxop"),
m("mxsave"),
m("mxsavec"),
m("mxsaveopt"),
m("mxsaves"),
flagpd1("mzvector"),
flagpd1("n"),
flagpd1("new-struct-path-tbaa"),
flagpd1("no_dead_strip_inits_and_terms"),
flagpd1("no-canonical-prefixes"),
flagpd1("no-clear-ast-before-backend"),
flagpd1("no-code-completion-globals"),
flagpd1("no-code-completion-ns-level-decls"),
flagpd1("no-cpp-precomp"),
.{
.name = "no-cuda-noopt-device-debug",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "no-cuda-version-check",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
flagpd1("fno-c++-static-destructors"),
.{
.name = "no-default-config",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
flagpd1("no-disable-free"),
flagpd1("no-emit-llvm-uselists"),
flagpd1("no-enable-noundef-analysis"),
.{
.name = "no-gpu-bundle-output",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
flagpd1("no-hip-rt"),
flagpd1("no-implicit-float"),
.{
.name = "no-integrated-cpp",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "no-offload-add-rpath",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "no-offload-compress",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "no-offload-inc",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "no-offload-new-driver",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "no-offloadlib",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "no-pedantic",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "no-pie",
.syntax = .flag,
.zig_equivalent = .no_pie,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("no-pointer-tbaa"),
flagpd1("no-pthread"),
flagpd1("no-round-trip-args"),
flagpd1("no-struct-path-tbaa"),
.{
.name = "no-wasm-opt",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
flagpd1("nobuiltininc"),
flagpd1("nocpp"),
flagpd1("nodefaultlibs"),
flagpd1("nodriverkitlib"),
flagpd1("nofixprebinding"),
flagpd1("nogpulibc"),
flagpd1("nohipwrapperinc"),
.{
.name = "nolibc",
.syntax = .flag,
.zig_equivalent = .nostdlib,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("nomultidefs"),
.{
.name = "nopie",
.syntax = .flag,
.zig_equivalent = .no_pie,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("noprebind"),
flagpd1("noprofilelib"),
flagpd1("noseglinkedit"),
flagpd1("nostartfiles"),
.{
.name = "nostdinc",
.syntax = .flag,
.zig_equivalent = .nostdlibinc,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "nostdinc++",
.syntax = .flag,
.zig_equivalent = .nostdlib_cpp,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "nostdlib",
.syntax = .flag,
.zig_equivalent = .nostdlib,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "nostdlibinc",
.syntax = .flag,
.zig_equivalent = .nostdlibinc,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "nostdlib++",
.syntax = .flag,
.zig_equivalent = .nostdlib_cpp,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("nostdsysteminc"),
sepd1("objc-isystem"),
sepd1("objcxx-isystem"),
flagpd1("object"),
sepd1("object-file-name"),
.{
.name = "offload-add-rpath",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "offload-compress",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "offload-device-only",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "offload-host-device",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "offload-host-only",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "offload-inc",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "offload-link",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "offload-new-driver",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "offloadlib",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
sepd1("fexperimental-openacc-macro-override"),
sepd1("opt-record-file"),
sepd1("opt-record-format"),
sepd1("opt-record-passes"),
flagpd1("p"),
.{
.name = "pass-exit-codes",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
flagpd1("pch-through-hdrstop-create"),
flagpd1("pch-through-hdrstop-use"),
.{
.name = "pedantic",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "pedantic-errors",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
flagpd1("pg"),
flagpd1("pic-is-pie"),
sepd1("pic-level"),
.{
.name = "pie",
.syntax = .flag,
.zig_equivalent = .pie,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "pipe",
.syntax = .flag,
.zig_equivalent = .ignore,
.pd1 = true,
.pd2 = true,
.psl = false,
},
sepd1("plugin"),
flagpd1("pointer-tbaa"),
flagpd1("prebind"),
flagpd1("prebind_all_twolevel_modules"),
flagpd1("preload"),
flagpd1("print-dependency-directives-minimized-source"),
.{
.name = "print-diagnostic-options",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "print-effective-triple",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "print-enabled-extensions",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
flagpd1("print-ivar-layout"),
.{
.name = "print-libgcc-file-name",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "print-multi-directory",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "print-multi-flags-experimental",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "print-multi-lib",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "print-multi-os-directory",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
flagpd1("print-preamble"),
.{
.name = "print-resource-dir",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "print-rocm-search-dirs",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "print-runtime-dir",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "print-search-dirs",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
flagpd1("print-stats"),
.{
.name = "print-library-module-manifest-path",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "print-supported-cpus",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "print-supported-extensions",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "print-target-triple",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "print-targets",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
flagpd1("private_bundle"),
flagpd1("pthread"),
flagpd1("pthreads"),
.{
.name = "r",
.syntax = .flag,
.zig_equivalent = .r,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "rdynamic",
.syntax = .flag,
.zig_equivalent = .rdynamic,
.pd1 = true,
.pd2 = false,
.psl = false,
},
sepd1("read_only_relocs"),
sepd1("record-command-line"),
sepd1("reexport_framework"),
flagpd1("regcall4"),
flagpd1("relaxed-aliasing"),
.{
.name = "relocatable-pch",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
flagpd1("remap"),
sepd1("remap-file"),
.{
.name = "res-may-alias",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
sepd1("resource-dir"),
flagpd1("rewrite-legacy-objc"),
flagpd1("rewrite-macros"),
flagpd1("rewrite-objc"),
flagpd1("rewrite-test"),
flagpd1("round-trip-args"),
sepd1("rpath"),
.{
.name = "s",
.syntax = .flag,
.zig_equivalent = .strip,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "save-stats",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "save-temps",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "sectalign",
.syntax = .{.multi_arg=3},
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "sectcreate",
.syntax = .{.multi_arg=3},
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "sectobjectsymbols",
.syntax = .{.multi_arg=2},
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "sectorder",
.syntax = .{.multi_arg=3},
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
sepd1("seg_addr_table"),
sepd1("seg_addr_table_filename"),
.{
.name = "segaddr",
.syntax = .{.multi_arg=2},
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "segcreate",
.syntax = .{.multi_arg=3},
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("seglinkedit"),
.{
.name = "segprot",
.syntax = .{.multi_arg=3},
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
sepd1("segs_read_only_addr"),
sepd1("segs_read_write_addr"),
flagpd1("setup-static-analyzer"),
.{
.name = "shared",
.syntax = .flag,
.zig_equivalent = .shared,
.pd1 = true,
.pd2 = true,
.psl = false,
},
flagpd1("shared-libflangrt"),
flagpd1("shared-libgcc"),
flagpd1("shared-libsan"),
flagpd1("show-encoding"),
.{
.name = "show-includes",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
flagpd1("show-inst"),
flagpd1("single_module"),
flagpd1("skip-function-bodies"),
sepd1("source-date-epoch"),
.{
.name = "specs",
.syntax = .separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "spirv",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
sepd1("split-dwarf-file"),
sepd1("split-dwarf-output"),
.{
.name = "stack-protector",
.syntax = .separate,
.zig_equivalent = .stack_protector,
.pd1 = true,
.pd2 = false,
.psl = false,
},
sepd1("stack-protector-buffer-size"),
sepd1("stack-usage-file"),
.{
.name = "start-no-unused-arguments",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
flagpd1("startfiles"),
.{
.name = "static",
.syntax = .flag,
.zig_equivalent = .static,
.pd1 = true,
.pd2 = true,
.psl = false,
},
flagpd1("static-define"),
flagpd1("static-libclosure"),
flagpd1("static-libflangrt"),
flagpd1("static-libgcc"),
flagpd1("static-libgfortran"),
flagpd1("static-libsan"),
flagpd1("static-libstdc++"),
flagpd1("static-openmp"),
flagpd1("static-pie"),
flagpd1("stats-file-append"),
flagpd1("stdlib"),
.{
.name = "sycl-link",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
flagpd1("sys-header-deps"),
flagpd1("t"),
sepd1("target-abi"),
sepd1("target-cpu"),
sepd1("target-feature"),
.{
.name = "target",
.syntax = .separate,
.zig_equivalent = .target,
.pd1 = true,
.pd2 = false,
.psl = false,
},
sepd1("target-linker-version"),
flagpd1("templight-dump"),
flagpd1("test-io"),
flagpd1("time"),
.{
.name = "traditional",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "traditional-cpp",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "trigraphs",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
flagpd1("trim-egraph"),
sepd1("triple"),
sepd1("tune-cpu"),
flagpd1("twolevel_namespace"),
flagpd1("twolevel_namespace_hints"),
sepd1("umbrella"),
flagpd1("undef"),
sepd1("unexported_symbols_list"),
.{
.name = "Wextra",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "Waliasing",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "Wampersand",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "Warray-bounds",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "Wc-binding-type",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "Wcharacter-truncation",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "Wconversion",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "Wdo-subscript",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "Wfunction-elimination",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "Wimplicit-interface",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "Wimplicit-procedure",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "Wintrinsic-shadow",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "Wuse-without-only",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "Wintrinsics-std",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "Wline-truncation",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "Wno-align-commons",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "Wno-overwrite-recursive",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "Wno-tabs",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "Wreal-q-constant",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "Wsurprising",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "Wunderflow",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "Wunused-parameter",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "Wrealloc-lhs",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "Wrealloc-lhs-all",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "Wfrontend-loop-interchange",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "Wtarget-lifetime",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "v",
.syntax = .flag,
.zig_equivalent = .verbose,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("vectorize-loops"),
flagpd1("vectorize-slp"),
flagpd1("verify"),
.{
.name = "verify-debug-info",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
flagpd1("verify-ignore-unexpected"),
flagpd1("verify-pch"),
flagpd1("version"),
.{
.name = "via-file-asm",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
flagpd1("w"),
.{
.name = "wasm-opt",
.syntax = .flag,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "weak_framework",
.syntax = .separate,
.zig_equivalent = .weak_framework,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "weak_library",
.syntax = .separate,
.zig_equivalent = .weak_library,
.pd1 = true,
.pd2 = false,
.psl = false,
},
sepd1("weak_reference_mismatches"),
flagpd1("whatsloaded"),
flagpd1("why_load"),
flagpd1("whyload"),
sepd1("working-directory"),
.{
.name = "z",
.syntax = .separate,
.zig_equivalent = .linker_input_z,
.pd1 = true,
.pd2 = false,
.psl = false,
},
joinpd1("fsanitize-coverage-stack-depth-callback-min="),
.{
.name = "fsanitize-undefined-ignore-overflow-pattern=",
.syntax = .comma_joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
joinpd1("fexperimental-sanitize-metadata-ignorelist="),
joinpd1("fsanitize-undefined-strip-path-components="),
joinpd1("fprofile-generate-cold-function-coverage="),
joinpd1("fopenmp-cuda-teams-reduction-recs-num="),
joinpd1("fvisibility-externs-nodllstorageclass="),
joinpd1("fallow-runtime-check-skip-hot-cutoff="),
joinpd1("fexperimental-openacc-macro-override="),
joinpd1("analyzer-config-compatibility-mode="),
joinpd1("fms-secure-hotpatch-functions-file="),
.{
.name = "fms-secure-hotpatch-functions-list=",
.syntax = .comma_joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "fno-experimental-sanitize-metadata=",
.syntax = .comma_joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
joinpd1("mdefault-visibility-export-mapping="),
joinpd1("fsanitize-address-use-after-return="),
.{
.name = "fsanitize-address-use-after-return",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
joinpd1("darwin-target-variant-sdk-version="),
joinpd1("fexperimental-assignment-tracking="),
joinpd1("fpatchable-function-entry-section="),
joinpd1("ftrivial-auto-var-init-stop-after="),
joinpd1("fverify-debuginfo-preserve-export="),
joinpd1("fdiagnostics-misexpect-tolerance="),
.{
.name = "fno-sanitize-annotate-debug-info=",
.syntax = .comma_joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
joinpd1("fpatchable-function-entry-offset="),
joinpd1("fprofile-selected-function-group="),
joinpd1("analyzer-inline-max-stack-depth="),
.{
.name = "fexperimental-sanitize-metadata=",
.syntax = .comma_joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
joinpd1("fsanitize-address-field-padding="),
joinpd1("ftrivial-auto-var-init-max-size="),
.{
.name = "fno-sanitize-address-vcasan-lib",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
joinpd1("fdiagnostics-hotness-threshold="),
joinpd1("fexperimental-max-bitint-width="),
joinpd1("fsanitize-memory-track-origins="),
joinpd1("mwatchos-simulator-version-min="),
joinpd1("funique-source-file-identifier="),
.{
.name = "fsanitize-annotate-debug-info=",
.syntax = .comma_joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
joinpd1("fsanitize-coverage-ignorelist="),
joinpd1("fvisibility-externs-dllimport="),
joinpd1("fvisibility-global-new-delete="),
joinpd1("fvisibility-nodllstorageclass="),
joinpd1("fxray-selected-function-group="),
joinpd1("mappletvsimulator-version-min="),
joinpd1("mstack-protector-guard-offset="),
joinpd1("mstack-protector-guard-symbol="),
.{
.name = "sourceDependencies:directives",
.syntax = .joined_or_separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
joinpd1("miphonesimulator-version-min="),
joinpd1("fcaret-diagnostics-max-lines="),
joinpd1("fobjc-nonfragile-abi-version="),
joinpd1("fprofile-instrument-use-path="),
joinpd1("fsanitize-coverage-allowlist="),
joinpd1("fxray-instrumentation-bundle="),
joinpd1("fsanitize-address-destructor="),
.{
.name = "warning-suppression-mappings=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("faddress-space-map-mangling="),
joinpd1("foptimization-record-passes="),
joinpd1("frandomize-layout-seed-file="),
joinpd1("fsanitize-system-ignorelist="),
joinpd1("ftest-module-file-extension="),
joinpd1("fxray-instruction-threshold="),
.{
.name = "libomptarget-amdgcn-bc-path=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "libomptarget-amdgpu-bc-path=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("mno-default-build-attributes"),
joinpd1("mtvos-simulator-version-min="),
joinpd1("mwatchsimulator-version-min="),
joinpd1("loader-replaceable-function="),
.{
.name = "include-with-prefix-before=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("error-on-deserialized-decl="),
joinpd1("fbfloat16-excess-precision="),
joinpd1("fconstexpr-backtrace-limit="),
joinpd1("fdiagnostics-show-category="),
joinpd1("fdiagnostics-show-location="),
joinpd1("fno-modules-check-relocated"),
joinpd1("fopenmp-cuda-blocks-per-sm="),
.{
.name = "headerpad_max_install_names",
.syntax = .joined,
.zig_equivalent = .headerpad_max_install_names,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "libomptarget-nvptx-bc-path=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "libomptarget-spirv-bc-path=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("mios-simulator-version-min="),
joinpd1("mstack-protector-guard-reg="),
joinpd1("msve-streaming-vector-bits="),
joinpd1("Wsystem-headers-in-module="),
.{
.name = "include-with-prefix-after=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("fcoverage-compilation-dir="),
joinpd1("fdx-rootsignature-version="),
joinpd1("fextend-variable-liveness="),
joinpd1("ffloat16-excess-precision="),
joinpd1("fms-compatibility-version="),
joinpd1("fopenmp-cuda-number-of-sm="),
joinpd1("foptimization-record-file="),
joinpd1("fpatchable-function-entry="),
joinpd1("frepack-arrays-contiguity="),
.{
.name = "fsanitize-skip-hot-cutoff=",
.syntax = .comma_joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
joinpd1("fsave-optimization-record="),
joinpd1("ftemplate-backtrace-limit="),
.{
.name = "gpu-max-threads-per-block=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "offload-compression-level=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("Wno-nonportable-cfstrings"),
joinpd1("analyzer-disable-checker="),
joinpd1("fbuild-session-timestamp="),
joinpd1("fdo-concurrent-to-openmp="),
joinpd1("fprofile-function-groups="),
joinpd1("fprofile-instrument-path="),
joinpd1("header-include-filtering="),
joinpd1("mdefault-build-attributes"),
joinpd1("msign-return-address-key="),
.{
.name = "verify-ignore-unexpected=",
.syntax = .comma_joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "include-directory-after=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "compress-debug-sections=",
.syntax = .joined,
.zig_equivalent = .compress_debug_sections,
.pd1 = true,
.pd2 = true,
.psl = false,
},
joinpd1("fc++-static-destructors="),
joinpd1("dump-minimization-hints="),
joinpd1("fapinotes-swift-version="),
.{
.name = "fcomment-block-commands=",
.syntax = .comma_joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
joinpd1("flax-vector-conversions="),
joinpd1("fmodules-embed-all-files"),
joinpd1("fmodules-prune-interval="),
joinpd1("foverride-record-layout="),
joinpd1("fprofile-instr-generate="),
joinpd1("fprofile-remapping-file="),
joinpd1("fsanitize-coverage-type="),
joinpd1("fsanitize-hwaddress-abi="),
joinpd1("ftime-trace-granularity="),
joinpd1("fxray-always-instrument="),
joinpd1("mcf-branch-label-scheme="),
.{
.name = "no-system-header-prefix=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "output-class-directory=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("analyzer-inlining-mode="),
joinpd1("fcodegen-data-generate="),
joinpd1("fconstant-string-class="),
joinpd1("fcrash-diagnostics-dir="),
joinpd1("fdebug-compilation-dir="),
joinpd1("fdebug-default-version="),
joinpd1("ffp-exception-behavior="),
joinpd1("fmacro-backtrace-limit="),
joinpd1("fmax-array-constructor="),
joinpd1("fmcdc-max-test-vectors="),
joinpd1("fprofile-exclude-files="),
joinpd1("frandomize-layout-seed="),
joinpd1("ftrivial-auto-var-init="),
joinpd1("fxray-never-instrument="),
joinpd1("gsimple-template-names="),
jspd1("interface-stub-version="),
joinpd1("malign-branch-boundary="),
joinpd1("mappletvos-version-min="),
joinpd1("mstack-protector-guard="),
joinpd1("Wnonportable-cfstrings"),
joinpd1("miphoneos-version-min="),
joinpd1("fbasic-block-sections="),
joinpd1("fdefault-calling-conv="),
joinpd1("fdenormal-fp-math-f32="),
joinpd1("fembed-offload-object="),
joinpd1("ffile-compilation-dir="),
joinpd1("fgpu-inline-threshold="),
joinpd1("finline-max-stacksize="),
joinpd1("fmax-subrecord-length="),
joinpd1("fmodules-ignore-macro="),
.{
.name = "fno-sanitize-coverage=",
.syntax = .comma_joined,
.zig_equivalent = .no_san_cov,
.pd1 = true,
.pd2 = false,
.psl = false,
},
joinpd1("fobjc-dispatch-method="),
joinpd1("foperator-arrow-depth="),
joinpd1("fprebuilt-module-path="),
joinpd1("fprofile-filter-files="),
joinpd1("fsanitize-memtag-mode="),
joinpd1("fspell-checking-limit="),
joinpd1("fvisibility-dllexport="),
joinpd1("fxray-function-groups="),
joinpd1("header-include-format="),
.{
.name = "hipstdpar-thrust-path=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("mlarge-data-threshold="),
joinpd1("msmall-data-threshold="),
joinpd1("mvscale-streaming-max="),
joinpd1("mvscale-streaming-min="),
joinpd1("Wlarge-by-value-copy="),
.{
.name = "Xthinlto-distributor=",
.syntax = .comma_joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
joinpd1("analyzer-constraints="),
joinpd1("analyzer-dump-egraph="),
jspd1("compatibility_version"),
jspd1("dylinker_install_name"),
joinpd1("fcoverage-prefix-map="),
joinpd1("fcs-profile-generate="),
joinpd1("fmcdc-max-conditions="),
joinpd1("fmodules-prune-after="),
.{
.name = "fno-sanitize-recover=",
.syntax = .comma_joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
joinpd1("fopenmp-target-debug="),
joinpd1("fsanitize-ignorelist="),
joinpd1("fthinlto-distributor="),
joinpd1("fzero-call-used-regs="),
jspd1("iframeworkwithsysroot"),
joinpd1("mcode-object-version="),
joinpd1("mpad-max-prefix-size="),
joinpd1("mprefer-vector-width="),
joinpd1("msign-return-address="),
joinpd1("mwatchos-version-min="),
.{
.name = "rocm-device-lib-path=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "system-header-prefix=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "include-with-prefix=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("faltivec-src-compat="),
.{
.name = "hip-device-lib-path=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("mmacosx-version-min="),
joinpd1("coverage-notes-file="),
joinpd1("fsanitize-blacklist="),
.{
.name = "extract-api-ignores=",
.syntax = .comma_joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("fbuild-session-file="),
joinpd1("fcomplex-arithmetic="),
joinpd1("fdiagnostics-format="),
joinpd1("fgpu-default-stream="),
joinpd1("fmax-stack-var-size="),
joinpd1("fmemory-profile-use="),
joinpd1("fmodules-cache-path="),
joinpd1("fmodules-embed-file="),
joinpd1("fms-omit-default-lib"),
joinpd1("fprofile-instrument="),
joinpd1("fprofile-sample-use="),
joinpd1("fstrict-flex-arrays="),
.{
.name = "hipstdpar-prim-path=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "no-cuda-include-ptx=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("fwinx64-eh-unwindv2="),
joinpd1("Wframe-larger-than="),
joinpd1("coverage-data-file="),
joinpd1("code-completion-at="),
joinpd1("fblas-matmul-limit="),
joinpd1("fcrash-diagnostics="),
joinpd1("fdiagnostics-color="),
joinpd1("femit-dwarf-unwind="),
joinpd1("ffixed-line-length="),
joinpd1("ffixed-line-length-"),
joinpd1("ffuchsia-api-level="),
joinpd1("flimited-precision="),
.{
.name = "fno-sanitize-merge=",
.syntax = .comma_joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
joinpd1("fprofile-instr-use="),
.{
.name = "fsanitize-coverage=",
.syntax = .comma_joined,
.zig_equivalent = .san_cov,
.pd1 = true,
.pd2 = false,
.psl = false,
},
joinpd1("fthin-link-bitcode="),
joinpd1("ftime-trace-verbose"),
.{
.name = "gpu-instrument-lib=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "hipspv-pass-plugin=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("mbranch-protection="),
joinpd1("mmacos-version-min="),
.{
.name = "output-asm-variant=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("pch-through-header="),
joinpd1("target-sdk-version="),
.{
.name = "execution-charset:",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "sourceDependencies",
.syntax = .joined_or_separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "include-directory=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "library-directory=",
.syntax = .joined,
.zig_equivalent = .lib_dir,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "config-system-dir=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("fbinutils-version="),
joinpd1("fclang-abi-compat="),
joinpd1("fcodegen-data-use="),
joinpd1("fcompile-resource="),
joinpd1("fdebug-prefix-map="),
joinpd1("fdenormal-fp-math="),
joinpd1("fexcess-precision="),
joinpd1("fextend-arguments="),
joinpd1("ffree-line-length-"),
joinpd1("fmacro-prefix-map="),
.{
.name = "fno-sanitize-trap=",
.syntax = .comma_joined,
.zig_equivalent = .no_sanitize_trap,
.pd1 = true,
.pd2 = false,
.psl = false,
},
joinpd1("fobjc-abi-version="),
joinpd1("foutput-class-dir="),
joinpd1("fproc-stat-report="),
joinpd1("fprofile-generate="),
.{
.name = "fsanitize-recover=",
.syntax = .comma_joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
joinpd1("fsymbol-partition="),
joinpd1("mcompact-branches="),
joinpd1("msmall-data-limit="),
joinpd1("mstack-probe-size="),
joinpd1("mtvos-version-min="),
.{
.name = "offload-arch-tool=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("working-directory="),
.{
.name = "amdgpu-arch-tool=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("analyze-function="),
joinpd1("analyzer-checker="),
joinpd1("coverage-version="),
.{
.name = "cuda-include-ptx=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("falign-functions="),
joinpd1("fconstexpr-depth="),
joinpd1("fconstexpr-steps="),
joinpd1("ffile-prefix-map="),
joinpd1("fmodule-map-file="),
joinpd1("fobjc-arc-cxxlib="),
joinpd1("fproc-stat-report"),
joinpd1("ftype-visibility="),
joinpd1("fwarn-stack-size="),
jspd1("iapinotes-modules"),
jspd1("iwithprefixbefore"),
joinpd1("malign-functions="),
joinpd1("mfunction-return="),
joinpd1("mios-version-min="),
.{
.name = "mno-apx-features=",
.syntax = .comma_joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
joinpd1("mrvv-vector-bits="),
joinpd1("mstack-alignment="),
joinpd1("msve-vector-bits="),
.{
.name = "multi-lib-config=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
joinpd1("mzos-sys-include="),
.{
.name = "no-cuda-gpu-arch=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("object-file-name="),
.{
.name = "symbol-graph-dir=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "headerUnit:angle",
.syntax = .joined_or_separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "headerUnit:quote",
.syntax = .joined_or_separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
joinpd1("analyzer-output="),
joinpd1("ftemplate-depth-"),
joinpd1("ast-dump-filter="),
.{
.name = "config-user-dir=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("debug-info-kind="),
joinpd1("debugger-tuning="),
joinpd1("exception-model="),
joinpd1("fcf-runtime-abi="),
joinpd1("ffp-eval-method="),
joinpd1("finit-character="),
joinpd1("flto-partitions="),
joinpd1("fmax-type-align="),
joinpd1("fmemory-profile="),
joinpd1("fmessage-length="),
joinpd1("fms-runtime-lib="),
.{
.name = "fopenmp-targets=",
.syntax = .comma_joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
joinpd1("fopenmp-version="),
joinpd1("fprofile-update="),
.{
.name = "fsanitize-merge=",
.syntax = .comma_joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
joinpd1("fshow-overloads="),
joinpd1("fspv-target-env="),
joinpd1("fswift-async-fp="),
joinpd1("ftemplate-depth="),
joinpd1("fxray-attr-list="),
.{
.name = "gcc-install-dir=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("mlinker-version="),
joinpd1("mxcoff-build-id="),
joinpd1("mzos-hlq-csslib="),
.{
.name = "no-offload-arch=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "nvptx-arch-tool=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "offload-targets=",
.syntax = .comma_joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "print-file-name=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "print-prog-name=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
jspd1("reexport_library"),
jspd1("stdlib++-isystem"),
joinpd1("Rpass-analysis="),
.{
.name = "Xoffload-linker",
.syntax = .joined_and_separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "Xopenmp-target=",
.syntax = .joined_and_separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "source-charset:",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "analyzer-output",
.syntax = .joined_or_separate,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "include-prefix=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "undefine-macro=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("analyzer-purge="),
jspd1("current_version"),
joinpd1("fbootclasspath="),
joinpd1("fbracket-depth="),
joinpd1("fcf-protection="),
joinpd1("fdepfile-entry="),
joinpd1("fembed-bitcode="),
joinpd1("finput-charset="),
joinpd1("fmodule-format="),
joinpd1("fmodule-header="),
joinpd1("fmodule-output="),
joinpd1("fms-memptr-rep="),
.{
.name = "fmultilib-flag=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
joinpd1("fnew-alignment="),
joinpd1("frecord-marker="),
.{
.name = "fsanitize-trap=",
.syntax = .comma_joined,
.zig_equivalent = .sanitize_trap,
.pd1 = true,
.pd2 = false,
.psl = false,
},
joinpd1("fspv-extension="),
joinpd1("fthinlto-index="),
joinpd1("ftrap-function="),
joinpd1("ftrapv-handler="),
.{
.name = "funwind-tables=",
.syntax = .joined,
.zig_equivalent = .unwind_tables,
.pd1 = true,
.pd2 = false,
.psl = false,
},
joinpd1("gen-reproducer="),
.{
.name = "hip-device-lib=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "hipstdpar-path=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("mdynamic-no-pic"),
joinpd1("mframe-pointer="),
joinpd1("mindirect-jump="),
joinpd1("mzos-hlq-clang="),
joinpd1("preamble-bytes="),
.{
.name = "Wundef-prefix=",
.syntax = .comma_joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "vctoolsversion",
.syntax = .joined_or_separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "bootclasspath=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("complex-range="),
.{
.name = "cuda-gpu-arch=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "dependent-lib=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("dwarf-version="),
joinpd1("falign-labels="),
joinpd1("fauto-profile="),
joinpd1("fexec-charset="),
joinpd1("fgnuc-version="),
joinpd1("finit-integer="),
joinpd1("finit-logical="),
joinpd1("finline-limit="),
joinpd1("fobjc-runtime="),
joinpd1("fprofile-list="),
.{
.name = "gcc-toolchain=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "linker-option=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "malign-branch=",
.syntax = .comma_joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "mapx-features=",
.syntax = .comma_joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
joinpd1("vtordisp-mode="),
joinpd1("Rpass-missed="),
joinpd1("Wlarger-than-"),
joinpd1("Wlarger-than="),
.{
.name = "experimental:",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "external:env:",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "funcoverride:",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "winsdkversion",
.syntax = .joined_or_separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "define-macro=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("ast-dump-all="),
.{
.name = "autocomplete=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "cuda-feature=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("falign-jumps="),
joinpd1("falign-loops="),
joinpd1("faligned-new="),
joinpd1("ferror-limit="),
joinpd1("ffp-contract="),
joinpd1("fmodule-file="),
joinpd1("fmodule-name="),
joinpd1("fmsc-version="),
.{
.name = "fno-sanitize=",
.syntax = .comma_joined,
.zig_equivalent = .no_sanitize,
.pd1 = true,
.pd2 = false,
.psl = false,
},
joinpd1("foffload-lto="),
joinpd1("fpack-struct="),
joinpd1("fpass-plugin="),
joinpd1("fprofile-dir="),
joinpd1("fprofile-use="),
joinpd1("frandom-seed="),
joinpd1("ftime-report="),
joinpd1("gsplit-dwarf="),
jspd1("isystem-after"),
joinpd1("malign-jumps="),
joinpd1("malign-loops="),
joinpd1("mframe-chain="),
joinpd1("mimplicit-it="),
joinpd1("mprintf-kind="),
joinpd1("mtls-dialect="),
.{
.name = "offload-arch=",
.syntax = .comma_joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "offload-jobs=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
jspd1("pagezero_size"),
.{
.name = "product-name=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("resource-dir="),
.{
.name = "dynamicdeopt",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "dyld-prefix=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "driver-mode=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("fmax-errors="),
joinpd1("fmax-tokens="),
joinpd1("fno-builtin-"),
joinpd1("fplugin-arg-"),
joinpd1("ftime-trace="),
joinpd1("fvisibility="),
joinpd1("fwchar-type="),
joinpd1("fxray-modes="),
.{
.name = "hip-version=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
jspd1("iwithsysroot"),
.{
.name = "mexec-model=",
.syntax = .joined,
.zig_equivalent = .exec_model,
.pd1 = true,
.pd2 = false,
.psl = false,
},
joinpd1("mharden-sls="),
joinpd1("mhvx-length="),
.{
.name = "mno-tocdata=",
.syntax = .comma_joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
joinpd1("mvscale-max="),
joinpd1("mvscale-min="),
joinpd1("mzos-hlq-le="),
joinpd1("mzos-target="),
.{
.name = "rsp-quoting=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("std-default="),
jspd1("sub_umbrella"),
.{
.name = "Qpar-report",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Qvec-report",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "errorReport",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "headerName:",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "for-linker=",
.syntax = .joined,
.zig_equivalent = .for_linker,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "force-link=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
jspd1("client_name"),
jspd1("cxx-isystem"),
joinpd1("fclasspath="),
joinpd1("finit-real="),
joinpd1("fforce-addr"),
joinpd1("ftls-model="),
.{
.name = "gcc-triple=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("inline-asm="),
jspd1("ivfsoverlay"),
jspd1("iwithprefix"),
joinpd1("mfloat-abi="),
.{
.name = "plugin-arg-",
.syntax = .joined_and_separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "ptxas-path=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "save-stats=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "save-temps=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
joinpd1("stats-file="),
jspd1("sub_library"),
.{
.name = "CLASSPATH=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "constexpr:",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "external:I",
.syntax = .joined_or_separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "headerUnit",
.syntax = .joined_or_separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "vctoolsdir",
.syntax = .joined_or_separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "winsysroot",
.syntax = .joined_or_separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "classpath=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "cuda-path=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "embed-dir=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("fencoding="),
joinpd1("ffp-model="),
joinpd1("ffpe-trap="),
joinpd1("flto-jobs="),
.{
.name = "fsanitize=",
.syntax = .comma_joined,
.zig_equivalent = .sanitize,
.pd1 = true,
.pd2 = false,
.psl = false,
},
joinpd1("fuse-cuid="),
joinpd1("fuse-lipo="),
joinpd1("gsrc-hash="),
jspd1("iframework"),
jspd1("module-dir"),
joinpd1("mtargetos="),
joinpd1("mtls-size="),
joinpd1("reexport-l"),
.{
.name = "rocm-path=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("segs_read_"),
.{
.name = "unwindlib=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "vfsoverlay",
.syntax = .joined_or_separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "cgthreads",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "diasdkdir",
.syntax = .joined_or_separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "external:",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "reference",
.syntax = .joined_or_separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "winsdkdir",
.syntax = .joined_or_separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "encoding=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "language=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "optimize=",
.syntax = .joined,
.zig_equivalent = .optimize,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "resource=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("Xclangas="),
joinpd1("ast-dump="),
.{
.name = "dxv-path=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("fcoarray="),
joinpd1("fconvert="),
joinpd1("fc++-abi="),
joinpd1("fextdirs="),
joinpd1("ftabstop="),
.{
.name = "hip-path=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
jspd1("idirafter"),
joinpd1("mregparm="),
.{
.name = "mtocdata=",
.syntax = .comma_joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
joinpd1("sycl-std="),
.{
.name = "undefined",
.syntax = .joined_or_separate,
.zig_equivalent = .undefined,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "extdirs=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "imacros=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "include=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "sysroot=",
.syntax = .joined,
.zig_equivalent = .sysroot,
.pd1 = false,
.pd2 = true,
.psl = false,
},
jspd1("dsym-dir"),
joinpd1("fopenmp="),
joinpd1("fplugin="),
joinpd1("fuse-ld="),
joinpd1("fveclib="),
jspd1("isysroot"),
.{
.name = "ld-path=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("mcmodel="),
joinpd1("mconsole"),
joinpd1("mdouble="),
joinpd1("mfpmath="),
joinpd1("mhwmult="),
joinpd1("mthreads"),
.{
.name = "municode",
.syntax = .joined,
.zig_equivalent = .mingw_unicode_entry_point,
.pd1 = true,
.pd2 = false,
.psl = false,
},
joinpd1("mwindows"),
.{
.name = "offload=",
.syntax = .comma_joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
jspd1("seg1addr"),
.{
.name = "assert=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "mhwdiv=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "output=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "prefix=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("Xclang="),
.{
.name = "cl-ext=",
.syntax = .comma_joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
joinpd1("cl-std="),
.{
.name = "config=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("fcheck="),
.{
.name = "imacros",
.syntax = .joined_or_separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "include",
.syntax = .joined_or_separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
jspd1("iprefix"),
jspd1("isystem"),
joinpd1("marm64x"),
joinpd1("mguard="),
joinpd1("mhwdiv="),
joinpd1("moslib="),
.{
.name = "mrecip=",
.syntax = .comma_joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "stdlib=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "target=",
.syntax = .joined,
.zig_equivalent = .target,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("triple="),
.{
.name = "verify=",
.syntax = .comma_joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
joinpd1("Rpass="),
.{
.name = "Xarch_",
.syntax = .joined_and_separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "await:",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "clang:",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "guard:",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "debug=",
.syntax = .joined,
.zig_equivalent = .debug,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "param=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
.{
.name = "warn-=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("mllvm="),
joinpd1("fixit="),
joinpd1("gstabs"),
joinpd1("gxcoff"),
jspd1("iquote"),
.{
.name = "march=",
.syntax = .joined,
.zig_equivalent = .mcpu,
.pd1 = true,
.pd2 = false,
.psl = false,
},
joinpd1("msimd="),
.{
.name = "mtune=",
.syntax = .joined,
.zig_equivalent = .mcpu,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "rtlib=",
.syntax = .joined,
.zig_equivalent = .rtlib,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "specs=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "weak-l",
.syntax = .joined,
.zig_equivalent = .weak_library,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "Ofast",
.syntax = .flag,
.zig_equivalent = .optimize,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "arch:",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "favor",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "imsvc",
.syntax = .joined_or_separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "tune:",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "warn-",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = false,
.pd2 = true,
.psl = false,
},
joinpd1("cuid="),
.{
.name = "flto=",
.syntax = .joined,
.zig_equivalent = .lto,
.pd1 = true,
.pd2 = false,
.psl = false,
},
joinpd1("gcoff"),
joinpd1("mabi="),
joinpd1("mabs="),
joinpd1("masm="),
.{
.name = "mcpu=",
.syntax = .joined,
.zig_equivalent = .mcpu,
.pd1 = true,
.pd2 = false,
.psl = false,
},
joinpd1("mfpu="),
joinpd1("mhvx="),
joinpd1("mmcu="),
joinpd1("mnan="),
.{
.name = "link",
.syntax = .remaining_args_joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "std:",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
joinpd1("ccc-"),
joinpd1("gvms"),
joinpd1("mdll"),
joinpd1("mtp="),
.{
.name = "std=",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
},
.{
.name = "Wa,",
.syntax = .comma_joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "Wl,",
.syntax = .comma_joined,
.zig_equivalent = .wl,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "Wp,",
.syntax = .comma_joined,
.zig_equivalent = .wp,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "Fe:",
.syntax = .joined_or_separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Fi:",
.syntax = .joined_or_separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Fo:",
.syntax = .joined_or_separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Fp:",
.syntax = .joined_or_separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "RTC",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Zc:",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "clr",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "doc",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
joinpd1("gz="),
joinpd1("A-"),
joinpd1("G="),
.{
.name = "MF",
.syntax = .joined_or_separate,
.zig_equivalent = .dep_file,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "MJ",
.syntax = .joined_or_separate,
.zig_equivalent = .dep_file,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "MQ",
.syntax = .joined_or_separate,
.zig_equivalent = .dep_file,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "MT",
.syntax = .joined_or_separate,
.zig_equivalent = .dep_file,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "AI",
.syntax = .joined_or_separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "EH",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "FA",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "FI",
.syntax = .joined_or_separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "FR",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "FU",
.syntax = .joined_or_separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Fa",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Fd",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Fe",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Fi",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Fm",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Fo",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Fp",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Fr",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Gs",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "MP",
.syntax = .joined,
.zig_equivalent = .dep_file,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Tc",
.syntax = .joined_or_separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Tp",
.syntax = .joined_or_separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Wv",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Yc",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Yl",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Yu",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "ZW",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Zm",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Zp",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "d1",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "d2",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "vd",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "wd",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Fc",
.syntax = .joined_or_separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "Fo",
.syntax = .joined_or_separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
jspd1("A"),
jspd1("B"),
jspd1("D"),
.{
.name = "F",
.syntax = .joined_or_separate,
.zig_equivalent = .framework_dir,
.pd1 = true,
.pd2 = false,
.psl = false,
},
jspd1("G"),
jspd1("I"),
jspd1("J"),
.{
.name = "L",
.syntax = .joined_or_separate,
.zig_equivalent = .lib_dir,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "O",
.syntax = .joined,
.zig_equivalent = .optimize,
.pd1 = true,
.pd2 = false,
.psl = false,
},
joinpd1("R"),
.{
.name = "T",
.syntax = .joined_or_separate,
.zig_equivalent = .linker_script,
.pd1 = true,
.pd2 = false,
.psl = false,
},
jspd1("U"),
jspd1("V"),
joinpd1("W"),
.{
.name = "D",
.syntax = .joined_or_separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "F",
.syntax = .joined_or_separate,
.zig_equivalent = .framework_dir,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "I",
.syntax = .joined_or_separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "O",
.syntax = .joined,
.zig_equivalent = .optimize,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "U",
.syntax = .joined_or_separate,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "o",
.syntax = .joined_or_separate,
.zig_equivalent = .o,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "w",
.syntax = .joined,
.zig_equivalent = .other,
.pd1 = true,
.pd2 = false,
.psl = true,
},
jspd1("b"),
joinpd1("d"),
.{
.name = "l",
.syntax = .joined_or_separate,
.zig_equivalent = .l,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "o",
.syntax = .joined_or_separate,
.zig_equivalent = .o,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "T",
.syntax = .joined_or_separate,
.zig_equivalent = .linker_script,
.pd1 = true,
.pd2 = false,
.psl = true,
},
.{
.name = "u",
.syntax = .joined_or_separate,
.zig_equivalent = .force_undefined_symbol,
.pd1 = true,
.pd2 = false,
.psl = false,
},
.{
.name = "x",
.syntax = .joined_or_separate,
.zig_equivalent = .x,
.pd1 = true,
.pd2 = false,
.psl = false,
},
joinpd1("y"),
};};
+10 -98
View File
@@ -6042,11 +6042,9 @@ fn initArgIteratorResponseFile(allocator: Allocator, io: Io, resp_file_path: []c
return ArgIteratorResponseFile.initTakeOwnership(allocator, cmd_line);
}
const clang_args = @import("clang_options.zig").list;
pub const ClangArgIterator = struct {
has_next: bool,
zig_equivalent: ZigEquivalent,
zig_equivalent: std.zig.ClangCliParam.ZigEquivalent,
only_arg: []const u8,
second_arg: []const u8,
other_args: []const []const u8,
@@ -6056,94 +6054,6 @@ pub const ClangArgIterator = struct {
arg_iterator_response_file: ArgIteratorResponseFile,
arena: Allocator,
pub const ZigEquivalent = enum {
target,
o,
c,
r,
m,
x,
other,
positional,
l,
ignore,
driver_punt,
pic,
no_pic,
pie,
no_pie,
lto,
no_lto,
unwind_tables,
no_unwind_tables,
asynchronous_unwind_tables,
no_asynchronous_unwind_tables,
nostdlib,
nostdlib_cpp,
shared,
rdynamic,
wl,
wp,
preprocess_only,
asm_only,
optimize,
debug,
gdwarf32,
gdwarf64,
sanitize,
no_sanitize,
sanitize_trap,
no_sanitize_trap,
linker_script,
dry_run,
verbose,
for_linker,
linker_input_z,
lib_dir,
mcpu,
dep_file,
dep_file_to_stdout,
framework_dir,
framework,
nostdlibinc,
red_zone,
no_red_zone,
omit_frame_pointer,
no_omit_frame_pointer,
function_sections,
no_function_sections,
data_sections,
no_data_sections,
builtin,
no_builtin,
color_diagnostics,
no_color_diagnostics,
stack_check,
no_stack_check,
stack_protector,
no_stack_protector,
strip,
exec_model,
emit_llvm,
sysroot,
entry,
force_undefined_symbol,
weak_library,
weak_framework,
headerpad_max_install_names,
compress_debug_sections,
install_name,
undefined,
force_load_objc,
mingw_unicode_entry_point,
san_cov_trace_pc_guard,
san_cov,
no_san_cov,
rtlib,
static,
dynamic,
};
const Args = struct {
next_index: usize,
argv: []const []const u8,
@@ -6223,11 +6133,13 @@ pub const ClangArgIterator = struct {
return;
}
const clang_args: []const std.zig.ClangCliParam = @import("clang_options.zon");
find_clang_arg: for (clang_args) |clang_arg| switch (clang_arg.syntax) {
.flag => {
const prefix_len = clang_arg.matchEql(arg);
if (prefix_len > 0) {
self.zig_equivalent = clang_arg.zig_equivalent;
self.zig_equivalent = clang_arg.ze;
self.only_arg = arg[prefix_len..];
break :find_clang_arg;
@@ -6238,7 +6150,7 @@ pub const ClangArgIterator = struct {
// comma_joined example: -Wl,-soname,libsoundio.so.2
const prefix_len = clang_arg.matchStartsWith(arg);
if (prefix_len != 0) {
self.zig_equivalent = clang_arg.zig_equivalent;
self.zig_equivalent = clang_arg.ze;
self.only_arg = arg[prefix_len..]; // This will skip over the "--target=" part.
break :find_clang_arg;
@@ -6254,11 +6166,11 @@ pub const ClangArgIterator = struct {
self.only_arg = self.argv[self.next_index];
self.incrementArgIndex();
self.other_args.len += 1;
self.zig_equivalent = clang_arg.zig_equivalent;
self.zig_equivalent = clang_arg.ze;
break :find_clang_arg;
} else if (prefix_len != 0) {
self.zig_equivalent = clang_arg.zig_equivalent;
self.zig_equivalent = clang_arg.ze;
self.only_arg = arg[prefix_len..];
break :find_clang_arg;
@@ -6275,7 +6187,7 @@ pub const ClangArgIterator = struct {
self.second_arg = self.argv[self.next_index];
self.incrementArgIndex();
self.other_args.len += 1;
self.zig_equivalent = clang_arg.zig_equivalent;
self.zig_equivalent = clang_arg.ze;
break :find_clang_arg;
}
},
@@ -6286,7 +6198,7 @@ pub const ClangArgIterator = struct {
self.only_arg = self.argv[self.next_index];
self.incrementArgIndex();
self.other_args.len += 1;
self.zig_equivalent = clang_arg.zig_equivalent;
self.zig_equivalent = clang_arg.ze;
break :find_clang_arg;
},
.remaining_args_joined => {
@@ -6302,7 +6214,7 @@ pub const ClangArgIterator = struct {
self.incrementArgIndex();
self.other_args.len += 1;
}
self.zig_equivalent = clang_arg.zig_equivalent;
self.zig_equivalent = clang_arg.ze;
break :find_clang_arg;
},
} else {
+28 -101
View File
@@ -13,6 +13,8 @@ const std = @import("std");
const Io = std.Io;
const assert = std.debug.assert;
const json = std.json;
const fatal = std.process.fatal;
const ClangCliParam = std.zig.ClangCliParam;
const KnownOpt = struct {
name: []const u8,
@@ -682,13 +684,9 @@ pub fn main(init: std.process.Init) !void {
const json_text = switch (child_result.term) {
.exited => |code| if (code == 0) child_result.stdout else {
std.debug.print("llvm-tblgen exited with code {d}\n", .{code});
std.process.exit(1);
},
else => {
std.debug.print("llvm-tblgen crashed\n", .{});
std.process.exit(1);
fatal("llvm-tblgen exited with code {d}", .{code});
},
else => fatal("llvm-tblgen crashed", .{}),
};
const parsed = try json.parseFromSlice(json.Value, arena, json_text, .{});
@@ -718,18 +716,13 @@ pub fn main(init: std.process.Init) !void {
try stdout.writeAll(
\\// This file is generated by tools/update_clang_options.zig.
\\// zig fmt: off
\\const clang_options = @import("clang_options.zig");
\\const CliArg = clang_options.CliArg;
\\const flagpd1 = clang_options.flagpd1;
\\const flagpsl = clang_options.flagpsl;
\\const joinpd1 = clang_options.joinpd1;
\\const jspd1 = clang_options.jspd1;
\\const sepd1 = clang_options.sepd1;
\\const m = clang_options.m;
\\pub const data = blk: { @setEvalBranchQuota(6000); break :blk &[_]CliArg{
\\
);
var serializer: std.zon.Serializer = .{ .writer = stdout };
var top = try serializer.beginTuple(.{});
serializer.indent_level = 0;
for (all_objects.items) |obj| {
const name = obj.get("Name").?.string;
var pd1 = false;
@@ -744,113 +737,48 @@ pub fn main(init: std.process.Init) !void {
} else if (std.mem.eql(u8, prefix, "/")) {
pslash = true;
} else {
std.debug.print("{s} has unrecognized prefix '{s}'\n", .{ name, prefix });
std.process.exit(1);
fatal("{s} has unrecognized prefix '{s}'", .{ name, prefix });
}
}
const syntax = objSyntax(obj) orelse continue;
var element: ClangCliParam = .{
.name = name,
.syntax = syntax,
.pd1 = pd1,
.pd2 = pd2,
.psl = pslash,
};
if (std.mem.eql(u8, name, "MT") and syntax == .flag) {
// `-MT foo` is ambiguous because there is also an -MT flag
// The canonical way to specify the flag is with `/MT` and so we make this
// the only way.
try stdout.print("flagpsl(\"{s}\"),\n", .{name});
element.psl = true;
element.pd1 = false;
element.pd2 = false;
} else if (knownOption(name)) |ident| {
// Workaround the fact that in 'Options.td' -Ofast is listed as 'joined'
const final_syntax = if (std.mem.eql(u8, name, "Ofast")) .flag else syntax;
try stdout.print(
\\.{{
\\ .name = "{s}",
\\ .syntax = {f},
\\ .zig_equivalent = .{s},
\\ .pd1 = {},
\\ .pd2 = {},
\\ .psl = {},
\\}},
\\
, .{ name, final_syntax, ident, pd1, pd2, pslash });
if (std.mem.eql(u8, name, "Ofast")) element.syntax = .flag;
element.ze = std.meta.stringToEnum(ClangCliParam.ZigEquivalent, ident) orelse fatal("unknown known option: {s}", .{ident});
} else if (pd1 and !pd2 and !pslash and syntax == .flag) {
if ((std.mem.startsWith(u8, name, "mno-") and
llvm_to_zig_cpu_features.contains(name["mno-".len..])) or
(std.mem.startsWith(u8, name, "m") and
llvm_to_zig_cpu_features.contains(name["m".len..])))
{
try stdout.print("m(\"{s}\"),\n", .{name});
} else {
try stdout.print("flagpd1(\"{s}\"),\n", .{name});
element.ze = .m;
}
} else if (!pd1 and !pd2 and pslash and syntax == .flag) {
try stdout.print("flagpsl(\"{s}\"),\n", .{name});
} else if (pd1 and !pd2 and !pslash and syntax == .joined) {
try stdout.print("joinpd1(\"{s}\"),\n", .{name});
} else if (pd1 and !pd2 and !pslash and syntax == .joined_or_separate) {
try stdout.print("jspd1(\"{s}\"),\n", .{name});
} else if (pd1 and !pd2 and !pslash and syntax == .separate) {
try stdout.print("sepd1(\"{s}\"),\n", .{name});
} else {
try stdout.print(
\\.{{
\\ .name = "{s}",
\\ .syntax = {f},
\\ .zig_equivalent = .other,
\\ .pd1 = {},
\\ .pd2 = {},
\\ .psl = {},
\\}},
\\
, .{ name, syntax, pd1, pd2, pslash });
}
try top.field(element, .{ .emit_default_optional_fields = false });
}
try stdout.writeAll(
\\};};
\\
);
try top.end();
try stdout.flush();
}
// TODO we should be able to import clang_options.zig but currently this is problematic because it will
// import stage2.zig and that causes a bunch of stuff to get exported
const Syntax = union(enum) {
/// A flag with no values.
flag,
/// An option which prefixes its (single) value.
joined,
/// An option which is followed by its value.
separate,
/// An option which is either joined to its (non-empty) value, or followed by its value.
joined_or_separate,
/// An option which is both joined to its (first) value, and followed by its (second) value.
joined_and_separate,
/// An option followed by its values, which are separated by commas.
comma_joined,
/// An option which consumes an optional joined argument and any other remaining arguments.
remaining_args_joined,
/// An option which is which takes multiple (separate) arguments.
multi_arg: u8,
pub fn format(
self: Syntax,
out_stream: *std.Io.Writer,
) std.Io.Writer.Error!void {
switch (self) {
.multi_arg => |n| return out_stream.print(".{{.{t}={d}}}", .{ self, n }),
else => return out_stream.print(".{s}", .{@tagName(self)}),
}
}
};
fn objSyntax(obj: *json.ObjectMap) ?Syntax {
fn objSyntax(obj: *json.ObjectMap) ?ClangCliParam.Syntax {
const num_args = @as(u8, @intCast(obj.get("NumArgs").?.integer));
for (obj.get("!superclasses").?.array.items) |superclass_json| {
const superclass = superclass_json.string;
@@ -911,7 +839,7 @@ fn objSyntax(obj: *json.ObjectMap) ?Syntax {
return null;
}
fn syntaxMatchesWithEql(syntax: Syntax) bool {
fn syntaxMatchesWithEql(syntax: ClangCliParam.Syntax) bool {
return switch (syntax) {
.flag,
.separate,
@@ -966,9 +894,8 @@ fn printUsageAndExit(arg0: []const u8) noreturn {
fn printUsage(w: *std.Io.Writer, arg0: []const u8) std.Io.Writer.Error!void {
try w.print(
\\Usage: {s} /path/to/llvm-tblgen /path/to/git/llvm/llvm-project
\\Alternative Usage: zig run /path/to/git/zig/tools/update_clang_options.zig -- /path/to/llvm-tblgen /path/to/git/llvm/llvm-project
\\
\\Prints to stdout Zig code which you can use to replace the file src/clang_options_data.zig.
\\Prints to stdout Zig code which you can use to replace the file src/clang_options.zon.
\\
, .{arg0});
}