From 4beadd18f434c34c8b87b7c5bb76bb0c121302af Mon Sep 17 00:00:00 2001 From: John Wellbelove Date: Wed, 13 Aug 2025 08:49:23 +0100 Subject: [PATCH] Attempt to fix Github CI GCC 11 incompatibility --- include/etl/fsm.h | 8 +++++++- include/etl/generators/fsm_generator.h | 2 ++ test/test_delegate_observable.cpp | 15 +++++++++++++-- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/include/etl/fsm.h b/include/etl/fsm.h index 85fbf68d..66747ec7 100644 --- a/include/etl/fsm.h +++ b/include/etl/fsm.h @@ -60,7 +60,9 @@ SOFTWARE. #include "message_router.h" #include "integral_limits.h" #include "largest.h" -#include "tuple.h" +#if ETL_USING_CPP11 + #include "tuple.h" +#endif #include @@ -223,6 +225,7 @@ namespace etl class ifsm_state; +#if ETL_USING_CPP11 //*************************************************************************** /// A class to store FSM states. //*************************************************************************** @@ -279,6 +282,7 @@ namespace etl /// Pointers to the states. etl::ifsm_state* states[sizeof...(TStates)]{ &etl::get(storage)... }; }; +#endif //*************************************************************************** /// Interface class for FSM states. @@ -450,6 +454,7 @@ namespace etl } } +#if ETL_USING_CPP11 //******************************************* /// Set the states for the FSM /// From an etl::fsm_state_pack. @@ -465,6 +470,7 @@ namespace etl state_list[i]->set_fsm_context(*this); } } +#endif //******************************************* /// Starts the FSM. diff --git a/include/etl/generators/fsm_generator.h b/include/etl/generators/fsm_generator.h index 8eaee60e..f3481e2f 100644 --- a/include/etl/generators/fsm_generator.h +++ b/include/etl/generators/fsm_generator.h @@ -476,6 +476,7 @@ namespace etl } } +#if ETL_USING_CPP11 //******************************************* /// Set the states for the FSM /// From an etl::fsm_state_pack. @@ -491,6 +492,7 @@ namespace etl state_list[i]->set_fsm_context(*this); } } +#endif //******************************************* /// Starts the FSM. diff --git a/test/test_delegate_observable.cpp b/test/test_delegate_observable.cpp index 32659386..ed189f8c 100644 --- a/test/test_delegate_observable.cpp +++ b/test/test_delegate_observable.cpp @@ -96,7 +96,18 @@ namespace } }; -#if !(defined(ETL_COMPILER_GCC) && (ETL_COMPILER_FULL_VERSION <= 1100)) +#if defined(ETL_COMPILER_GCC) + #if (ETL_COMPILER_FULL_VERSION <= 1100)) + #define ETL_ENABLE_DELEGATE_OBSERVABLE_CREATE_OBSERVABLE 0 + #else + #define ETL_ENABLE_DELEGATE_OBSERVABLE_CREATE_OBSERVABLE 1 + #endif +#else + #define ETL_ENABLE_DELEGATE_OBSERVABLE_CREATE_OBSERVABLE 1 +#endif + + +#if ETL_ENABLE_DELEGATE_OBSERVABLE_CREATE_OBSERVABLE //************************************************************************* ETL_CONSTEXPR14 Observable CreateObservable() { @@ -170,7 +181,7 @@ namespace } #endif -#if !(defined(ETL_COMPILER_GCC) && (ETL_COMPILER_FULL_VERSION <= 1100)) +#if ETL_ENABLE_DELEGATE_OBSERVABLE_CREATE_OBSERVABLE //************************************************************************* TEST_FIXTURE(SetupFixture, test_constexpr_delegate_observable_from_function) {