patch 8.2.3481: failures when char is unsigned
Problem: Failures when char is unsigned.
Solution: Use int8_T. Make a CI run with unsigned char. (James McCoy,
closes #8936)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index c3cc065..5bfcc79 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -40,6 +40,7 @@
compiler: gcc
coverage: true
extra: testgui
+ uchar: true
- features: huge
compiler: clang
extra: asan
@@ -111,10 +112,14 @@
;;
esac
+ CFLAGS=""
if ${{ matrix.coverage == true }}; then
- echo "CFLAGS=--coverage -DUSE_GCOV_FLUSH"
+ CFLAGS="$CFLAGS --coverage -DUSE_GCOV_FLUSH"
echo "LDFLAGS=--coverage"
fi
+ if ${{ matrix.uchar == true }}; then
+ CFLAGS="$CFLAGS -funsigned-char"
+ fi
if ${{ contains(matrix.extra, 'testgui') }}; then
echo "TEST=-C src testgui"
fi
@@ -130,6 +135,7 @@
if ${{ contains(matrix.extra, 'vimtags') }}; then
echo "TEST=-C runtime/doc vimtags VIMEXE=../../${SRCDIR}/vim"
fi
+ echo "CFLAGS=$CFLAGS"
) >> $GITHUB_ENV
- name: Set up system
diff --git a/src/structs.h b/src/structs.h
index b5889b7..0715686 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -1406,8 +1406,8 @@
struct type_S {
vartype_T tt_type;
int8_T tt_argcount; // for func, incl. vararg, -1 for unknown
- char tt_min_argcount; // number of non-optional arguments
- char tt_flags; // TTFLAG_ values
+ int8_T tt_min_argcount; // number of non-optional arguments
+ char_u tt_flags; // TTFLAG_ values
type_T *tt_member; // for list, dict, func return type
type_T **tt_args; // func argument types, allocated
};
diff --git a/src/version.c b/src/version.c
index 70f363a..31fb2a6 100644
--- a/src/version.c
+++ b/src/version.c
@@ -758,6 +758,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 3481,
+/**/
3480,
/**/
3479,