mirror of
https://github.com/ETLCPP/etl.git
synced 2026-11-09 22:59:47 +08:00
Fix to message_packet
Fix tests for atomic under GCC
This commit is contained in:
parent
1b3445d11a
commit
c0923e1d6a
2
.github/workflows/clang.yml
vendored
2
.github/workflows/clang.yml
vendored
@ -1,7 +1,7 @@
|
||||
name: clang
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches: [ master, development ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
|
||||
2
.github/workflows/gcc.yml
vendored
2
.github/workflows/gcc.yml
vendored
@ -1,7 +1,7 @@
|
||||
name: gcc
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches: [ master, development]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
|
||||
2
.github/workflows/vs2019.yml
vendored
2
.github/workflows/vs2019.yml
vendored
@ -1,7 +1,7 @@
|
||||
name: vs2019
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches: [ master, development ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
|
||||
@ -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))
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user