vezel-dev / zig-sdk

An MSBuild SDK for building Zig, C, and C++ projects using the Zig compiler.

Home Page:https://docs.vezel.dev/zig-sdk

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Review new Zig and Clang command line flags that may need to be supported

alexrp opened this issue · comments

Since we skipped over Zig 0.10.0 and 0.10.1, we've now jumped from Clang 13 to 16. There are likely some command line flags added between these versions that we will want to support. Similarly for zig build-lib/zig build-exe.

  • --image-base (#103)
  • --dynamicbase (#104)
  • --stack (#102)
  • --allow-shlib-undefined (#80)
  • --subsystem (#43)

Just need to review changes to warning flags in Clang now.

  • -Warray-parameter is new in Clang 15. Off by default. Grouped under -Wmost and by extension -Wall. No action.
  • -Wcast-function-type-strict is new in Clang 16. Off by default. Grouped under -Wcast-function-type and by extension -Wextra. No action.
  • -Wdeprecated-literal-operator is new in Clang 17. Off by default. Grouped under -Wdeprecated. No action.
  • -Wdeprecated-non-prototype is new in Clang 15. On by default. Grouped under -Wstrict-prototypes. No action.
  • -Wdeprecated-redundant-constexpr-static-def is new in Clang 17. Off by default. Grouped under -Wdeprecated. No action.
  • -Wgnu-line-marker is new in Clang 15. Off by default. Grouped under -Wgnu. No action.
  • -Wincompatible-function-pointer-types-strict is new in Clang 16. Off by default. We should enable it at level 4 and above.
  • -Winvalid-utf8 is new in Clang 15. Off by default. We should enable it at level 1 and above.
  • -Wsingle-bit-bitfield-constant-conversion is new in Clang 16. On by default. Grouped under -Wbitfield-constant-conversion. No action.
  • -Wunreachable-code-generic-assoc is new in Clang 15. On by default. Grouped under -Wunreachable-code. No action.
  • -Wunsafe-buffer-usage is new in Clang 17. Off by default. We should enable it under a new BufferAnalysis property.