cmake: silence silly Apple clang warnings in C89 mode, test in CI
No binary (build failed)
—
(log yok)
| @@ -185,12 +185,12 @@ jobs: | |
| tflags: '--min=910 951 to 9999' | |
| generate: -DENABLE_DEBUG=ON -DENABLE_THREADED_RESOLVER=OFF | |
| - | - name: 'openssl intel' |
| + | - name: 'openssl intel C89' |
| install_packages: libssh-dev | |
| install_steps: pytest | |
| configure: CFLAGS=-std=gnu89 --with-openssl --with-libssh --enable-debug | |
| - | - name: 'openssl arm' |
| + | - name: 'openssl arm C89' |
| image: ubuntu-24.04-arm | |
| install_steps: pytest | |
| configure: CFLAGS=-std=gnu89 --with-openssl --enable-debug --disable-verbose | |
| @@ -257,11 +257,11 @@ jobs: | |
| install: libressl | |
| install_steps: pytest | |
| generate: -DENABLE_DEBUG=ON -DOPENSSL_ROOT_DIR=/opt/homebrew/opt/libressl -DCURL_DISABLE_LDAP=ON -DCURL_BROTLI=OFF -DCURL_ZSTD=OFF -DCURL_USE_LIBSSH2=OFF | |
| - | - name: 'OpenSSL 10.15' |
| + | - name: 'OpenSSL 10.15 C89' |
| compiler: clang | |
| install: libnghttp3 libngtcp2 | |
| install_steps: pytest | |
| - | generate: -DENABLE_DEBUG=ON -DOPENSSL_ROOT_DIR=/opt/homebrew/opt/openssl -DUSE_NGTCP2=ON -DCURL_BROTLI=OFF -DCURL_ZSTD=OFF -DCURL_USE_LIBSSH2=OFF |
| + | generate: -DENABLE_DEBUG=ON -DOPENSSL_ROOT_DIR=/opt/homebrew/opt/openssl -DUSE_NGTCP2=ON -DCURL_BROTLI=OFF -DCURL_ZSTD=OFF -DCURL_USE_LIBSSH2=OFF -DCMAKE_C_STANDARD=90 |
| macos-version-min: '10.15' | |
| - name: 'OpenSSL SecTrust' | |
| compiler: clang | |
| @@ -435,6 +435,15 @@ if(CMAKE_C_COMPILER_ID STREQUAL "Clang" AND MSVC) | |
| endforeach() | |
| endif() | |
| + | if(CMAKE_C_STANDARD STREQUAL 90 AND CMAKE_C_COMPILER_ID STREQUAL "AppleClang") |
| + | if(CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 4.2) |
| + | list(APPEND _picky "-Wno-c99-extensions") # Avoid: warning: '_Bool' is a C99 extension |
| + | endif() |
| + | if(CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 8.1) |
| + | list(APPEND _picky "-Wno-comma") # Just silly |
| + | endif() |
| + | endif() |
| + | |
| if(DOS AND CMAKE_C_COMPILER_ID STREQUAL "GNU" AND CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 10.0) | |
| list(APPEND _picky "-Wno-arith-conversion") # Avoid warnings in DJGPP's built-in FD_SET() macro | |
| endif() | |
| @@ -132,6 +132,9 @@ endif() | |
| if(CMAKE_CROSSCOMPILING) | |
| string(APPEND _target_flags " CROSS") | |
| endif() | |
| + | if(CMAKE_C_STANDARD) |
| + | string(APPEND _target_flags " C${CMAKE_C_STANDARD}") |
| + | endif() |
| message(STATUS "CMake platform flags:${_target_flags}") | |
| if(CMAKE_CROSSCOMPILING) | |
| @@ -3058,8 +3058,7 @@ ParameterError parse_args(int argc, argv_item_t argv[]) | |
| ParameterError result = PARAM_OK; | |
| struct OperationConfig *config = global->first; | |
| - | stillflags = TRUE; |
| - | for(i = 1; i < argc && !result; i++) { |
| + | for(i = 1, stillflags = TRUE; i < argc && !result; i++) { |
| orig_opt = convert_tchar_to_UTF8(argv[i]); | |
| if(!orig_opt) | |
| return PARAM_NO_MEM; | |