diff options
-rw-r--r-- | .github/workflows/ci.yml | 6 | ||||
-rwxr-xr-x | src/nvim/CMakeLists.txt | 7 | ||||
-rw-r--r-- | src/nvim/marktree.c | 8 |
3 files changed, 16 insertions, 5 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4814e89a69..c227fa5460 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -196,6 +196,10 @@ jobs: cc: gcc runner: ubuntu-22.04 flags: -D UNSIGNED_CHAR=ON + - flavor: release + cc: gcc + runner: ubuntu-22.04 + flags: -D CMAKE_BUILD_TYPE=Release - cc: clang runner: macos-12 @@ -262,7 +266,7 @@ jobs: id: abort_job run: echo "status=${{ job.status }}" >> $GITHUB_OUTPUT - - if: matrix.flavor != 'tsan' && matrix.flavor != 'functionaltest-lua' && (success() || failure() && steps.abort_job.outputs.status == 'success') + - if: matrix.flavor != 'tsan' && matrix.flavor != 'release' && matrix.flavor != 'functionaltest-lua' && (success() || failure() && steps.abort_job.outputs.status == 'success') name: Unittest timeout-minutes: 5 run: cmake --build build --target unittest diff --git a/src/nvim/CMakeLists.txt b/src/nvim/CMakeLists.txt index a193af6d51..d6a53456d7 100755 --- a/src/nvim/CMakeLists.txt +++ b/src/nvim/CMakeLists.txt @@ -92,6 +92,13 @@ else() -Wmissing-noreturn -Wmissing-format-attribute -Wmissing-prototypes) + + if(CMAKE_C_COMPILER_ID STREQUAL "GNU") + target_compile_options(main_lib INTERFACE + $<$<CONFIG:Release>:-Wno-unused-result> + $<$<CONFIG:RelWithDebInfo>:-Wno-unused-result> + $<$<CONFIG:MinSizeRel>:-Wno-unused-result>) + endif() endif() # On FreeBSD 64 math.h uses unguarded C11 extension, which taints clang diff --git a/src/nvim/marktree.c b/src/nvim/marktree.c index 77ba6e6fa4..cb981bb00c 100644 --- a/src/nvim/marktree.c +++ b/src/nvim/marktree.c @@ -1135,7 +1135,7 @@ void marktree_check(MarkTree *b) mtpos_t dummy; bool last_right = false; - size_t nkeys = check_node(b, b->root, &dummy, &last_right); + size_t nkeys = marktree_check_node(b, b->root, &dummy, &last_right); assert(b->n_keys == nkeys); assert(b->n_keys == map_size(b->id2node)); #else @@ -1145,7 +1145,7 @@ void marktree_check(MarkTree *b) } #ifndef NDEBUG -static size_t check_node(MarkTree *b, mtnode_t *x, mtpos_t *last, bool *last_right) +size_t marktree_check_node(MarkTree *b, mtnode_t *x, mtpos_t *last, bool *last_right) { assert(x->n <= 2 * T - 1); // TODO(bfredl): too strict if checking "in repair" post-delete tree. @@ -1154,7 +1154,7 @@ static size_t check_node(MarkTree *b, mtnode_t *x, mtpos_t *last, bool *last_rig for (int i = 0; i < x->n; i++) { if (x->level) { - n_keys += check_node(b, x->ptr[i], last, last_right); + n_keys += marktree_check_node(b, x->ptr[i], last, last_right); } else { *last = (mtpos_t) { 0, 0 }; } @@ -1171,7 +1171,7 @@ static size_t check_node(MarkTree *b, mtnode_t *x, mtpos_t *last, bool *last_rig } if (x->level) { - n_keys += check_node(b, x->ptr[x->n], last, last_right); + n_keys += marktree_check_node(b, x->ptr[x->n], last, last_right); unrelative(x->key[x->n - 1].pos, last); for (int i = 0; i < x->n + 1; i++) { |