CI: fix clang -Werror on unknown flag and MSVC fopen warning run 25611531122 surfaced two failures: - Stock Ubuntu clang errored on `-Wno-pre-c11-compat` (added in newer clang). Add `-Wno-unknown-warning-option` so older clang silently ignores warning flags it doesn't know. - MSVC /W4 /WX failed on C4996 (fopen deprecation). Define `_CRT_SECURE_NO_WARNINGS` for the v3 C MSVC build; the parser uses fopen by design and v1 already takes the same approach. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ac27497..3accbee 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml
@@ -378,7 +378,8 @@ clang -I../ -std=c11 -g -O0 -Werror -Weverything \ -Wno-padded -Wno-unsafe-buffer-usage -Wno-switch-default \ -Wno-format-nonliteral -Wno-float-equal -Wno-cast-align \ - -Wno-declaration-after-statement -Wno-pre-c11-compat \ + -Wno-declaration-after-statement -Wno-unknown-warning-option \ + -Wno-pre-c11-compat \ -DTINYGLTF3_ENABLE_FS \ -o tester_v3_c tester_v3_c.c ../tiny_gltf_v3.c @@ -388,7 +389,8 @@ clang -I../ -std=c11 -g -O0 -Werror -Weverything \ -Wno-padded -Wno-unsafe-buffer-usage -Wno-switch-default \ -Wno-format-nonliteral -Wno-float-equal -Wno-cast-align \ - -Wno-declaration-after-statement -Wno-pre-c11-compat \ + -Wno-declaration-after-statement -Wno-unknown-warning-option \ + -Wno-pre-c11-compat \ -DTINYGLTF3_ENABLE_FS \ -o tester_v3_c_v1port tester_v3_c_v1port.c ../tiny_gltf_v3.c @@ -422,7 +424,8 @@ clang-21 -I../ -std=c11 -g -O0 -Werror -Weverything \ -Wno-padded -Wno-unsafe-buffer-usage -Wno-switch-default \ -Wno-format-nonliteral -Wno-float-equal -Wno-cast-align \ - -Wno-declaration-after-statement -Wno-pre-c11-compat \ + -Wno-declaration-after-statement -Wno-unknown-warning-option \ + -Wno-pre-c11-compat \ -DTINYGLTF3_ENABLE_FS \ -o tester_v3_c tester_v3_c.c ../tiny_gltf_v3.c @@ -432,7 +435,8 @@ clang-21 -I../ -std=c11 -g -O0 -Werror -Weverything \ -Wno-padded -Wno-unsafe-buffer-usage -Wno-switch-default \ -Wno-format-nonliteral -Wno-float-equal -Wno-cast-align \ - -Wno-declaration-after-statement -Wno-pre-c11-compat \ + -Wno-declaration-after-statement -Wno-unknown-warning-option \ + -Wno-pre-c11-compat \ -DTINYGLTF3_ENABLE_FS \ -o tester_v3_c_v1port tester_v3_c_v1port.c ../tiny_gltf_v3.c @@ -459,7 +463,7 @@ run: | call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" cd tests - cl /nologo /W4 /WX /std:c11 /Zi /Od /DTINYGLTF3_ENABLE_FS /I.. tester_v3_c.c ..\tiny_gltf_v3.c /Fe:tester_v3_c.exe + cl /nologo /W4 /WX /std:c11 /Zi /Od /D_CRT_SECURE_NO_WARNINGS /DTINYGLTF3_ENABLE_FS /I.. tester_v3_c.c ..\tiny_gltf_v3.c /Fe:tester_v3_c.exe tester_v3_c.exe - name: Build and run tester_v3_c_v1port @@ -467,7 +471,7 @@ run: | call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" cd tests - cl /nologo /W4 /WX /std:c11 /Zi /Od /DTINYGLTF3_ENABLE_FS /I.. tester_v3_c_v1port.c ..\tiny_gltf_v3.c /Fe:tester_v3_c_v1port.exe + cl /nologo /W4 /WX /std:c11 /Zi /Od /D_CRT_SECURE_NO_WARNINGS /DTINYGLTF3_ENABLE_FS /I.. tester_v3_c_v1port.c ..\tiny_gltf_v3.c /Fe:tester_v3_c_v1port.exe tester_v3_c_v1port.exe # v3 C runtime under ASan + UBSan for memory-safety + UB checks.