From d631bfe0601bbe3b9bfd1ce2c2d0cad90997221f Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Tue, 2 Aug 2022 19:43:38 -0700 Subject: [PATCH] update clang CLI options to LLVM 15 --- src/clang_options_data.zig | 295 ++++++++++++++++++++++++++++++--- tools/update_clang_options.zig | 30 ++-- 2 files changed, 292 insertions(+), 33 deletions(-) diff --git a/src/clang_options_data.zig b/src/clang_options_data.zig index d4320b1619..2699a9bf3b 100644 --- a/src/clang_options_data.zig +++ b/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"), diff --git a/tools/update_clang_options.zig b/tools/update_clang_options.zig index 2c13f1082b..32bb436ca3 100644 --- a/tools/update_clang_options.zig +++ b/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);