GHA: enable -Wunused-macros in clang-tidy jobs

Also fix fallouts found.

Windows clang-tidy CI job is a little pickier than I'd prefer due to the
`_CURL_TESTS_CONCAT=ON` option used there, and all macros considered
local, thus checked by the compiler. Upside: it revealed macro usage
dynamics in tests. If too annoying, `first.h` may be opted-out from the
concat logic. Some macros may also be deleted instead of `#if 0`-ing.

Follow-up to e0e56e9ae4 #21550
Follow-up to 5fa5cb3825 #20593

Closes #21554
This commit is contained in:
Viktor Szakats 2026-05-12 02:26:05 +02:00
parent a15483c4ca
commit 47f411c6d8
No known key found for this signature in database
16 changed files with 66 additions and 33 deletions

View file

@ -321,6 +321,7 @@ jobs:
install_steps: skiprun mbedtls-latest-intel rustls wolfssl-opensslextra-intel
install_steps_brew: openssl@4 gsasl
CC: clang-20
CFLAGS: -Wunused-macros
LDFLAGS: >-
-Wl,-rpath,/home/runner/wolfssl-opensslextra/lib
-Wl,-rpath,/home/runner/mbedtls/lib
@ -345,6 +346,7 @@ jobs:
install_steps: skiprun
install_steps_brew: libngtcp2 libnghttp3 c-ares
CC: clang-20
CFLAGS: -Wunused-macros
LDFLAGS: >-
-Wl,-rpath,/home/linuxbrew/.linuxbrew/opt/openssl/lib
-Wl,-rpath,/home/linuxbrew/.linuxbrew/opt/libngtcp2/lib

View file

@ -300,6 +300,7 @@ jobs:
compiler: clang
install: llvm gnutls nettle libressl krb5 mbedtls gsasl rustls-ffi libssh fish
install_steps: skiprun
CFLAGS: -Wunused-macros
chkprefill: _chkprefill
generate: >-
-DCURL_USE_OPENSSL=ON -DOPENSSL_ROOT_DIR=/opt/homebrew/opt/libressl -DCURL_DEFAULT_SSL_BACKEND=openssl
@ -316,6 +317,7 @@ jobs:
compiler: clang
install: llvm libnghttp3 libngtcp2 openldap krb5
install_steps: skipall
CFLAGS: -Wunused-macros
generate: >-
-DCURL_USE_OPENSSL=ON -DOPENSSL_ROOT_DIR=/opt/homebrew/opt/openssl -DUSE_NGTCP2=ON
-DLDAP_INCLUDE_DIR=/opt/homebrew/opt/openldap/include
@ -445,6 +447,7 @@ jobs:
- name: 'configure'
env:
CFLAGS: '${{ matrix.build.CFLAGS }}'
MATRIX_CHKPREFILL: '${{ matrix.build.chkprefill }}'
MATRIX_CONFIGURE: '${{ matrix.build.configure }}'
MATRIX_GENERATE: '${{ matrix.build.generate }}'
@ -479,7 +482,6 @@ jobs:
false
fi
else
export CFLAGS
if [[ "${MATRIX_COMPILER}" = 'llvm'* ]]; then
options+=" --target=$(uname -m)-apple-darwin"
fi

View file

@ -782,7 +782,7 @@ jobs:
include:
- { build: 'autotools', compiler: 'gcc' }
- { build: 'cmake' , compiler: 'gcc' }
- { build: 'cmake' , compiler: 'clang-tidy', install_packages: 'clang-20 clang-tidy-20' }
- { build: 'cmake' , compiler: 'clang-tidy', install_packages: 'clang-20 clang-tidy-20', CFLAGS: '-Wunused-macros' }
steps:
- name: 'install packages'
timeout-minutes: 2
@ -801,6 +801,8 @@ jobs:
run: autoreconf -fi
- name: 'configure'
env:
CFLAGS: '${{ matrix.CFLAGS }}'
run: |
if [ "${MATRIX_BUILD}" = 'cmake' ]; then
if [ "${MATRIX_COMPILER}" = 'clang-tidy' ]; then