# HG changeset patch # User Bram Moolenaar # Date 1633459503 -7200 # Node ID 8e9864b988462567cfb40dd47882c461892490ee # Parent 389560a21382c2443ad69c76ba9f3707a1bdd34a patch 8.2.3481: failures when char is unsigned Commit: https://github.com/vim/vim/commit/2e258bd79f403bcccb1336bea70803957a83808f Author: James McCoy Date: Tue Oct 5 19:44:04 2021 +0100 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 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -40,6 +40,7 @@ jobs: compiler: gcc coverage: true extra: testgui + uchar: true - features: huge compiler: clang extra: asan @@ -111,10 +112,14 @@ jobs: ;; 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 @@ jobs: 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 --- a/src/structs.h +++ b/src/structs.h @@ -1406,8 +1406,8 @@ typedef struct type_S type_T; 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 --- a/src/version.c +++ b/src/version.c @@ -758,6 +758,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 3481, +/**/ 3480, /**/ 3479,