NetworkManager/src/c-rbtree
David Rheinsberg 78831d127f
c-rbtree: fix alignment assertion on m64k
We want to assert that our alignment-guarantees do not exceed the
guarantees of the system-linker or system-allocator on the target
platform. Hence, we check against max_align_t. This is a lower bound,
but not the exact check we actually want. And as it turns out, on m64k
it is too low. Add a static check against 4-byte alignment for m64k as
a workaround.

Reported-by: Michael Biebl
Signed-off-by: David Rheinsberg <david.rheinsberg@gmail.com>

https://github.com/c-util/c-rbtree/issues/9
eb778d3969
2022-05-18 11:59:06 +02:00
..
.github/workflows c-rbtree: re-import git-subtree for 'src/c-rbtree' 2022-05-06 09:58:08 +02:00
src c-rbtree: fix alignment assertion on m64k 2022-05-18 11:59:06 +02:00
subprojects c-rbtree: re-import git-subtree for 'src/c-rbtree' 2022-05-06 09:58:08 +02:00
.editorconfig build: move c-util/nettools library from "shared/" to "src/" 2021-02-24 12:48:28 +01:00
.gitmodules c-rbtree: re-import git-subtree for 'src/c-rbtree' 2022-05-06 09:58:08 +02:00
AUTHORS c-rbtree: re-import git-subtree for 'src/c-rbtree' 2022-05-06 09:58:08 +02:00
meson.build c-rbtree: re-import git-subtree for 'src/c-rbtree' 2022-05-06 09:58:08 +02:00
meson_options.txt c-rbtree: re-import git-subtree for 'src/c-rbtree' 2022-05-06 09:58:08 +02:00
NEWS.md c-rbtree: re-import git-subtree for 'src/c-rbtree' 2022-05-06 09:58:08 +02:00
README.md c-rbtree: re-import git-subtree for 'src/c-rbtree' 2022-05-06 09:58:08 +02:00

c-rbtree

Intrusive Red-Black Tree Collection

The c-rbtree project implements an intrusive collection based on red-black trees in ISO-C11. Its API guarantees the user full control over its data-structures, and rather limits itself to just the tree-specific rebalancing and coloring operations. For API documentation, see the c-rbtree.h header file, as well as the docbook comments for each function.

Project

Requirements

The requirements for this project are:

  • libc (e.g., glibc >= 2.16)

At build-time, the following software is required:

  • meson >= 0.60
  • pkg-config >= 0.29

Build

The meson build-system is used for this project. Contact upstream documentation for detailed help. In most situations the following commands are sufficient to build and install from source:

mkdir build
cd build
meson setup ..
ninja
meson test
ninja install

No custom configuration options are available.

Repository:

License:

  • Apache-2.0 OR LGPL-2.1-or-later
  • See AUTHORS file for details.