diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b343cfd..35ce599 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -160,19 +160,19 @@ jobs: os: ubuntu-24.04 container: ubuntu:24.04 build-type: 'Release' - cxxstd: 17 + cxxstd: 20 cxxflags: '' ldflags: '' - - toolset: g++-14 + - toolset: g++-14 -fsanitize=address,undefined compiler: g++-14 install: g++-14 os: ubuntu-24.04 container: ubuntu:24.04 - build-type: 'Release' + build-type: 'Debug' cxxstd: 20 - cxxflags: '' - ldflags: '' + cxxflags: '-fsanitize=address,undefined -fno-sanitize-recover=all' + ldflags: '-fsanitize=address,undefined' - toolset: clang++-12 compiler: clang++-12 @@ -210,10 +210,40 @@ jobs: os: ubuntu-latest container: ubuntu:22.04 build-type: 'Release' + cxxstd: 17 + cxxflags: '' + ldflags: '' + + - toolset: clang++-16 + compiler: clang++-16 + install: clang++-16 + os: ubuntu-24.04 + container: ubuntu:24.04 + build-type: 'Release' + cxxstd: 17 + cxxflags: '' + ldflags: '' + + - toolset: clang++-17 + compiler: clang++-17 + install: clang++-17 + os: ubuntu-24.04 + container: ubuntu:24.04 + build-type: 'Release' cxxstd: 20 cxxflags: '' ldflags: '' + - toolset: clang++-18 -fsanitize=address,undefined + compiler: clang++-18 + install: clang++-18 + os: ubuntu-24.04 + container: ubuntu:24.04 + build-type: 'Debug' + cxxstd: 20 + cxxflags: '-fsanitize=address,undefined -fno-sanitize-recover=all' + ldflags: '-fsanitize=address,undefined' + runs-on: ${{ matrix.os }} container: ${{ matrix.container }} env: diff --git a/README.md b/README.md index 341a4b8..9c42321 100644 --- a/README.md +++ b/README.md @@ -128,7 +128,7 @@ Async.MQTT5 is a header-only library. To use Async.MQTT5 it requires the followi - **OpenSSL**. Only if you require an SSL connection by using [boost::asio::ssl::stream](https://www.boost.org/doc/libs/1_82_0/doc/html/boost_asio/reference/ssl__stream.html). Async.MQTT5 has been tested with the following compilers: -- clang 12.0 - 15.0 (Linux) +- clang 12.0 - 18.0 (Linux) - GCC 9 - 14 (Linux) - MSVC 14.37 - Visual Studio 2022 (Windows) diff --git a/doc/qbk/01_intro.qbk b/doc/qbk/01_intro.qbk index b52c3e3..e4fa29f 100644 --- a/doc/qbk/01_intro.qbk +++ b/doc/qbk/01_intro.qbk @@ -127,7 +127,7 @@ To use __Self__ it requires the following: __Self__ has been tested with the following compilers: -* clang 12.0 - 15.0 (Linux) +* clang 12.0 - 18.0 (Linux) * GCC 9 - 14 (Linux) * MSVC 14.37 - Visual Studio 2022 (Windows) diff --git a/test/include/test_common/test_broker.hpp b/test/include/test_common/test_broker.hpp index a921470..ba64749 100644 --- a/test/include/test_common/test_broker.hpp +++ b/test/include/test_common/test_broker.hpp @@ -67,6 +67,8 @@ public: size_t consume(const std::vector& data) { size_t num_bytes = std::min(_buffer_size, data.size()); + if (num_bytes == 0) + return 0; std::memcpy(_buffer_data, data.data(), num_bytes); return num_bytes; }