Commit d631bfe060

Andrew Kelley <andrew@ziglang.org>
2022-08-03 04:43:38
update clang CLI options to LLVM 15
1 parent c75226d
src/clang_options_data.zig
@@ -137,7 +137,9 @@ flagpd1("Wframe-larger-than"),
 flagpd1("Wlarge-by-value-copy"),
 flagpd1("Wno-deprecated"),
 flagpd1("Wno-rewrite-macros"),
+flagpd1("Wno-system-headers"),
 flagpd1("Wno-write-strings"),
+flagpd1("Wsystem-headers"),
 flagpd1("Wwrite-strings"),
 flagpd1("X"),
 sepd1("Xanalyzer"),
@@ -235,14 +237,6 @@ sepd1("Zlinker-input"),
     .pd2 = false,
     .psl = true,
 },
-.{
-    .name = "FA",
-    .syntax = .flag,
-    .zig_equivalent = .other,
-    .pd1 = true,
-    .pd2 = false,
-    .psl = true,
-},
 .{
     .name = "FC",
     .syntax = .flag,
@@ -531,6 +525,14 @@ sepd1("Zlinker-input"),
     .pd2 = false,
     .psl = true,
 },
+.{
+    .name = "JMC-",
+    .syntax = .flag,
+    .zig_equivalent = .other,
+    .pd1 = true,
+    .pd2 = false,
+    .psl = true,
+},
 .{
     .name = "LD",
     .syntax = .flag,
@@ -1036,6 +1038,14 @@ flagpsl("MT"),
     .pd2 = false,
     .psl = true,
 },
+.{
+    .name = "Zc:wchar_t-",
+    .syntax = .flag,
+    .zig_equivalent = .other,
+    .pd1 = true,
+    .pd2 = false,
+    .psl = true,
+},
 .{
     .name = "Ze",
     .syntax = .flag,
@@ -1196,6 +1206,46 @@ flagpsl("MT"),
     .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:except",
     .syntax = .flag,
@@ -2206,6 +2256,8 @@ flagpd1("shared-libasan"),
     .pd2 = false,
     .psl = true,
 },
+flagpd1("fdiagnostics-color"),
+flagpd1("fno-diagnostics-color"),
 flagpd1("frecord-gcc-switches"),
 flagpd1("fno-record-gcc-switches"),
 flagpd1("fident"),
@@ -2378,6 +2430,8 @@ flagpd1("dD"),
 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"),
@@ -2394,7 +2448,6 @@ flagpd1("disable-lifetime-markers"),
 flagpd1("disable-llvm-optzns"),
 flagpd1("disable-llvm-passes"),
 flagpd1("disable-llvm-verifier"),
-flagpd1("disable-noundef-analysis"),
 flagpd1("disable-objc-default-synthesize-properties"),
 flagpd1("disable-pragma-debug-crash"),
 flagpd1("disable-red-zone"),
@@ -2410,6 +2463,14 @@ sepd1("dwarf-debug-flags"),
 sepd1("dwarf-debug-producer"),
 flagpd1("dwarf-explicit-import"),
 flagpd1("dwarf-ext-refs"),
+.{
+    .name = "hlsl-no-stdinc",
+    .syntax = .flag,
+    .zig_equivalent = .other,
+    .pd1 = true,
+    .pd2 = false,
+    .psl = true,
+},
 sepd1("dylib_file"),
 flagpd1("dylinker"),
 flagpd1("dynamic"),
@@ -2424,7 +2485,9 @@ flagpd1("dynamic"),
 flagpd1("ehcontguard"),
 flagpd1("emit-ast"),
 flagpd1("emit-codegen-only"),
+flagpd1("emit-fir"),
 flagpd1("emit-header-module"),
+flagpd1("emit-header-unit"),
 flagpd1("emit-html"),
 flagpd1("emit-interface-stubs"),
 .{
@@ -2439,10 +2502,19 @@ 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 = "emit-pristine-llvm",
+    .syntax = .flag,
+    .zig_equivalent = .other,
+    .pd1 = true,
+    .pd2 = false,
+    .psl = true,
+},
 .{
     .name = "emit-static-lib",
     .syntax = .flag,
@@ -2451,6 +2523,15 @@ flagpd1("emit-pch"),
     .pd2 = true,
     .psl = false,
 },
+.{
+    .name = "enable-16bit-types",
+    .syntax = .flag,
+    .zig_equivalent = .other,
+    .pd1 = true,
+    .pd2 = false,
+    .psl = true,
+},
+flagpd1("enable-noundef-analysis"),
 flagpd1("enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang"),
 .{
     .name = "end-no-unused-arguments",
@@ -2501,6 +2582,7 @@ flagpd1("falternative-parameter-statement"),
 flagpd1("faltivec"),
 flagpd1("fanalyzed-objects-for-unparse"),
 flagpd1("fkeep-inline-functions"),
+flagpd1("funit-at-a-time"),
 flagpd1("fansi-escape-codes"),
 flagpd1("fapple-kext"),
 flagpd1("fapple-link-rtlib"),
@@ -2558,6 +2640,14 @@ flagpd1("fcaller-saves"),
 },
 sepd1("fcaret-diagnostics-max-lines"),
 flagpd1("fcf-protection"),
+.{
+    .name = "fcgl",
+    .syntax = .flag,
+    .zig_equivalent = .other,
+    .pd1 = true,
+    .pd2 = false,
+    .psl = true,
+},
 flagpd1("fchar8_t"),
 flagpd1("fcheck-array-temporaries"),
 .{
@@ -2601,6 +2691,7 @@ 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"),
@@ -2631,7 +2722,6 @@ flagpd1("fdeprecated-macro"),
 flagpd1("fdevirtualize"),
 flagpd1("fdevirtualize-speculatively"),
 flagpd1("fdiagnostics-absolute-paths"),
-flagpd1("fdiagnostics-color"),
 flagpd1("fdiagnostics-fixit-info"),
 sepd1("fdiagnostics-format"),
 flagpd1("fdiagnostics-parseable-fixits"),
@@ -2643,11 +2733,13 @@ flagpd1("fdiagnostics-show-option"),
 flagpd1("fdiagnostics-show-template-tree"),
 flagpd1("fdigraphs"),
 flagpd1("fdirect-access-external-data"),
+flagpd1("fdirectives-only"),
 flagpd1("fdisable-module-hash"),
 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"),
@@ -2672,6 +2764,7 @@ sepd1("ferror-limit"),
 flagpd1("fescaping-block-tail-calls"),
 flagpd1("fexceptions"),
 flagpd1("fexperimental-isel"),
+flagpd1("fexperimental-library"),
 flagpd1("fexperimental-new-constant-interpreter"),
 flagpd1("fexperimental-new-pass-manager"),
 flagpd1("fexperimental-relative-c++-abi-vtables"),
@@ -2683,6 +2776,7 @@ flagpd1("ffake-address-space-map"),
 flagpd1("ffast-math"),
 flagpd1("ffat-lto-objects"),
 flagpd1("fcheck-new"),
+flagpd1("ffile-reproducible"),
 flagpd1("fimplicit-modules-use-lock"),
 flagpd1("ffine-grained-bitfield-accesses"),
 flagpd1("ffinite-loops"),
@@ -2786,6 +2880,7 @@ flagpd1("fhalf-no-semantic-interposition"),
 flagpd1("fheinous-gnu-extensions"),
 flagpd1("fhip-dump-offload-linker-script"),
 flagpd1("fhip-fp32-correctly-rounded-divide-sqrt"),
+flagpd1("fhip-kernel-arg-name"),
 flagpd1("fhip-new-launch-api"),
 flagpd1("fhonor-infinities"),
 flagpd1("fhonor-nans"),
@@ -2811,6 +2906,7 @@ 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"),
@@ -2819,12 +2915,13 @@ flagpd1("fix-what-you-can"),
 flagpd1("fixit"),
 flagpd1("fixit-recompile"),
 flagpd1("fixit-to-temporary"),
+flagpd1("fjmc"),
 flagpd1("fjump-tables"),
 flagpd1("fkeep-static-consts"),
+flagpd1("flang-experimental-exec"),
 flagpd1("flarge-sizes"),
 flagpd1("flat_namespace"),
 flagpd1("flax-vector-conversions"),
-flagpd1("flegacy-pass-manager"),
 flagpd1("flimit-debug-info"),
 flagpd1("flogical-abbreviations"),
 .{
@@ -2849,6 +2946,8 @@ 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"),
@@ -2873,6 +2972,7 @@ flagpd1("fmodulo-sched-allow-regmoves"),
 flagpd1("fms-compatibility"),
 flagpd1("fms-extensions"),
 flagpd1("fms-hotpatch"),
+flagpd1("fms-kernel"),
 flagpd1("fms-volatile"),
 flagpd1("fmudflap"),
 flagpd1("fmudflapth"),
@@ -2912,6 +3012,7 @@ flagpd1("fno-allow-editor-placeholders"),
 flagpd1("fno-altivec"),
 flagpd1("fno-analyzed-objects-for-unparse"),
 flagpd1("fno-keep-inline-functions"),
+flagpd1("fno-unit-at-a-time"),
 flagpd1("fno-apple-pragma-pack"),
 flagpd1("fno-application-extension"),
 flagpd1("fno-approx-func"),
@@ -2961,7 +3062,6 @@ flagpd1("fno-check-array-temporaries"),
 },
 flagpd1("fno-common"),
 flagpd1("fno-complete-member-pointers"),
-flagpd1("fno-concept-satisfaction-caching"),
 flagpd1("fno-const-strings"),
 flagpd1("fno-constant-cfstrings"),
 flagpd1("fno-coroutines-ts"),
@@ -2990,7 +3090,6 @@ flagpd1("fno-delete-null-pointer-checks"),
 flagpd1("fno-deprecated-macro"),
 flagpd1("fno-devirtualize"),
 flagpd1("fno-devirtualize-speculatively"),
-flagpd1("fno-diagnostics-color"),
 flagpd1("fno-diagnostics-fixit-info"),
 flagpd1("fno-diagnostics-show-hotness"),
 flagpd1("fno-diagnostics-show-note-include-stack"),
@@ -2998,6 +3097,7 @@ 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-discard-value-names"),
 flagpd1("fno-dllexport-inlines"),
 flagpd1("fno-dollar-ok"),
@@ -3016,13 +3116,14 @@ flagpd1("fno-emulated-tls"),
 flagpd1("fno-escaping-block-tail-calls"),
 flagpd1("fno-exceptions"),
 flagpd1("fno-experimental-isel"),
-flagpd1("fno-experimental-new-pass-manager"),
+flagpd1("fno-experimental-library"),
 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-check-new"),
+flagpd1("fno-file-reproducible"),
 flagpd1("fno-implicit-modules-use-lock"),
 flagpd1("fno-fine-grained-bitfield-accesses"),
 flagpd1("fno-finite-loops"),
@@ -3061,6 +3162,7 @@ flagpd1("fno-gpu-flush-denormals-to-zero"),
 flagpd1("fno-gpu-rdc"),
 flagpd1("fno-gpu-sanitize"),
 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"),
@@ -3077,10 +3179,13 @@ 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-static-consts"),
+flagpd1("fno-knr-functions"),
 flagpd1("fno-lax-vector-conversions"),
 flagpd1("fno-legacy-pass-manager"),
 flagpd1("fno-limit-debug-info"),
@@ -3145,6 +3250,7 @@ flagpd1("fno-openmp-cuda-force-full-runtime"),
 flagpd1("fno-openmp-cuda-mode"),
 flagpd1("fno-openmp-extensions"),
 flagpd1("fno-openmp-implicit-rpath"),
+flagpd1("fno-openmp-new-driver"),
 flagpd1("fno-openmp-optimistic-collapse"),
 flagpd1("fno-openmp-simd"),
 flagpd1("fno-openmp-target-debug"),
@@ -3227,6 +3333,7 @@ flagpd1("fno-rtlib-add-rpath"),
 flagpd1("fno-rtti"),
 flagpd1("fno-rtti-data"),
 flagpd1("fno-rwpi"),
+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"),
@@ -3311,7 +3418,6 @@ flagpd1("fno-underscoring"),
 flagpd1("fno-unique-basic-block-section-names"),
 flagpd1("fno-unique-internal-linkage-names"),
 flagpd1("fno-unique-section-names"),
-flagpd1("fno-unit-at-a-time"),
 flagpd1("fno-unroll-all-loops"),
 flagpd1("fno-unroll-loops"),
 flagpd1("fno-unsafe-loop-optimizations"),
@@ -3392,6 +3498,7 @@ flagpd1("foffload-lto"),
 },
 flagpd1("fopenacc"),
 flagpd1("fopenmp"),
+flagpd1("fopenmp-assume-no-thread-state"),
 flagpd1("fopenmp-assume-teams-oversubscription"),
 flagpd1("fopenmp-assume-threads-oversubscription"),
 flagpd1("fopenmp-cuda-force-full-runtime"),
@@ -3402,6 +3509,7 @@ sepd1("fopenmp-host-ir-file-path"),
 flagpd1("fopenmp-implicit-rpath"),
 flagpd1("fopenmp-is-device"),
 flagpd1("fopenmp-new-driver"),
+flagpd1("fopenmp-offload-mandatory"),
 flagpd1("fopenmp-optimistic-collapse"),
 flagpd1("fopenmp-relocatable-target"),
 flagpd1("fopenmp-simd"),
@@ -3624,7 +3732,6 @@ flagpd1("funderscoring"),
 flagpd1("funique-basic-block-section-names"),
 flagpd1("funique-internal-linkage-names"),
 flagpd1("funique-section-names"),
-flagpd1("funit-at-a-time"),
 flagpd1("funknown-anytype"),
 flagpd1("funroll-all-loops"),
 flagpd1("funroll-loops"),
@@ -3809,6 +3916,7 @@ flagpd1("m68060"),
 flagpd1("m80387"),
 m("mseses"),
 flagpd1("mabi=ieeelongdouble"),
+flagpd1("mabi=quadword-atomics"),
 flagpd1("mabi=vec-default"),
 flagpd1("mabi=vec-extabi"),
 flagpd1("mabicalls"),
@@ -3872,7 +3980,6 @@ m("mcumode"),
 m("mcx16"),
 sepd1("mdebug-pass"),
 m("mdirect-move"),
-flagpd1("mdisable-tail-calls"),
 flagpd1("mdouble-float"),
 m("mdsp"),
 m("mdspr2"),
@@ -3886,6 +3993,7 @@ flagpd1("menable-unsafe-fp-math"),
 m("menqcmd"),
 m("mexception-handling"),
 m("mexecute-only"),
+flagpd1("mextended-const"),
 flagpd1("mextern-sdata"),
 m("mf16c"),
 flagpd1("mfancy-math-387"),
@@ -3894,6 +4002,8 @@ flagpd1("mfix4300"),
 flagpd1("mfix-and-continue"),
 m("mfix-cmse-cve-2021-35465"),
 m("mfix-cortex-a53-835769"),
+flagpd1("mfix-cortex-a57-aes-1742098"),
+flagpd1("mfix-cortex-a72-aes-1655431"),
 m("mfloat128"),
 sepd1("mfloat-abi"),
 m("mfma"),
@@ -3972,6 +4082,7 @@ m("mmemops"),
 flagpd1("mmfcrf"),
 m("mmfocrf"),
 m("mmicromips"),
+sepd1("mmlir"),
 m("mmma"),
 m("mmmx"),
 m("mmovbe"),
@@ -4042,10 +4153,13 @@ m("mno-enqcmd"),
 m("mno-exception-handling"),
 flagpd1("mnoexecstack"),
 m("mno-execute-only"),
+flagpd1("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-a57-aes-1742098"),
+flagpd1("mno-fix-cortex-a72-aes-1655431"),
 m("mno-float128"),
 m("mno-fma"),
 m("mno-fma4"),
@@ -4123,6 +4237,7 @@ m("mno-prfchw"),
 m("mno-ptwrite"),
 flagpd1("mno-pure-code"),
 m("mno-rdpid"),
+flagpd1("mno-rdpru"),
 m("mno-rdrnd"),
 m("mno-rdseed"),
 .{
@@ -4204,7 +4319,6 @@ m("mnvj"),
 m("mnvs"),
 flagpd1("modd-spreg"),
 sepd1("module-dependency-dir"),
-sepd1("module-dir"),
 flagpd1("module-file-deps"),
 flagpd1("module-file-info"),
 sepd1("module-suffix"),
@@ -4233,6 +4347,7 @@ m("mptwrite"),
 flagpd1("mpure-code"),
 flagpd1("mqdsp6-compat"),
 m("mrdpid"),
+flagpd1("mrdpru"),
 m("mrdrnd"),
 m("mrdseed"),
 flagpd1("mreassociate"),
@@ -4369,6 +4484,7 @@ flagpd1("no-cpp-precomp"),
     .psl = false,
 },
 flagpd1("no-emit-llvm-uselists"),
+flagpd1("no-enable-noundef-analysis"),
 .{
     .name = "no-gpu-bundle-output",
     .syntax = .flag,
@@ -4377,6 +4493,7 @@ flagpd1("no-emit-llvm-uselists"),
     .pd2 = true,
     .psl = false,
 },
+flagpd1("no-hip-rt"),
 flagpd1("no-implicit-float"),
 .{
     .name = "no-integrated-cpp",
@@ -4386,6 +4503,15 @@ flagpd1("no-implicit-float"),
     .pd2 = true,
     .psl = false,
 },
+.{
+    .name = "no-offload-new-driver",
+    .syntax = .flag,
+    .zig_equivalent = .other,
+    .pd1 = false,
+    .pd2 = true,
+    .psl = false,
+},
+flagpd1("no-opaque-pointers"),
 .{
     .name = "no-pedantic",
     .syntax = .flag,
@@ -4408,6 +4534,7 @@ flagpd1("no-struct-path-tbaa"),
 flagpd1("nobuiltininc"),
 flagpd1("nocpp"),
 flagpd1("nodefaultlibs"),
+flagpd1("nodriverkitlib"),
 flagpd1("nofixprebinding"),
 flagpd1("nogpuinc"),
 flagpd1("nogpulib"),
@@ -4491,6 +4618,47 @@ flagpd1("objcmt-ns-nonatomic-iosonly"),
 flagpd1("objcmt-returns-innerpointer-property"),
 flagpd1("object"),
 sepd1("object-file-name"),
+.{
+    .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-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,
+},
+flagpd1("opaque-pointers"),
 sepd1("opt-record-file"),
 sepd1("opt-record-format"),
 sepd1("opt-record-passes"),
@@ -4546,6 +4714,14 @@ 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,
@@ -4940,6 +5116,7 @@ joinpd1("fsanitize-undefined-strip-path-components="),
 joinpd1("fopenmp-cuda-teams-reduction-recs-num="),
 joinpd1("fvisibility-externs-nodllstorageclass="),
 joinpd1("analyzer-config-compatibility-mode="),
+joinpd1("mdefault-visibility-export-mapping="),
 joinpd1("fsanitize-address-use-after-return="),
 .{
     .name = "fsanitize-address-use-after-return",
@@ -4949,9 +5126,12 @@ joinpd1("fsanitize-address-use-after-return="),
     .pd2 = false,
     .psl = true,
 },
+joinpd1("darwin-target-variant-sdk-version="),
 joinpd1("ftrivial-auto-var-init-stop-after="),
 joinpd1("fverify-debuginfo-preserve-export="),
+joinpd1("fdiagnostics-misexpect-tolerance="),
 joinpd1("fpatchable-function-entry-offset="),
+joinpd1("fprofile-selected-function-group="),
 joinpd1("analyzer-inline-max-stack-depth="),
 joinpd1("fsanitize-address-field-padding="),
 .{
@@ -4963,6 +5143,7 @@ joinpd1("fsanitize-address-field-padding="),
     .psl = true,
 },
 joinpd1("fdiagnostics-hotness-threshold="),
+joinpd1("fexperimental-max-bitint-width="),
 joinpd1("fsanitize-memory-track-origins="),
 joinpd1("mwatchos-simulator-version-min="),
 joinpd1("fsanitize-coverage-ignorelist="),
@@ -4971,6 +5152,7 @@ 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,
@@ -4979,16 +5161,17 @@ joinpd1("mstack-protector-guard-offset="),
     .pd2 = false,
     .psl = true,
 },
+joinpd1("miphonesimulator-version-min="),
 joinpd1("fsanitize-coverage-whitelist="),
 joinpd1("fsanitize-coverage-blacklist="),
 joinpd1("fobjc-nonfragile-abi-version="),
 joinpd1("fprofile-instrument-use-path="),
 joinpd1("fsanitize-coverage-allowlist="),
 jspd1("fxray-instrumentation-bundle="),
-joinpd1("miphonesimulator-version-min="),
 joinpd1("fsanitize-address-destructor="),
 joinpd1("faddress-space-map-mangling="),
 joinpd1("foptimization-record-passes="),
+joinpd1("frandomize-layout-seed-file="),
 joinpd1("fsanitize-system-ignorelist="),
 joinpd1("ftest-module-file-extension="),
 jspd1("fxray-instruction-threshold="),
@@ -5000,6 +5183,14 @@ jspd1("fxray-instruction-threshold="),
     .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="),
@@ -5065,6 +5256,7 @@ joinpd1("objcmt-allowlist-dir-path="),
 joinpd1("Wno-nonportable-cfstrings"),
 joinpd1("analyzer-disable-checker="),
 joinpd1("fbuild-session-timestamp="),
+joinpd1("fprofile-function-groups="),
 joinpd1("fprofile-instrument-path="),
 joinpd1("mdefault-build-attributes"),
 joinpd1("msign-return-address-key="),
@@ -5136,6 +5328,7 @@ joinpd1("ffp-exception-behavior="),
 joinpd1("fmacro-backtrace-limit="),
 joinpd1("fmax-array-constructor="),
 joinpd1("fprofile-exclude-files="),
+joinpd1("frandomize-layout-seed="),
 joinpd1("ftrivial-auto-var-init="),
 jspd1("fxray-never-instrument="),
 joinpd1("gsimple-template-names="),
@@ -5144,6 +5337,7 @@ 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="),
@@ -5164,10 +5358,10 @@ 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("miphoneos-version-min="),
 joinpd1("msmall-data-threshold="),
 joinpd1("Wlarge-by-value-copy="),
 joinpd1("analyzer-constraints="),
@@ -5187,6 +5381,7 @@ joinpd1("fmodules-prune-after="),
 },
 joinpd1("fopenmp-target-debug="),
 joinpd1("fsanitize-ignorelist="),
+joinpd1("fzero-call-used-regs="),
 jspd1("iframeworkwithsysroot"),
 joinpd1("mcode-object-version="),
 joinpd1("mpad-max-prefix-size="),
@@ -5218,6 +5413,7 @@ joinpd1("mwatchos-version-min="),
     .psl = false,
 },
 joinpd1("faltivec-src-compat="),
+joinpd1("mmacosx-version-min="),
 joinpd1("fsanitize-blacklist="),
 .{
     .name = "hip-device-lib-path=",
@@ -5230,12 +5426,13 @@ joinpd1("fsanitize-blacklist="),
 joinpd1("coverage-notes-file="),
 joinpd1("fbuild-session-file="),
 joinpd1("fdiagnostics-format="),
+joinpd1("fgpu-default-stream="),
 joinpd1("fmax-stack-var-size="),
 joinpd1("fmodules-cache-path="),
 joinpd1("fmodules-embed-file="),
 joinpd1("fprofile-instrument="),
 joinpd1("fprofile-sample-use="),
-joinpd1("mmacosx-version-min="),
+joinpd1("fstrict-flex-arrays="),
 .{
     .name = "no-cuda-include-ptx=",
     .syntax = .joined,
@@ -5249,6 +5446,7 @@ joinpd1("code-completion-at="),
 joinpd1("coverage-data-file="),
 joinpd1("fblas-matmul-limit="),
 joinpd1("fdiagnostics-color="),
+joinpd1("femit-dwarf-unwind="),
 joinpd1("ffixed-line-length="),
 joinpd1("ffixed-line-length-"),
 joinpd1("ffuchsia-api-level="),
@@ -5388,6 +5586,7 @@ joinpd1("fproc-stat-report"),
 joinpd1("fwarn-stack-size="),
 jspd1("iwithprefixbefore"),
 joinpd1("malign-functions="),
+joinpd1("mfunction-return="),
 joinpd1("mios-version-min="),
 joinpd1("mstack-alignment="),
 joinpd1("msve-vector-bits="),
@@ -5431,6 +5630,7 @@ joinpd1("debug-info-kind="),
 joinpd1("debugger-tuning="),
 joinpd1("exception-model="),
 joinpd1("fcf-runtime-abi="),
+joinpd1("ffp-eval-method="),
 joinpd1("finit-character="),
 joinpd1("fmax-type-align="),
 joinpd1("fmemory-profile="),
@@ -5478,6 +5678,14 @@ joinpd1("mlinker-version="),
 },
 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,
@@ -5528,6 +5736,7 @@ joinpd1("fdepfile-entry="),
 joinpd1("fembed-bitcode="),
 joinpd1("finput-charset="),
 joinpd1("fmodule-format="),
+joinpd1("fmodule-header="),
 joinpd1("fms-memptr-rep="),
 joinpd1("fnew-alignment="),
 joinpd1("frecord-marker="),
@@ -5550,6 +5759,7 @@ joinpd1("ftrapv-handler="),
     .pd2 = false,
     .psl = false,
 },
+joinpd1("gen-reproducer="),
 .{
     .name = "hip-device-lib=",
     .syntax = .joined,
@@ -5683,6 +5893,14 @@ joinpd1("ast-dump-all="),
     .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="),
@@ -5710,6 +5928,7 @@ joinpd1("gsplit-dwarf="),
 jspd1("isystem-after"),
 joinpd1("malign-jumps="),
 joinpd1("malign-loops="),
+joinpd1("mframe-chain="),
 joinpd1("mimplicit-it="),
 .{
     .name = "offload-arch=",
@@ -5720,6 +5939,14 @@ joinpd1("mimplicit-it="),
     .psl = false,
 },
 jspd1("pagezero_size"),
+.{
+    .name = "product-name=",
+    .syntax = .joined,
+    .zig_equivalent = .other,
+    .pd1 = false,
+    .pd2 = true,
+    .psl = false,
+},
 joinpd1("resource-dir="),
 .{
     .name = "dyld-prefix=",
@@ -5741,6 +5968,7 @@ joinpd1("fmax-errors="),
 joinpd1("fmax-tokens="),
 joinpd1("fno-builtin-"),
 joinpd1("fplugin-arg-"),
+joinpd1("ftime-trace="),
 joinpd1("fvisibility="),
 joinpd1("fwchar-type="),
 jspd1("fxray-modes="),
@@ -5946,6 +6174,7 @@ joinpd1("flto-jobs="),
 },
 joinpd1("fuse-cuid="),
 jspd1("iframework"),
+jspd1("module-dir"),
 joinpd1("mtargetos="),
 joinpd1("mtls-size="),
 .{
@@ -6485,6 +6714,14 @@ joinpd1("mtp="),
 },
 joinpd1("gz="),
 joinpd1("A-"),
+.{
+    .name = "Fo",
+    .syntax = .joined_or_separate,
+    .zig_equivalent = .other,
+    .pd1 = true,
+    .pd2 = false,
+    .psl = true,
+},
 joinpd1("G="),
 .{
     .name = "MF",
@@ -6662,6 +6899,14 @@ joinpd1("G="),
     .pd2 = false,
     .psl = true,
 },
+.{
+    .name = "Wv",
+    .syntax = .joined,
+    .zig_equivalent = .other,
+    .pd1 = true,
+    .pd2 = false,
+    .psl = true,
+},
 .{
     .name = "Yc",
     .syntax = .joined,
@@ -6861,6 +7106,14 @@ joinpd1("d"),
     .pd2 = false,
     .psl = false,
 },
+.{
+    .name = "T",
+    .syntax = .joined_or_separate,
+    .zig_equivalent = .linker_script,
+    .pd1 = true,
+    .pd2 = false,
+    .psl = true,
+},
 jspd1("u"),
 jspd1("x"),
 joinpd1("y"),
tools/update_clang_options.zig
@@ -489,6 +489,7 @@ const cpu_targets = struct {
     pub const arm = std.Target.arm;
     pub const avr = std.Target.avr;
     pub const bpf = std.Target.bpf;
+    pub const csky = std.Target.csky;
     pub const hexagon = std.Target.hexagon;
     pub const mips = std.Target.mips;
     pub const msp430 = std.Target.msp430;
@@ -497,7 +498,7 @@ const cpu_targets = struct {
     pub const riscv = std.Target.riscv;
     pub const sparc = std.Target.sparc;
     pub const spirv = std.Target.spirv;
-    pub const systemz = std.Target.systemz;
+    pub const s390x = std.Target.s390x;
     pub const ve = std.Target.ve;
     pub const wasm = std.Target.wasm;
     pub const x86 = std.Target.x86;
@@ -630,7 +631,7 @@ pub fn main() anyerror!void {
                 std.process.exit(1);
             }
         }
-        const syntax = objSyntax(obj);
+        const syntax = objSyntax(obj) orelse continue;
 
         if (std.mem.eql(u8, name, "MT") and syntax == .flag) {
             // `-MT foo` is ambiguous because there is also an -MT flag
@@ -647,9 +648,9 @@ pub fn main() anyerror!void {
                 \\    .name = "{s}",
                 \\    .syntax = {s},
                 \\    .zig_equivalent = .{s},
-                \\    .pd1 = {s},
-                \\    .pd2 = {s},
-                \\    .psl = {s},
+                \\    .pd1 = {any},
+                \\    .pd2 = {any},
+                \\    .psl = {any},
                 \\}},
                 \\
             , .{ name, final_syntax, ident, pd1, pd2, pslash });
@@ -677,9 +678,9 @@ pub fn main() anyerror!void {
                 \\    .name = "{s}",
                 \\    .syntax = {s},
                 \\    .zig_equivalent = .other,
-                \\    .pd1 = {s},
-                \\    .pd2 = {s},
-                \\    .psl = {s},
+                \\    .pd1 = {any},
+                \\    .pd2 = {any},
+                \\    .psl = {any},
                 \\}},
                 \\
             , .{ name, syntax, pd1, pd2, pslash });
@@ -736,7 +737,7 @@ const Syntax = union(enum) {
     }
 };
 
-fn objSyntax(obj: *json.ObjectMap) Syntax {
+fn objSyntax(obj: *json.ObjectMap) ?Syntax {
     const num_args = @intCast(u8, obj.get("NumArgs").?.Integer);
     for (obj.get("!superclasses").?.Array.items) |superclass_json| {
         const superclass = superclass_json.String;
@@ -754,6 +755,10 @@ fn objSyntax(obj: *json.ObjectMap) Syntax {
             return .joined_or_separate;
         } else if (std.mem.eql(u8, superclass, "CLCompileJoinedOrSeparate")) {
             return .joined_or_separate;
+        } else if (std.mem.eql(u8, superclass, "DXCJoinedOrSeparate")) {
+            return .joined_or_separate;
+        } else if (std.mem.eql(u8, superclass, "CLDXCJoinedOrSeparate")) {
+            return .joined_or_separate;
         } else if (std.mem.eql(u8, superclass, "Flag")) {
             return .flag;
         } else if (std.mem.eql(u8, superclass, "CLFlag")) {
@@ -787,7 +792,8 @@ fn objSyntax(obj: *json.ObjectMap) Syntax {
     for (obj.get("!superclasses").?.Array.items) |superclass_json| {
         std.debug.print(" {s}\n", .{superclass_json.String});
     }
-    std.process.exit(1);
+    //std.process.exit(1);
+    return null;
 }
 
 fn syntaxMatchesWithEql(syntax: Syntax) bool {
@@ -810,8 +816,8 @@ fn objectLessThan(context: void, a: *json.ObjectMap, b: *json.ObjectMap) bool {
     _ = context;
     // Priority is determined by exact matches first, followed by prefix matches in descending
     // length, with key as a final tiebreaker.
-    const a_syntax = objSyntax(a);
-    const b_syntax = objSyntax(b);
+    const a_syntax = objSyntax(a) orelse return false;
+    const b_syntax = objSyntax(b) orelse return true;
 
     const a_match_with_eql = syntaxMatchesWithEql(a_syntax);
     const b_match_with_eql = syntaxMatchesWithEql(b_syntax);