diff --git a/src/clang_options_data.zig b/src/clang_options_data.zig index e027d2471ce22ee757eb5c6721b133cbeecaf05e..3829493f5c30d5c621d772a1b3aec3bd640e5741 100644 --- a/src/clang_options_data.zig +++ b/src/clang_options_data.zig @@ -132,6 +132,7 @@ flagpd1("Qy"), flagpd1("WCL4"), flagpd1("Wall"), flagpd1("Wdeprecated"), +flagpd1("Wframe-larger-than"), flagpd1("Wlarge-by-value-copy"), flagpd1("Wno-deprecated"), flagpd1("Wno-rewrite-macros"), @@ -145,6 +146,7 @@ sepd1("Xassembler"), sepd1("Xclang"), sepd1("Xcuda-fatbinary"), sepd1("Xcuda-ptxas"), +sepd1("Xflang"), .{ .name = "Xlinker", .syntax = .separate, @@ -1186,7 +1188,7 @@ flagpsl("MT"), .psl = true, }, .{ - .name = "fallback", + .name = "exportHeader", .syntax = .flag, .zig_equivalent = .other, .pd1 = true, @@ -1233,6 +1235,14 @@ flagpsl("MT"), .pd2 = false, .psl = true, }, +.{ + .name = "fsanitize=address", + .syntax = .flag, + .zig_equivalent = .other, + .pd1 = true, + .pd2 = false, + .psl = true, +}, .{ .name = "help", .syntax = .flag, @@ -1305,6 +1315,14 @@ flagpsl("MT"), .pd2 = false, .psl = true, }, +.{ + .name = "permissive", + .syntax = .flag, + .zig_equivalent = .other, + .pd1 = true, + .pd2 = false, + .psl = true, +}, .{ .name = "permissive-", .syntax = .flag, @@ -1361,6 +1379,14 @@ flagpsl("MT"), .pd2 = false, .psl = true, }, +.{ + .name = "translateInclude", + .syntax = .flag, + .zig_equivalent = .other, + .pd1 = true, + .pd2 = false, + .psl = true, +}, .{ .name = "u", .syntax = .flag, @@ -2071,6 +2097,28 @@ flagpd1("analyzer-viz-egraph-graphviz"), flagpd1("analyzer-werror"), flagpd1("fslp-vectorize-aggressive"), flagpd1("fno-slp-vectorize-aggressive"), +flagpd1("grecord-gcc-switches"), +flagpd1("gno-record-gcc-switches"), +flagpd1("nocudainc"), +flagpd1("nocudalib"), +.{ + .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, +}, +flagpd1("integrated-as"), +flagpd1("no-integrated-as"), flagpd1("shared-libasan"), .{ .name = "Gs", @@ -2202,6 +2250,7 @@ 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("fcuda-rdc"), @@ -2216,28 +2265,6 @@ 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("nocudainc"), -flagpd1("nocudalib"), -.{ - .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, -}, -flagpd1("integrated-as"), -flagpd1("no-integrated-as"), .{ .name = "ansi", .syntax = .flag, @@ -2295,6 +2322,7 @@ 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"), @@ -2429,6 +2457,7 @@ flagpd1("dynamic"), .pd2 = false, .psl = false, }, +flagpd1("ehcontguard"), flagpd1("emit-ast"), flagpd1("emit-codegen-only"), flagpd1("emit-header-module"), @@ -2458,6 +2487,7 @@ flagpd1("emit-pch"), .pd2 = true, .psl = false, }, +flagpd1("enable-noundef-analysis"), flagpd1("enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang"), sepd1("error-on-deserialized-decl"), sepd1("exception-model"), @@ -2491,10 +2521,13 @@ flagpd1("faligned-allocation"), flagpd1("fall-intrinsics"), flagpd1("fallow-editor-placeholders"), flagpd1("fallow-half-arguments-and-returns"), +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("fkeep-inline-functions"), flagpd1("fansi-escape-codes"), flagpd1("fapple-kext"), @@ -2510,6 +2543,7 @@ flagpd1("fassume-sane-operator-new"), flagpd1("fast"), flagpd1("fastcp"), flagpd1("fastf"), +flagpd1("fasync-exceptions"), flagpd1("fasynchronous-unwind-tables"), flagpd1("fauto-profile"), flagpd1("fauto-profile-accurate"), @@ -2570,13 +2604,25 @@ flagpd1("fd-lines-as-code"), flagpd1("fd-lines-as-comments"), flagpd1("fdata-sections"), 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-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-symbols"), flagpd1("fdebugger-cast-result-to-id"), flagpd1("fdebugger-objc-literal"), flagpd1("fdebugger-support"), @@ -2613,6 +2659,8 @@ 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"), @@ -2647,6 +2695,21 @@ 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-point"), flagpd1("ffixed-r19"), @@ -2693,11 +2756,27 @@ flagpd1("ffreestanding"), flagpd1("ffriend-injection"), flagpd1("ffrontend-optimize"), flagpd1("ffunction-attribute-list"), -flagpd1("ffunction-sections"), +.{ + .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"), @@ -2707,10 +2786,13 @@ flagpd1("fgnu-runtime"), flagpd1("fgpu-allow-device-init"), 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("fhip-dump-offload-linker-script"), +flagpd1("fhip-fp32-correctly-rounded-divide-sqrt"), flagpd1("fhip-new-launch-api"), flagpd1("fhonor-infinities"), flagpd1("fhonor-nans"), @@ -2736,7 +2818,7 @@ flagpd1("finstrument-functions-after-inlining"), flagpd1("finteger-4-integer-8"), flagpd1("fintegrated-as"), flagpd1("fintegrated-cc1"), -flagpd1("fintrinsic-modules-path"), +sepd1("fintrinsic-modules-path"), flagpd1("fipa-cp"), flagpd1("fivopts"), flagpd1("fix-only-warnings"), @@ -2746,10 +2828,12 @@ flagpd1("fixit-recompile"), flagpd1("fixit-to-temporary"), flagpd1("fjump-tables"), flagpd1("fkeep-static-consts"), +flagpd1("flarge-sizes"), flagpd1("flat_namespace"), flagpd1("flax-vector-conversions"), flagpd1("flegacy-pass-manager"), flagpd1("flimit-debug-info"), +flagpd1("flogical-abbreviations"), .{ .name = "flto", .syntax = .flag, @@ -2758,6 +2842,8 @@ flagpd1("flimit-debug-info"), .pd2 = false, .psl = false, }, +flagpd1("flto=auto"), +flagpd1("flto=jobserver"), flagpd1("flto-unit"), flagpd1("flto-visibility-public-std"), sepd1("fmacro-backtrace-limit"), @@ -2772,7 +2858,6 @@ flagpd1("fmodule-file-deps"), sepd1("fmodule-implementation-of"), flagpd1("fmodule-map-file-home-is-cwd"), flagpd1("fmodule-maps"), -sepd1("fmodule-name"), flagpd1("fmodule-private"), flagpd1("fmodules"), flagpd1("fmodules-codegen"), @@ -2829,6 +2914,7 @@ flagpd1("fno-aligned-allocation"), flagpd1("fno-all-intrinsics"), flagpd1("fno-allow-editor-placeholders"), flagpd1("fno-altivec"), +flagpd1("fno-analyzed-objects-for-unparse"), flagpd1("fno-keep-inline-functions"), flagpd1("fno-apple-pragma-pack"), flagpd1("fno-application-extension"), @@ -2836,6 +2922,7 @@ flagpd1("fno-asm"), flagpd1("fno-asm-blocks"), flagpd1("fno-associative-math"), flagpd1("fno-assume-sane-operator-new"), +flagpd1("fno-async-exceptions"), flagpd1("fno-asynchronous-unwind-tables"), flagpd1("fno-auto-profile"), flagpd1("fno-auto-profile-accurate"), @@ -2879,10 +2966,7 @@ flagpd1("fno-debug-pass-manager"), flagpd1("fno-debug-ranges-base-address"), flagpd1("fno-debug-types-section"), flagpd1("fno-declspec"), -flagpd1("fno-default-double-8"), flagpd1("fno-default-inline"), -flagpd1("fno-default-integer-8"), -flagpd1("fno-default-real-8"), flagpd1("fno-delayed-template-parsing"), flagpd1("fno-delete-null-pointer-checks"), flagpd1("fno-deprecated-macro"), @@ -2925,18 +3009,23 @@ flagpd1("fno-fine-grained-bitfield-accesses"), flagpd1("fno-finite-loops"), flagpd1("fno-finite-math-only"), flagpd1("fno-inline-limit"), -flagpd1("fno-fixed-form"), 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-free-form"), flagpd1("fno-friend-injection"), flagpd1("fno-frontend-optimize"), flagpd1("fno-function-attribute-list"), -flagpd1("fno-function-sections"), +.{ + .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"), @@ -2949,7 +3038,10 @@ flagpd1("fno-gnu-keywords"), flagpd1("fno-gpu-allow-device-init"), 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-fp32-correctly-rounded-divide-sqrt"), flagpd1("fno-hip-new-launch-api"), flagpd1("fno-honor-infinities"), flagpd1("fno-honor-nans"), @@ -2966,7 +3058,6 @@ flagpd1("fno-inline-small-functions"), flagpd1("fno-integer-4-integer-8"), flagpd1("fno-integrated-as"), flagpd1("fno-integrated-cc1"), -flagpd1("fno-intrinsic-modules-path"), flagpd1("fno-ipa-cp"), flagpd1("fno-ivopts"), flagpd1("fno-jump-tables"), @@ -2974,6 +3065,7 @@ flagpd1("fno-keep-static-consts"), flagpd1("fno-lax-vector-conversions"), flagpd1("fno-legacy-pass-manager"), flagpd1("fno-limit-debug-info"), +flagpd1("fno-logical-abbreviations"), .{ .name = "fno-lto", .syntax = .flag, @@ -3009,11 +3101,13 @@ flagpd1("fno-non-call-exceptions"), flagpd1("fno-objc-arc"), flagpd1("fno-objc-arc-exceptions"), 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-lto"), .{ .name = "fno-omit-frame-pointer", .syntax = .flag, @@ -3025,9 +3119,9 @@ flagpd1("fno-objc-weak"), flagpd1("fno-openmp"), flagpd1("fno-openmp-cuda-force-full-runtime"), flagpd1("fno-openmp-cuda-mode"), -flagpd1("fno-openmp-cuda-parallel-target-regions"), flagpd1("fno-openmp-optimistic-collapse"), flagpd1("fno-openmp-simd"), +flagpd1("fno-openmp-target-new-runtime"), flagpd1("fno-operator-names"), flagpd1("fno-optimize-sibling-calls"), flagpd1("fno-pack-derived"), @@ -3105,12 +3199,14 @@ flagpd1("fno-rtlib-add-rpath"), flagpd1("fno-rtti"), flagpd1("fno-rtti-data"), flagpd1("fno-rwpi"), +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-blacklist"), 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-track-origins"), @@ -3147,6 +3243,7 @@ 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"), flagpd1("fno-stack-check"), flagpd1("fno-stack-clash-protection"), @@ -3193,6 +3290,7 @@ flagpd1("fno-unswitch-loops"), .pd2 = false, .psl = false, }, +flagpd1("fno-use-ctor-homing"), flagpd1("fno-use-cxa-atexit"), flagpd1("fno-use-init-array"), flagpd1("fno-use-line-directives"), @@ -3205,6 +3303,7 @@ flagpd1("fno-vectorize"), flagpd1("fno-verbose-asm"), 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"), @@ -3214,6 +3313,7 @@ flagpd1("fno-whole-program-vtables"), flagpd1("fno-working-directory"), flagpd1("fno-wrapv"), 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"), @@ -3230,6 +3330,8 @@ flagpd1("fobjc-arc-exceptions"), flagpd1("fobjc-atdefs"), 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"), @@ -3242,6 +3344,7 @@ flagpd1("fobjc-runtime-has-weak"), flagpd1("fobjc-sender-dependent-dispatch"), flagpd1("fobjc-subscripting-legacy-runtime"), flagpd1("fobjc-weak"), +flagpd1("foffload-lto"), .{ .name = "fomit-frame-pointer", .syntax = .flag, @@ -3250,18 +3353,20 @@ flagpd1("fobjc-weak"), .pd2 = false, .psl = false, }, +flagpd1("fopenacc"), flagpd1("fopenmp"), flagpd1("fopenmp-cuda-force-full-runtime"), flagpd1("fopenmp-cuda-mode"), -flagpd1("fopenmp-cuda-parallel-target-regions"), flagpd1("fopenmp-enable-irbuilder"), sepd1("fopenmp-host-ir-file-path"), flagpd1("fopenmp-is-device"), flagpd1("fopenmp-optimistic-collapse"), flagpd1("fopenmp-relocatable-target"), flagpd1("fopenmp-simd"), +flagpd1("fopenmp-target-new-runtime"), flagpd1("fopenmp-use-tls"), sepd1("foperator-arrow-depth"), +flagpd1("foperator-names"), flagpd1("foptimize-sibling-calls"), flagpd1("force_cpusubtype_ALL"), flagpd1("force_flat_namespace"), @@ -3310,7 +3415,6 @@ flagpd1("fprofile-generate"), flagpd1("fprofile-generate-sampling"), flagpd1("fprofile-instr-generate"), flagpd1("fprofile-instr-use"), -sepd1("fprofile-remapping-file"), flagpd1("fprofile-reusedist"), flagpd1("fprofile-sample-accurate"), flagpd1("fprofile-sample-use"), @@ -3350,7 +3454,6 @@ flagpd1("freroll-loops"), flagpd1("fretain-comments-from-system-headers"), flagpd1("frewrite-imports"), flagpd1("frewrite-includes"), -sepd1("frewrite-map-file"), flagpd1("fripa"), flagpd1("fropi"), flagpd1("frounding-math"), @@ -3359,6 +3462,7 @@ flagpd1("frtti"), flagpd1("frtti-data"), flagpd1("frwpi"), 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"), @@ -3378,6 +3482,7 @@ flagpd1("fsanitize-coverage-trace-div"), flagpd1("fsanitize-coverage-trace-gep"), flagpd1("fsanitize-coverage-trace-pc"), flagpd1("fsanitize-coverage-trace-pc-guard"), +flagpd1("fsanitize-hwaddress-experimental-aliasing"), flagpd1("fsanitize-link-c++-runtime"), flagpd1("fsanitize-link-runtime"), flagpd1("fsanitize-memory-track-origins"), @@ -3400,6 +3505,7 @@ flagpd1("fsemantic-interposition"), flagpd1("fshort-enums"), flagpd1("fshort-wchar"), flagpd1("fshow-column"), +flagpd1("fshow-skipped-includes"), flagpd1("fshow-source-location"), flagpd1("fsign-zero"), flagpd1("fsignaling-math"), @@ -3426,6 +3532,7 @@ flagpd1("fstack-protector"), flagpd1("fstack-protector-all"), flagpd1("fstack-protector-strong"), flagpd1("fstack-size-section"), +flagpd1("fstack-usage"), flagpd1("fstandalone-debug"), flagpd1("fstrength-reduce"), flagpd1("fstrict-aliasing"), @@ -3437,6 +3544,7 @@ flagpd1("fstrict-vtable-pointers"), flagpd1("fstruct-path-tbaa"), flagpd1("fsycl"), flagpd1("fsycl-is-device"), +flagpd1("fsycl-is-host"), flagpd1("fsyntax-only"), flagpd1("fsystem-module"), sepd1("ftabstop"), @@ -3491,6 +3599,7 @@ flagpd1("fvariable-expansion-in-unroller"), flagpd1("fvect-cost-model"), flagpd1("fvectorize"), flagpd1("fverbose-asm"), +flagpd1("fverify-debuginfo-preserve"), flagpd1("fvirtual-function-elimination"), sepd1("fvisibility"), flagpd1("fvisibility-from-dllstorageclass"), @@ -3506,6 +3615,7 @@ flagpd1("fwhole-program-vtables"), flagpd1("fwrapv"), flagpd1("fwritable-strings"), flagpd1("fxl-pragma-pack"), +flagpd1("fxor-operator"), flagpd1("fxray-always-emit-customevents"), flagpd1("fxray-always-emit-typedevents"), flagpd1("fxray-function-index"), @@ -3537,6 +3647,7 @@ sepd1("gcc-toolchain"), flagpd1("gcodeview"), flagpd1("gcodeview-ghash"), flagpd1("gcolumn-info"), +flagpd1("gdbx"), flagpd1("gdwarf"), flagpd1("gdwarf32"), flagpd1("gdwarf64"), @@ -3577,6 +3688,14 @@ flagpd1("gno-pubnames"), flagpd1("gno-record-command-line"), flagpd1("gno-split-dwarf"), flagpd1("gno-strict-dwarf"), +.{ + .name = "gpu-bundle-output", + .syntax = .flag, + .zig_equivalent = .other, + .pd1 = false, + .pd2 = true, + .psl = false, +}, .{ .name = "gpu-use-aux-triple-only", .syntax = .flag, @@ -3627,6 +3746,12 @@ flagpd1("m32"), flagpd1("m3dnow"), flagpd1("m3dnowa"), flagpd1("m64"), +flagpd1("m68000"), +flagpd1("m68010"), +flagpd1("m68020"), +flagpd1("m68030"), +flagpd1("m68040"), +flagpd1("m68060"), flagpd1("m80387"), flagpd1("mseses"), flagpd1("mabi=ieeelongdouble"), @@ -3639,6 +3764,7 @@ sepd1("main-file-name"), flagpd1("maix-struct-return"), flagpd1("malign-double"), flagpd1("maltivec"), +flagpd1("mamdgpu-ieee"), flagpd1("mamx-bf16"), flagpd1("mamx-tile"), flagpd1("marm"), @@ -3804,6 +3930,7 @@ flagpd1("mno-abicalls"), flagpd1("mno-adx"), flagpd1("mno-aes"), flagpd1("mno-altivec"), +flagpd1("mno-amdgpu-ieee"), flagpd1("mno-amx-bf16"), flagpd1("mno-amx-int8"), flagpd1("mno-amx-tile"), @@ -3915,7 +4042,6 @@ flagpd1("mno-pascal-strings"), flagpd1("mno-pclmul"), flagpd1("mno-pconfig"), flagpd1("mno-pcrel"), -flagpd1("mno-pie-copy-relocations"), flagpd1("mno-pku"), flagpd1("mno-popcnt"), flagpd1("mno-popcntd"), @@ -3923,6 +4049,7 @@ flagpd1("mno-power10-vector"), flagpd1("mno-power8-vector"), flagpd1("mno-power9-vector"), flagpd1("mno-prefetchwt1"), +flagpd1("mno-prefixed"), flagpd1("mno-prfchw"), flagpd1("mno-ptwrite"), flagpd1("mno-pure-code"), @@ -3970,12 +4097,12 @@ flagpd1("mno-stack-arg-probe"), flagpd1("mno-stackrealign"), flagpd1("mno-tail-call"), flagpd1("mno-tbm"), +flagpd1("mno-tgsplit"), flagpd1("mno-thumb"), flagpd1("mno-tls-direct-seg-refs"), flagpd1("mno-tsxldtrk"), flagpd1("mno-uintr"), flagpd1("mno-unaligned-access"), -flagpd1("mno-unimplemented-simd128"), flagpd1("mno-unsafe-fp-atomics"), flagpd1("mno-vaes"), flagpd1("mno-virt"), @@ -4006,8 +4133,10 @@ flagpd1("mnvj"), flagpd1("mnvs"), flagpd1("modd-spreg"), sepd1("module-dependency-dir"), +sepd1("module-dir"), flagpd1("module-file-deps"), flagpd1("module-file-info"), +sepd1("module-suffix"), flagpd1("momit-leaf-frame-pointer"), flagpd1("moutline"), flagpd1("moutline-atomics"), @@ -4018,7 +4147,6 @@ flagpd1("mpascal-strings"), flagpd1("mpclmul"), flagpd1("mpconfig"), flagpd1("mpcrel"), -flagpd1("mpie-copy-relocations"), flagpd1("mpku"), flagpd1("mpopcnt"), flagpd1("mpopcntd"), @@ -4027,7 +4155,9 @@ flagpd1("mcrypto"), flagpd1("mpower8-vector"), flagpd1("mpower9-vector"), flagpd1("mprefetchwt1"), +flagpd1("mprefixed"), flagpd1("mprfchw"), +flagpd1("mprivileged"), flagpd1("mptwrite"), flagpd1("mpure-code"), flagpd1("mqdsp6-compat"), @@ -4062,6 +4192,7 @@ sepd1("mrelocation-model"), flagpd1("mrestrict-it"), flagpd1("mretpoline"), flagpd1("mretpoline-external-thunk"), +flagpd1("mrop-protect"), flagpd1("mrtd"), flagpd1("mrtm"), flagpd1("msahf"), @@ -4096,6 +4227,7 @@ sepd1("mt-migrate-directory"), flagpd1("mtail-call"), flagpd1("mamx-int8"), flagpd1("mtbm"), +flagpd1("mtgsplit"), sepd1("mthread-model"), flagpd1("mthumb"), flagpd1("mtls-direct-seg-refs"), @@ -4108,7 +4240,6 @@ flagpd1("multi_module"), sepd1("multiply_defined"), sepd1("multiply_defined_unused"), flagpd1("munaligned-access"), -flagpd1("munimplemented-simd128"), flagpd1("munsafe-fp-atomics"), flagpd1("munwind-tables"), flagpd1("mv5"), @@ -4119,6 +4250,7 @@ flagpd1("mv65"), flagpd1("mv66"), flagpd1("mv67"), flagpd1("mv67t"), +flagpd1("mv68"), flagpd1("mvaes"), flagpd1("mvirt"), flagpd1("mvpclmulqdq"), @@ -4163,6 +4295,14 @@ flagpd1("no-cpp-precomp"), .psl = false, }, flagpd1("no-emit-llvm-uselists"), +.{ + .name = "no-gpu-bundle-output", + .syntax = .flag, + .zig_equivalent = .other, + .pd1 = false, + .pd2 = true, + .psl = false, +}, flagpd1("no-implicit-float"), .{ .name = "no-integrated-cpp", @@ -4189,6 +4329,7 @@ flagpd1("no-implicit-float"), .psl = false, }, flagpd1("no-pthread"), +flagpd1("no-round-trip-args"), flagpd1("no-struct-path-tbaa"), flagpd1("nobuiltininc"), flagpd1("nocpp"), @@ -4370,6 +4511,14 @@ flagpd1("print-ivar-layout"), .pd2 = true, .psl = false, }, +.{ + .name = "print-multiarch", + .syntax = .flag, + .zig_equivalent = .other, + .pd1 = true, + .pd2 = true, + .psl = false, +}, flagpd1("print-preamble"), .{ .name = "print-resource-dir", @@ -4379,6 +4528,22 @@ flagpd1("print-preamble"), .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, @@ -4442,6 +4607,7 @@ flagpd1("rewrite-legacy-objc"), flagpd1("rewrite-macros"), flagpd1("rewrite-objc"), flagpd1("rewrite-test"), +flagpd1("round-trip-args"), sepd1("rpath"), .{ .name = "s", @@ -4560,9 +4726,9 @@ flagpd1("single_module"), }, sepd1("split-dwarf-file"), sepd1("split-dwarf-output"), -flagpd1("split-stacks"), sepd1("stack-protector"), sepd1("stack-protector-buffer-size"), +sepd1("stack-usage-file"), .{ .name = "static", .syntax = .flag, @@ -4662,6 +4828,7 @@ sepd1("weak_framework"), sepd1("weak_library"), sepd1("weak_reference_mismatches"), flagpd1("whatsloaded"), +flagpd1("why_load"), flagpd1("whyload"), .{ .name = "z", @@ -4675,30 +4842,66 @@ joinpd1("fsanitize-undefined-strip-path-components="), joinpd1("fopenmp-cuda-teams-reduction-recs-num="), joinpd1("fvisibility-externs-nodllstorageclass="), joinpd1("analyzer-config-compatibility-mode="), +joinpd1("fsanitize-address-use-after-return="), +.{ + .name = "fsanitize-address-use-after-return", + .syntax = .joined, + .zig_equivalent = .other, + .pd1 = true, + .pd2 = false, + .psl = true, +}, joinpd1("ftrivial-auto-var-init-stop-after="), +joinpd1("fverify-debuginfo-preserve-export="), joinpd1("fpatchable-function-entry-offset="), joinpd1("analyzer-inline-max-stack-depth="), joinpd1("fsanitize-address-field-padding="), +.{ + .name = "fno-sanitize-address-vcasan-lib", + .syntax = .joined, + .zig_equivalent = .other, + .pd1 = true, + .pd2 = false, + .psl = true, +}, joinpd1("fdiagnostics-hotness-threshold="), joinpd1("fsanitize-memory-track-origins="), joinpd1("mwatchos-simulator-version-min="), +joinpd1("fsanitize-coverage-ignorelist="), joinpd1("fvisibility-externs-dllimport="), joinpd1("fvisibility-nodllstorageclass="), joinpd1("fxray-selected-function-group="), joinpd1("mappletvsimulator-version-min="), joinpd1("mstack-protector-guard-offset="), +.{ + .name = "sourceDependencies:directives", + .syntax = .joined_or_separate, + .zig_equivalent = .other, + .pd1 = true, + .pd2 = false, + .psl = true, +}, joinpd1("fsanitize-coverage-whitelist="), joinpd1("fsanitize-coverage-blacklist="), joinpd1("fobjc-nonfragile-abi-version="), joinpd1("fprofile-instrument-use-path="), joinpd1("fsanitize-coverage-allowlist="), -joinpd1("fsanitize-coverage-blocklist="), jspd1("fxray-instrumentation-bundle="), joinpd1("miphonesimulator-version-min="), +joinpd1("fsanitize-address-destructor="), joinpd1("faddress-space-map-mangling="), joinpd1("foptimization-record-passes="), +joinpd1("fsanitize-system-ignorelist="), joinpd1("ftest-module-file-extension="), jspd1("fxray-instruction-threshold="), +.{ + .name = "libomptarget-amdgcn-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="), @@ -4711,12 +4914,12 @@ joinpd1("mwatchsimulator-version-min="), .psl = false, }, joinpd1("objcmt-white-list-dir-path="), +joinpd1("fsanitize-system-blacklist="), joinpd1("error-on-deserialized-decl="), joinpd1("fconstexpr-backtrace-limit="), joinpd1("fdiagnostics-show-category="), joinpd1("fdiagnostics-show-location="), joinpd1("fopenmp-cuda-blocks-per-sm="), -joinpd1("fsanitize-system-blacklist="), jspd1("fxray-instruction-threshold"), joinpd1("headerpad_max_install_names"), .{ @@ -4737,6 +4940,7 @@ joinpd1("mstack-protector-guard-reg="), .pd2 = true, .psl = false, }, +joinpd1("fcoverage-compilation-dir="), joinpd1("fms-compatibility-version="), joinpd1("fopenmp-cuda-number-of-sm="), joinpd1("foptimization-record-file="), @@ -4836,6 +5040,8 @@ joinpd1("Wnonportable-cfstrings"), joinpd1("fbasic-block-sections="), joinpd1("fdefault-calling-conv="), joinpd1("fdenormal-fp-math-f32="), +joinpd1("ffile-compilation-dir="), +joinpd1("fgpu-inline-threshold="), joinpd1("fmax-subrecord-length="), joinpd1("fmodules-ignore-macro="), .{ @@ -4860,6 +5066,7 @@ joinpd1("analyzer-constraints="), joinpd1("analyzer-dump-egraph="), jspd1("compatibility_version"), jspd1("dylinker_install_name"), +joinpd1("fcoverage-prefix-map="), joinpd1("fcs-profile-generate="), joinpd1("fmodules-prune-after="), .{ @@ -4870,6 +5077,7 @@ joinpd1("fmodules-prune-after="), .pd2 = false, .psl = false, }, +joinpd1("fsanitize-ignorelist="), jspd1("iframeworkwithsysroot"), joinpd1("mcode-object-version="), joinpd1("mpad-max-prefix-size="), @@ -4900,6 +5108,8 @@ joinpd1("mwatchos-version-min="), .pd2 = true, .psl = false, }, +joinpd1("faltivec-src-compat="), +joinpd1("fsanitize-blacklist="), .{ .name = "hip-device-lib-path=", .syntax = .joined, @@ -4915,9 +5125,7 @@ joinpd1("fmax-stack-var-size="), joinpd1("fmodules-cache-path="), joinpd1("fmodules-embed-file="), joinpd1("fprofile-instrument="), -joinpd1("fprofile-prefix-map="), joinpd1("fprofile-sample-use="), -joinpd1("fsanitize-blacklist="), joinpd1("mmacosx-version-min="), .{ .name = "no-cuda-include-ptx=", @@ -4932,6 +5140,7 @@ joinpd1("code-completion-at="), joinpd1("coverage-data-file="), joinpd1("fblas-matmul-limit="), joinpd1("fdiagnostics-color="), +joinpd1("ffixed-line-length="), joinpd1("ffixed-line-length-"), joinpd1("flimited-precision="), joinpd1("fprofile-instr-use="), @@ -4964,6 +5173,14 @@ joinpd1("target-sdk-version="), .pd2 = false, .psl = true, }, +.{ + .name = "sourceDependencies", + .syntax = .joined_or_separate, + .zig_equivalent = .other, + .pd1 = true, + .pd2 = false, + .psl = true, +}, .{ .name = "include-directory=", .syntax = .joined, @@ -4994,6 +5211,7 @@ 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="), .{ @@ -5023,6 +5241,14 @@ joinpd1("msmall-data-limit="), joinpd1("mstack-probe-size="), joinpd1("mtvos-version-min="), 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="), @@ -5041,6 +5267,7 @@ joinpd1("ffile-prefix-map="), joinpd1("fmodule-map-file="), joinpd1("fobjc-arc-cxxlib="), joinpd1("fproc-stat-report"), +joinpd1("fwarn-stack-size="), jspd1("iwithprefixbefore"), joinpd1("malign-functions="), joinpd1("mios-version-min="), @@ -5055,6 +5282,22 @@ joinpd1("msve-vector-bits="), .psl = false, }, jspd1("working-directory"), +.{ + .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="), .{ .name = "config-user-dir=", @@ -5198,6 +5441,14 @@ joinpd1("preamble-bytes="), .pd2 = false, .psl = false, }, +.{ + .name = "vctoolsversion", + .syntax = .joined_or_separate, + .zig_equivalent = .other, + .pd1 = true, + .pd2 = false, + .psl = true, +}, .{ .name = "bootclasspath=", .syntax = .joined, @@ -5261,6 +5512,30 @@ 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 = "winsdkversion", + .syntax = .joined_or_separate, + .zig_equivalent = .other, + .pd1 = true, + .pd2 = false, + .psl = true, +}, .{ .name = "define-macro=", .syntax = .joined, @@ -5295,6 +5570,7 @@ joinpd1("fmsc-version="), .pd2 = false, .psl = false, }, +joinpd1("foffload-lto="), joinpd1("fpack-struct="), joinpd1("fpass-plugin="), joinpd1("fprofile-dir="), @@ -5392,6 +5668,14 @@ jspd1("sub_umbrella"), .pd2 = false, .psl = true, }, +.{ + .name = "headerName:", + .syntax = .joined, + .zig_equivalent = .other, + .pd1 = true, + .pd2 = false, + .psl = true, +}, .{ .name = "for-linker=", .syntax = .joined, @@ -5467,6 +5751,22 @@ jspd1("sub_library"), .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, @@ -5475,6 +5775,14 @@ jspd1("sub_library"), .pd2 = false, .psl = true, }, +.{ + .name = "winsysroot", + .syntax = .joined_or_separate, + .zig_equivalent = .other, + .pd1 = true, + .pd2 = false, + .psl = true, +}, .{ .name = "classpath=", .syntax = .joined, @@ -5503,6 +5811,7 @@ joinpd1("flto-jobs="), .pd2 = false, .psl = false, }, +joinpd1("fuse-cuid="), jspd1("iframework"), joinpd1("mtls-size="), .{ @@ -5530,6 +5839,30 @@ joinpd1("segs_read_"), .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, @@ -5566,8 +5899,17 @@ joinpd1("ast-dump="), jspd1("c-isystem"), 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="), joinpd1("sycl-std="), @@ -5731,6 +6073,14 @@ joinpd1("Rpass="), .pd2 = false, .psl = false, }, +.{ + .name = "await:", + .syntax = .joined, + .zig_equivalent = .other, + .pd1 = true, + .pd2 = false, + .psl = true, +}, .{ .name = "clang:", .syntax = .joined, @@ -5858,6 +6208,7 @@ jspd1("Ttext"), .pd2 = true, .psl = false, }, +joinpd1("cuid="), .{ .name = "flto=", .syntax = .joined, diff --git a/src/main.zig b/src/main.zig index 57193022e525a18eb2bc4c5dc6ca8128b3481897..d4c40e60e12c16714a7e1b527341ea780cb4bdd8 100644 --- a/src/main.zig +++ b/src/main.zig @@ -1290,6 +1290,8 @@ fn buildOutputType( .no_red_zone => want_red_zone = false, .omit_frame_pointer => omit_frame_pointer = true, .no_omit_frame_pointer => omit_frame_pointer = false, + .function_sections => function_sections = true, + .no_function_sections => function_sections = false, .unwind_tables => want_unwind_tables = true, .no_unwind_tables => want_unwind_tables = false, .nostdlib => ensure_libc_on_non_freestanding = false, @@ -3821,6 +3823,8 @@ pub const ClangArgIterator = struct { strip, exec_model, emit_llvm, + function_sections, + no_function_sections, }; const Args = struct { diff --git a/tools/update_clang_options.zig b/tools/update_clang_options.zig index 361d28cfa0fafedb9f74be74639187440b673430..f8890f1c0bd16121fac6b9a63352af786efdc828 100644 --- a/tools/update_clang_options.zig +++ b/tools/update_clang_options.zig @@ -308,6 +308,14 @@ const known_options = [_]KnownOpt{ .name = "fno-omit-frame-pointer", .ident = "no_omit_frame_pointer", }, + .{ + .name = "ffunction-sections", + .ident = "function_sections", + }, + .{ + .name = "fno-function-sections", + .ident = "no_function_sections", + }, .{ .name = "MD", .ident = "dep_file",