update clang CLI options to LLVM 15

This commit is contained in:
Andrew Kelley 2022-08-02 19:43:38 -07:00
parent c75226d033
commit d631bfe060
2 changed files with 292 additions and 33 deletions

View file

@ -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"),

View file

@ -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);