Fix to message_packet

Fix tests for atomic under GCC
This commit is contained in:
John Wellbelove 2022-06-24 15:59:25 +01:00
parent 1b3445d11a
commit c0923e1d6a
5 changed files with 21 additions and 21 deletions

View File

@ -1,7 +1,7 @@
name: clang
on:
push:
branches: [ master ]
branches: [ master, development ]
pull_request:
branches: [ master ]

View File

@ -1,7 +1,7 @@
name: gcc
on:
push:
branches: [ master ]
branches: [ master, development]
pull_request:
branches: [ master ]

View File

@ -1,7 +1,7 @@
name: vs2019
on:
push:
branches: [ master ]
branches: [ master, development ]
pull_request:
branches: [ master ]

View File

@ -69,14 +69,8 @@ namespace etl
template <typename... TMessageTypes>
class message_packet
{
public:
//********************************************
message_packet()
: data()
, valid(false)
{
}
private:
template <typename T>
static constexpr bool IsMessagePacket = etl::is_same_v< etl::remove_const_t<etl::remove_reference_t<T>>, etl::message_packet<TMessageTypes...>>;
@ -87,6 +81,15 @@ namespace etl
template <typename T>
static constexpr bool IsIMessage = etl::is_same_v<remove_const_t<etl::remove_reference_t<T>>, etl::imessage>;
public:
//********************************************
message_packet()
: data()
, valid(false)
{
}
//********************************************
///
//********************************************
@ -95,11 +98,6 @@ namespace etl
: data()
, valid(true)
{
bool b1 = IsIMessage<T>;
bool b2 = IsInMessageList<T>;
bool b3 = IsMessagePacket<T>;
bool b4 = etl::is_rvalue_reference_v<T>;
if constexpr (IsIMessage<T>)
{
if (accepts(msg))

View File

@ -54,13 +54,15 @@ namespace
{
enum enum_type
{
Zero = 0,
One = 1,
Two = 2
};
ETL_DECLARE_ENUM_TYPE(Enum, int)
ETL_ENUM_TYPE(One, "1")
ETL_ENUM_TYPE(Two, "2")
ETL_ENUM_TYPE(Zero, "0")
ETL_ENUM_TYPE(One, "1")
ETL_ENUM_TYPE(Two, "2")
ETL_END_ENUM_TYPE
};
@ -547,8 +549,8 @@ namespace
//*************************************************************************
TEST(test_atomic_compare_exchange_weak_pass_for_enum)
{
std::atomic<Enum> compare;
etl::atomic<Enum> test;
std::atomic<Enum> compare(Enum::Zero);
etl::atomic<Enum> test(Enum::Zero);
Enum actual = Enum::One;
@ -639,8 +641,8 @@ namespace
//*************************************************************************
TEST(test_atomic_compare_exchange_strong_pass_for_enum)
{
std::atomic<Enum> compare;
etl::atomic<Enum> test;
std::atomic<Enum> compare(Enum::Zero);
etl::atomic<Enum> test(Enum::Zero);
Enum actual = Enum::One;