mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
patch 8.2.3770: new compiler warnings from clang-12 and clang-13
Problem: New compiler warnings from clang-12 and clang-13. Solution: Adjust CI and suppress some warnings. (Ozaki Kiichi, closes #9314)
This commit is contained in:
parent
4c8c634365
commit
dee78e1ce8
20
.github/workflows/ci.yml
vendored
20
.github/workflows/ci.yml
vendored
@ -75,16 +75,16 @@ jobs:
|
|||||||
libtool-bin \
|
libtool-bin \
|
||||||
libsodium-dev
|
libsodium-dev
|
||||||
|
|
||||||
- name: Install clang-11
|
- name: Install clang-13
|
||||||
if: matrix.compiler == 'clang'
|
if: matrix.compiler == 'clang'
|
||||||
run: |
|
run: |
|
||||||
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
||||||
. /etc/lsb-release
|
. /etc/lsb-release
|
||||||
sudo add-apt-repository -y "deb http://apt.llvm.org/${DISTRIB_CODENAME}/ llvm-toolchain-${DISTRIB_CODENAME}-11 main"
|
sudo add-apt-repository -y "deb http://apt.llvm.org/${DISTRIB_CODENAME}/ llvm-toolchain-${DISTRIB_CODENAME}-13 main"
|
||||||
sudo apt-get install -y clang-11 llvm-11
|
sudo apt-get install -y clang-13 llvm-13
|
||||||
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-11 100
|
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-13 100
|
||||||
sudo update-alternatives --set clang /usr/bin/clang-11
|
sudo update-alternatives --set clang /usr/bin/clang-13
|
||||||
sudo update-alternatives --install /usr/bin/llvm-cov llvm-cov /usr/bin/llvm-cov-11 100
|
sudo update-alternatives --install /usr/bin/llvm-cov llvm-cov /usr/bin/llvm-cov-13 100
|
||||||
|
|
||||||
- name: Set up environment
|
- name: Set up environment
|
||||||
run: |
|
run: |
|
||||||
@ -188,6 +188,10 @@ jobs:
|
|||||||
# Append various warning flags to CFLAGS.
|
# Append various warning flags to CFLAGS.
|
||||||
sed -i -f ci/config.mk.sed ${SRCDIR}/auto/config.mk
|
sed -i -f ci/config.mk.sed ${SRCDIR}/auto/config.mk
|
||||||
sed -i -f ci/config.mk.${CC}.sed ${SRCDIR}/auto/config.mk
|
sed -i -f ci/config.mk.${CC}.sed ${SRCDIR}/auto/config.mk
|
||||||
|
if [[ ${CC} = clang ]]; then
|
||||||
|
# Suppress some warnings produced by clang 12 and later.
|
||||||
|
sed -i -f ci/config.mk.clang-12.sed ${SRCDIR}/auto/config.mk
|
||||||
|
fi
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
if: (!contains(matrix.extra, 'unittests'))
|
if: (!contains(matrix.extra, 'unittests'))
|
||||||
@ -296,6 +300,10 @@ jobs:
|
|||||||
sed -i.bak -f ci/config.mk.sed ${SRCDIR}/auto/config.mk
|
sed -i.bak -f ci/config.mk.sed ${SRCDIR}/auto/config.mk
|
||||||
# On macOS, the entity of gcc is clang.
|
# On macOS, the entity of gcc is clang.
|
||||||
sed -i.bak -f ci/config.mk.clang.sed ${SRCDIR}/auto/config.mk
|
sed -i.bak -f ci/config.mk.clang.sed ${SRCDIR}/auto/config.mk
|
||||||
|
# Suppress some warnings produced by clang 12 and later.
|
||||||
|
if clang --version | grep -qs 'Apple clang version \(1[3-9]\|[2-9]\)\.'; then
|
||||||
|
sed -i.bak -f ci/config.mk.clang-12.sed ${SRCDIR}/auto/config.mk
|
||||||
|
fi
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
env:
|
env:
|
||||||
|
3
ci/config.mk.clang-12.sed
Normal file
3
ci/config.mk.clang-12.sed
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# Clang 12 (or Apple clang 13) and later makes a warning '-Wcompound-token-split-by-macro' enable by default.
|
||||||
|
/^PERL_CFLAGS[[:blank:]]*=/s/$/ -Wno-error=compound-token-split-by-macro/
|
||||||
|
/^RUBY_CFLAGS[[:blank:]]*=/s/$/ -Wno-error=compound-token-split-by-macro/
|
@ -3376,7 +3376,15 @@ exit_scroll(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef USE_GCOV_FLUSH
|
#ifdef USE_GCOV_FLUSH
|
||||||
extern void __gcov_flush();
|
# if (defined(__GNUC__) \
|
||||||
|
&& ((__GNUC__ == 11 && __GNUC_MINOR__ >= 1) || (__GNUC__ >= 12))) \
|
||||||
|
|| (defined(__clang__) && (__clang_major__ >= 12))
|
||||||
|
extern void __gcov_dump(void);
|
||||||
|
extern void __gcov_reset(void);
|
||||||
|
# define __gcov_flush() do { __gcov_dump(); __gcov_reset(); } while (0)
|
||||||
|
# else
|
||||||
|
extern void __gcov_flush(void);
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -6576,7 +6576,7 @@ write_spell_prefcond(FILE *fd, garray_T *gap)
|
|||||||
char_u *p;
|
char_u *p;
|
||||||
int len;
|
int len;
|
||||||
int totlen;
|
int totlen;
|
||||||
size_t x = 1; // collect return value of fwrite()
|
size_t x UNUSED = 1; // collect return value of fwrite()
|
||||||
|
|
||||||
if (fd != NULL)
|
if (fd != NULL)
|
||||||
put_bytes(fd, (long_u)gap->ga_len, 2); // <prefcondcnt>
|
put_bytes(fd, (long_u)gap->ga_len, 2); // <prefcondcnt>
|
||||||
|
@ -753,6 +753,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
3770,
|
||||||
/**/
|
/**/
|
||||||
3769,
|
3769,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user