diff --git a/.github/configs b/.github/configs index 0a1480d5e..90401c9dd 100755 --- a/.github/configs +++ b/.github/configs @@ -29,6 +29,19 @@ case "$config" in LIBCRYPTOFLAGS="--without-openssl" TEST_TARGET=t-exec ;; + clang-12-Werror) + CC="clang-12" + # clang's implicit-fallthrough requires that the code be annotated with + # __attribute__((fallthrough)) and does not understand /* FALLTHROUGH */ + CFLAGS="-Wall -Wextra -O2 -Wno-error=implicit-fallthrough" + CONFIGFLAGS="--with-pam --with-Werror" + ;; + gcc-11-Werror) + CC="gcc" + # -Wnoformat-truncation in gcc 7.3.1 20180130 fails on fmt_scaled + CFLAGS="-Wall -Wextra -Wno-format-truncation -O2 -Wimplicit-fallthrough=4" + CONFIGFLAGS="--with-pam --with-Werror" + ;; clang*|gcc*) CC="$config" ;; diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 530922f80..f3f897dcc 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -29,11 +29,11 @@ jobs: - { os: ubuntu-20.04, configs: clang-9 } - { os: ubuntu-20.04, configs: clang-10 } - { os: ubuntu-20.04, configs: clang-11 } - - { os: ubuntu-20.04, configs: clang-12 } + - { os: ubuntu-20.04, configs: clang-12-Werror } - { os: ubuntu-20.04, configs: gcc-7 } - { os: ubuntu-20.04, configs: gcc-8 } - { os: ubuntu-20.04, configs: gcc-10 } - - { os: ubuntu-20.04, configs: gcc-11 } + - { os: ubuntu-20.04, configs: gcc-11-Werror } - { os: ubuntu-20.04, configs: pam } - { os: ubuntu-20.04, configs: kitchensink } - { os: ubuntu-20.04, configs: hardenedmalloc }