From 414d948ad21bce81b8146c75fa3265f3ca28ff62 Mon Sep 17 00:00:00 2001 From: ckormanyos Date: Fri, 5 Jun 2026 08:10:09 +0200 Subject: [PATCH 1/2] Sync CI with std-big-int evolution --- .github/workflows/real-time-cpp-benchmarks.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/real-time-cpp-benchmarks.yml b/.github/workflows/real-time-cpp-benchmarks.yml index e51551115..938481502 100644 --- a/.github/workflows/real-time-cpp-benchmarks.yml +++ b/.github/workflows/real-time-cpp-benchmarks.yml @@ -355,7 +355,7 @@ jobs: arm-none-eabi-g++ -v echo mkdir -p bin - arm-none-eabi-g++ -std=c++23 -Werror -Wall -Wextra -Wpedantic -Wconversion -Wsign-conversion -O2 -g -gdwarf-2 -ffunction-sections -fdata-sections -x c++ -fno-rtti -fno-use-cxa-atexit -fno-exceptions -fno-nonansi-builtins -fno-threadsafe-statics -fno-enforce-eh-specs -ftemplate-depth=32 -mcpu=cortex-m4 -mtune=cortex-m4 -mthumb -mfloat-abi=soft -mno-unaligned-access -mno-long-calls -I./src/mcal/stm32f429 -I./src -I../../std-big-int-root/include -DAPP_BENCHMARK_TYPE=APP_BENCHMARK_TYPE_STD_BIG_INT -DAPP_BENCHMARK_STANDALONE_MAIN ./src/app/benchmark/app_benchmark_std_big_int.cpp ./src/mcal/mcal_gcc_cxx_completion.cpp ../../std-big-int-root/src/karatsuba.cpp ../../std-big-int-root/src/toom_cook_3.cpp ../../std-big-int-root/src/toom_cook_4.cpp ../../std-big-int-root/src/toom_cook_6_5.cpp ./target/micros/stm32f429/make/single/crt.cpp -nostartfiles -nostdlib -Wl,--gc-sections -Wl,-Map,./bin/app_benchmark_std_big_int.map -T ./target/micros/stm32f429/make/stm32f429.ld --specs=nano.specs --specs=nosys.specs -o ./bin/app_benchmark_std_big_int.elf + arm-none-eabi-g++ -std=c++23 -Werror -Wall -Wextra -Wpedantic -Wconversion -Wsign-conversion -O2 -g -gdwarf-2 -ffunction-sections -fdata-sections -x c++ -fno-rtti -fno-use-cxa-atexit -fno-exceptions -fno-nonansi-builtins -fno-threadsafe-statics -fno-enforce-eh-specs -ftemplate-depth=32 -mcpu=cortex-m4 -mtune=cortex-m4 -mthumb -mfloat-abi=soft -mno-unaligned-access -mno-long-calls -I./src/mcal/stm32f429 -I./src -I../../std-big-int-root/include -DAPP_BENCHMARK_TYPE=APP_BENCHMARK_TYPE_STD_BIG_INT -DAPP_BENCHMARK_STANDALONE_MAIN ./src/app/benchmark/app_benchmark_std_big_int.cpp ./src/mcal/mcal_gcc_cxx_completion.cpp ../../std-big-int-root/src/karatsuba.cpp ../../std-big-int-root/src/toom_cook_3.cpp ../../std-big-int-root/src/toom_cook_4.cpp ../../std-big-int-root/src/toom_cook_6_5.cpp ../../std-big-int-root/src/toom_cook_8_5.cpp ./target/micros/stm32f429/make/single/crt.cpp -nostartfiles -nostdlib -Wl,--gc-sections -Wl,-Map,./bin/app_benchmark_std_big_int.map -T ./target/micros/stm32f429/make/stm32f429.ld --specs=nano.specs --specs=nosys.specs -o ./bin/app_benchmark_std_big_int.elf arm-none-eabi-objcopy ./bin/app_benchmark_std_big_int.elf -O ihex ./bin/app_benchmark_std_big_int.hex ls -la ./bin/app_benchmark_std_big_int.elf ./bin/app_benchmark_std_big_int.hex ./bin/app_benchmark_std_big_int.map working-directory: ./ref_app/ From b0d46c0551e1413dea44c49c119ca6d01ba2ac1b Mon Sep 17 00:00:00 2001 From: ckormanyos Date: Fri, 5 Jun 2026 08:25:58 +0200 Subject: [PATCH 2/2] Handle sonar issues --- ref_app/src/mcal_led/mcal_led_console.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/ref_app/src/mcal_led/mcal_led_console.h b/ref_app/src/mcal_led/mcal_led_console.h index 8c15b5bba..7f85b3079 100644 --- a/ref_app/src/mcal_led/mcal_led_console.h +++ b/ref_app/src/mcal_led/mcal_led_console.h @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////////// -// Copyright Christopher Kormanyos 2013 - 2025. +// Copyright Christopher Kormanyos 2013 - 2026. // Distributed under the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt // or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -39,9 +39,11 @@ << " is " << (base_class_type::state_is_on() ? "on" : "off"); - while(console_sync().test_and_set(std::memory_order_acquire)) { } + auto& consol_sync_atomic_flag { console_sync() }; + + while(consol_sync_atomic_flag.test_and_set()) { } std::cout << strm.str() << std::endl; - console_sync().clear(std::memory_order_release); + consol_sync_atomic_flag.clear(); } private: