mirror of
https://github.com/ETLCPP/etl.git
synced 2026-11-09 14:49:53 +08:00
Added C++17 variadic versions of etl::message_router ans etl::fsm
Fixed meson.build
This commit is contained in:
parent
5904687e6d
commit
988cd95440
1
.gitignore
vendored
1
.gitignore
vendored
@ -321,3 +321,4 @@ test/vs2019/Debug-LLVM-NoSTL-Builtins/etl.exe
|
||||
test/vs2019/cmake-build
|
||||
test/vs2019/Debug MSVC - No STL - Built-ins
|
||||
test/vs2019/Test1
|
||||
test/vs2019/Test2
|
||||
|
||||
@ -80,12 +80,17 @@ namespace etl
|
||||
// For internal FSM use.
|
||||
typedef typename etl::larger_type<etl::message_id_t>::type fsm_internal_id_t;
|
||||
|
||||
template <typename TContext, typename TDerived, const etl::fsm_state_id_t STATE_ID_,
|
||||
typename T1 = void, typename T2 = void, typename T3 = void, typename T4 = void,
|
||||
typename T5 = void, typename T6 = void, typename T7 = void, typename T8 = void,
|
||||
typename T9 = void, typename T10 = void, typename T11 = void, typename T12 = void,
|
||||
typename T13 = void, typename T14 = void, typename T15 = void, typename T16 = void>
|
||||
#if ETL_CPP17_SUPPORTED && !defined(ETL_FSM_FORCE_CPP03) // For C++17 and above
|
||||
template <typename, typename, const etl::fsm_state_id_t, typename...>
|
||||
class fsm_state;
|
||||
#else
|
||||
template <typename, typename, const etl::fsm_state_id_t,
|
||||
typename, typename, typename, typename,
|
||||
typename, typename, typename, typename,
|
||||
typename, typename, typename, typename,
|
||||
typename, typename, typename, typename>
|
||||
class fsm_state;
|
||||
#endif
|
||||
|
||||
//***************************************************************************
|
||||
/// Base exception class for FSM.
|
||||
@ -178,12 +183,18 @@ namespace etl
|
||||
/// Allows ifsm_state functions to be private.
|
||||
friend class etl::fsm;
|
||||
friend class etl::hfsm;
|
||||
|
||||
#if ETL_CPP17_SUPPORTED && !defined(ETL_FSM_FORCE_CPP03) // For C++17 and above
|
||||
template <typename, typename, const etl::fsm_state_id_t, typename...>
|
||||
friend class fsm_state;
|
||||
#else
|
||||
template <typename, typename, const etl::fsm_state_id_t,
|
||||
typename, typename, typename, typename,
|
||||
typename, typename, typename, typename,
|
||||
typename, typename, typename, typename,
|
||||
typename, typename, typename, typename>
|
||||
friend class etl::fsm_state;
|
||||
#endif
|
||||
|
||||
//*******************************************
|
||||
/// Gets the id for this state.
|
||||
@ -483,8 +494,8 @@ namespace etl
|
||||
#if ETL_CPP17_SUPPORTED && !defined(ETL_FSM_FORCE_CPP03) // For C++17 and above
|
||||
|
||||
//***************************************************************************
|
||||
// The definition for all types.
|
||||
//***************************************************************************
|
||||
// The definition for all types.
|
||||
//***************************************************************************
|
||||
template <typename TContext, typename TDerived, const etl::fsm_state_id_t STATE_ID_, typename... TMessageTypes>
|
||||
class fsm_state : public ifsm_state
|
||||
{
|
||||
@ -526,7 +537,6 @@ namespace etl
|
||||
etl::fsm_state_id_t process_event(const etl::imessage& message)
|
||||
{
|
||||
etl::fsm_state_id_t new_state_id;
|
||||
etl::message_id_t event_id = message.get_message_id();
|
||||
|
||||
const bool was_handled = (process_event_type<TMessageTypes>(message, new_state_id) || ...);
|
||||
|
||||
|
||||
@ -92,19 +92,24 @@ namespace etl
|
||||
// For internal FSM use.
|
||||
typedef typename etl::larger_type<etl::message_id_t>::type fsm_internal_id_t;
|
||||
|
||||
#if ETL_CPP17_SUPPORTED && !defined(ETL_FSM_FORCE_CPP03) // For C++17 and above
|
||||
template <typename, typename, const etl::fsm_state_id_t, typename...>
|
||||
class fsm_state;
|
||||
#else
|
||||
/*[[[cog
|
||||
import cog
|
||||
cog.outl("template <typename TContext, typename TDerived, const etl::fsm_state_id_t STATE_ID_,")
|
||||
cog.outl("template <typename, typename, const etl::fsm_state_id_t,")
|
||||
cog.out(" ")
|
||||
for n in range(1, int(Handlers)):
|
||||
cog.out("typename T%s = void, " % n)
|
||||
cog.out("typename, ")
|
||||
if n % 4 == 0:
|
||||
cog.outl("")
|
||||
cog.out(" ")
|
||||
cog.outl("typename T%s = void>" % int(Handlers))
|
||||
cog.outl("typename>")
|
||||
cog.outl("class fsm_state;")
|
||||
]]]*/
|
||||
/*[[[end]]]*/
|
||||
#endif
|
||||
|
||||
//***************************************************************************
|
||||
/// Base exception class for FSM.
|
||||
@ -197,6 +202,11 @@ namespace etl
|
||||
/// Allows ifsm_state functions to be private.
|
||||
friend class etl::fsm;
|
||||
friend class etl::hfsm;
|
||||
|
||||
#if ETL_CPP17_SUPPORTED && !defined(ETL_FSM_FORCE_CPP03) // For C++17 and above
|
||||
template <typename, typename, const etl::fsm_state_id_t, typename...>
|
||||
friend class fsm_state;
|
||||
#else
|
||||
/*[[[cog
|
||||
import cog
|
||||
cog.outl(" template <typename, typename, const etl::fsm_state_id_t,")
|
||||
@ -210,6 +220,7 @@ namespace etl
|
||||
]]]*/
|
||||
/*[[[end]]]*/
|
||||
friend class etl::fsm_state;
|
||||
#endif
|
||||
|
||||
//*******************************************
|
||||
/// Gets the id for this state.
|
||||
@ -509,8 +520,8 @@ namespace etl
|
||||
#if ETL_CPP17_SUPPORTED && !defined(ETL_FSM_FORCE_CPP03) // For C++17 and above
|
||||
|
||||
//***************************************************************************
|
||||
// The definition for all types.
|
||||
//***************************************************************************
|
||||
// The definition for all types.
|
||||
//***************************************************************************
|
||||
template <typename TContext, typename TDerived, const etl::fsm_state_id_t STATE_ID_, typename... TMessageTypes>
|
||||
class fsm_state : public ifsm_state
|
||||
{
|
||||
@ -552,7 +563,6 @@ namespace etl
|
||||
etl::fsm_state_id_t process_event(const etl::imessage& message)
|
||||
{
|
||||
etl::fsm_state_id_t new_state_id;
|
||||
etl::message_id_t event_id = message.get_message_id();
|
||||
|
||||
const bool was_handled = (process_event_type<TMessageTypes>(message, new_state_id) || ...);
|
||||
|
||||
|
||||
@ -38,7 +38,7 @@ SOFTWARE.
|
||||
///\ingroup utilities
|
||||
|
||||
#define ETL_VERSION_MAJOR 20
|
||||
#define ETL_VERSION_MINOR 15
|
||||
#define ETL_VERSION_MINOR 16
|
||||
#define ETL_VERSION_PATCH 0
|
||||
#define ETL_VERSION ETL_STRINGIFY(ETL_VERSION_MAJOR) "." ETL_STRINGIFY(ETL_VERSION_MINOR) "." ETL_STRINGIFY(ETL_VERSION_PATCH)
|
||||
#define ETL_VERSION_W ETL_STRINGIFY(ETL_VERSION_MAJOR) L"." ETL_STRINGIFY(ETL_VERSION_MINOR) L"." ETL_STRINGIFY(ETL_VERSION_PATCH)
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "ETL Embedded Template Library",
|
||||
"version": "20.15.0",
|
||||
"version": "20.16.0",
|
||||
"author s": {
|
||||
"name": "John Wellbelove",
|
||||
"email": "john.wellbelove@etlcpp.com"
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
name=Embedded Template Library ETL
|
||||
version=20.15.0
|
||||
version=20.16.0
|
||||
author= John Wellbelove <john.wellbelove@etlcpp.com>
|
||||
maintainer=John Wellbelove <john.wellbelove@etlcpp.com>
|
||||
license=MIT
|
||||
|
||||
@ -1,3 +1,8 @@
|
||||
===============================================================================
|
||||
20.16.0
|
||||
Added C++17 variadic versions of etl::message_router ans etl::fsm
|
||||
Fixed meson.build
|
||||
|
||||
===============================================================================
|
||||
20.15.0
|
||||
Added a Bipartite buffer, by Benedek Kupper.
|
||||
|
||||
@ -16,42 +16,90 @@ echo "-----------------------------------------------"
|
||||
echo "GCC - STL"; } | tee -a ../log.txt
|
||||
g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=gcc CXX=g++ cmake -E chdir bgcc cmake --cmake-clean-cache -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF ..
|
||||
cmake --build bgcc || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
cmake --build bgcc
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
exit $?
|
||||
fi
|
||||
|
||||
{ echo ""; echo "GCC - No STL"; } | tee -a ../log.txt
|
||||
g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=gcc CXX=g++ cmake -E chdir bgcc cmake --cmake-clean-cache -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF ..
|
||||
cmake --build bgcc || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
cmake --build bgcc
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
exit $?
|
||||
fi
|
||||
|
||||
{ echo ""; echo "GCC - No STL - Builtins"; } | tee -a ../log.txt
|
||||
g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=gcc CXX=g++ cmake -E chdir bgcc cmake --cmake-clean-cache -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF ..
|
||||
cmake --build bgcc || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
cmake --build bgcc
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
exit $?
|
||||
fi
|
||||
|
||||
##{ echo ""; echo "GCC - No STL - User defined traits"; } | tee -a ../log.txt
|
||||
#g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
#CC=gcc CXX=g++ cmake -E chdir bgcc cmake --cmake-clean-cache -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=ON ..
|
||||
#cmake --build bgcc || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
#cmake --build bgcc
|
||||
#if [ $? -eq 0 ]; then
|
||||
# echo "Passed"
|
||||
#else
|
||||
# echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
# exit $?
|
||||
#fi
|
||||
|
||||
{ echo ""; echo "Clang - STL"; } | tee -a ../log.txt
|
||||
clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=clang CXX=clang++ cmake -E chdir bclang cmake --cmake-clean-cache -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF ..
|
||||
cmake --build bclang || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
cmake --build bclang
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
exit $?
|
||||
fi
|
||||
|
||||
{ echo ""; echo "Clang - No STL"; } | tee -a ../log.txt
|
||||
clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=clang CXX=clang++ cmake -E chdir bclang cmake --cmake-clean-cache -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF ..
|
||||
cmake --build bclang || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
cmake --build bclang
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
exit $?
|
||||
fi
|
||||
|
||||
{ echo ""; echo "Clang - No STL - Builtins"; } | tee -a ../log.txt
|
||||
clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=clang CXX=clang++ cmake -E chdir bclang cmake --cmake-clean-cache -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF ..
|
||||
cmake --build bclang || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
cmake --build bclang
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
exit $?
|
||||
fi
|
||||
|
||||
##{ echo ""; echo "Clang - No STL - User defined traits"; } | tee -a ../log.txt
|
||||
#clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
#CC=clang CXX=clang++ cmake -E chdir bclang cmake --cmake-clean-cache -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=ON ..
|
||||
#cmake --build bclang || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
#cmake --build bclang
|
||||
#if [ $? -eq 0 ]; then
|
||||
# echo "Passed"
|
||||
#else
|
||||
# echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
# exit $?
|
||||
#fi
|
||||
|
||||
###############################################################################
|
||||
cd ../c++11 || exit 1
|
||||
@ -64,42 +112,90 @@ echo "-----------------------------------------------"
|
||||
echo "GCC - STL"; } | tee -a ../log.txt
|
||||
g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=gcc CXX=g++ cmake -E chdir bgcc cmake --cmake-clean-cache -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF ..
|
||||
cmake --build bgcc || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
cmake --build bgcc
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
exit $?
|
||||
fi
|
||||
|
||||
{ echo ""; echo "GCC - No STL"; } | tee -a ../log.txt
|
||||
g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=gcc CXX=g++ cmake -E chdir bgcc cmake --cmake-clean-cache -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF ..
|
||||
cmake --build bgcc || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
cmake --build bgcc
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
exit $?
|
||||
fi
|
||||
|
||||
{ echo ""; echo "GCC - No STL - Builtins"; } | tee -a ../log.txt
|
||||
g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=gcc CXX=g++ cmake -E chdir bgcc cmake --cmake-clean-cache -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF ..
|
||||
cmake --build bgcc || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
cmake --build bgcc
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
exit $?
|
||||
fi
|
||||
|
||||
##{ echo ""; echo "GCC - No STL - User defined traits"; } | tee -a ../log.txt
|
||||
#g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
#CC=gcc CXX=g++ cmake -E chdir bgcc cmake --cmake-clean-cache -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=ON ..
|
||||
#cmake --build bgcc || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
#cmake --build bgcc
|
||||
#if [ $? -eq 0 ]; then
|
||||
# echo "Passed"
|
||||
#else
|
||||
# echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
# exit $?
|
||||
#fi
|
||||
|
||||
{ echo ""; echo "Clang - STL"; } | tee -a ../log.txt
|
||||
clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=clang CXX=clang++ cmake -E chdir bclang cmake --cmake-clean-cache -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF ..
|
||||
cmake --build bclang || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
cmake --build bclang
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
exit $?
|
||||
fi
|
||||
|
||||
{ echo ""; echo "Clang - No STL"; } | tee -a ../log.txt
|
||||
clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=clang CXX=clang++ cmake -E chdir bclang cmake --cmake-clean-cache -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF ..
|
||||
cmake --build bclang || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
cmake --build bclang
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
exit $?
|
||||
fi
|
||||
|
||||
{ echo ""; echo "Clang - No STL - Builtins"; } | tee -a ../log.txt
|
||||
clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=clang CXX=clang++ cmake -E chdir bclang cmake --cmake-clean-cache -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF ..
|
||||
cmake --build bclang || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
cmake --build bclang
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
exit $?
|
||||
fi
|
||||
|
||||
##{ echo ""; echo "Clang - No STL - User defined traits"; } | tee -a ../log.txt
|
||||
#clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
#CC=clang CXX=clang++ cmake -E chdir bclang cmake --cmake-clean-cache -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=ON ..
|
||||
#cmake --build bclang || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
#cmake --build bclang
|
||||
#if [ $? -eq 0 ]; then
|
||||
# echo "Passed"
|
||||
#else
|
||||
# echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
# exit $?
|
||||
#fi
|
||||
|
||||
###############################################################################
|
||||
cd ../c++14 || exit 1
|
||||
@ -112,42 +208,90 @@ echo "-----------------------------------------------"
|
||||
echo "GCC - STL"; } | tee -a ../log.txt
|
||||
g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=gcc CXX=g++ cmake -E chdir bgcc cmake --cmake-clean-cache -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF ..
|
||||
cmake --build bgcc || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
cmake --build bgcc
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
exit $?
|
||||
fi
|
||||
|
||||
{ echo ""; echo "GCC - No STL"; } | tee -a ../log.txt
|
||||
g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=gcc CXX=g++ cmake -E chdir bgcc cmake --cmake-clean-cache -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF ..
|
||||
cmake --build bgcc || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
cmake --build bgcc
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
exit $?
|
||||
fi
|
||||
|
||||
{ echo ""; echo "GCC - No STL - Builtins"; } | tee -a ../log.txt
|
||||
g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=gcc CXX=g++ cmake -E chdir bgcc cmake --cmake-clean-cache -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF ..
|
||||
cmake --build bgcc || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
cmake --build bgcc
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
exit $?
|
||||
fi
|
||||
|
||||
##{ echo ""; echo "GCC - No STL - User defined traits"; } | tee -a ../log.txt
|
||||
#g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
#CC=gcc CXX=g++ cmake -E chdir bgcc cmake --cmake-clean-cache -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=ON ..
|
||||
#cmake --build bgcc || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
#cmake --build bgcc
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
exit $?
|
||||
fi
|
||||
|
||||
{ echo ""; echo "Clang - STL"; } | tee -a ../log.txt
|
||||
clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=clang CXX=clang++ cmake -E chdir bclang cmake --cmake-clean-cache -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF ..
|
||||
cmake --build bclang || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
cmake --build bclang
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
exit $?
|
||||
fi
|
||||
|
||||
{ echo ""; echo "Clang - No STL"; } | tee -a ../log.txt
|
||||
clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=clang CXX=clang++ cmake -E chdir bclang cmake --cmake-clean-cache -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF ..
|
||||
cmake --build bclang || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
cmake --build bclang
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
exit $?
|
||||
fi
|
||||
|
||||
{ echo ""; echo "Clang - No STL - Builtins"; } | tee -a ../log.txt
|
||||
clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=clang CXX=clang++ cmake -E chdir bclang cmake --cmake-clean-cache -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF ..
|
||||
cmake --build bclang || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
cmake --build bclang
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
exit $?
|
||||
fi
|
||||
|
||||
##{ echo ""; echo "Clang - No STL - User defined traits"; } | tee -a ../log.txt
|
||||
#clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
#CC=clang CXX=clang++ cmake -E chdir bclang cmake --cmake-clean-cache -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=ON ..
|
||||
#cmake --build bclang || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
#cmake --build bclang
|
||||
#if [ $? -eq 0 ]; then
|
||||
# echo "Passed"
|
||||
#else
|
||||
# echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
# exit $?
|
||||
#fi
|
||||
|
||||
###############################################################################
|
||||
cd ../c++17 || exit 1
|
||||
@ -160,42 +304,90 @@ echo "-----------------------------------------------"
|
||||
echo "GCC - STL"; } | tee -a ../log.txt
|
||||
g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=gcc CXX=g++ cmake -E chdir bgcc cmake --cmake-clean-cache -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF ..
|
||||
cmake --build bgcc || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
cmake --build bgcc
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
exit $?
|
||||
fi
|
||||
|
||||
{ echo ""; echo "GCC - No STL"; } | tee -a ../log.txt
|
||||
g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=gcc CXX=g++ cmake -E chdir bgcc cmake --cmake-clean-cache -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF ..
|
||||
cmake --build bgcc || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
cmake --build bgcc
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
exit $?
|
||||
fi
|
||||
|
||||
{ echo ""; echo "GCC - No STL - Builtins"; } | tee -a ../log.txt
|
||||
g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=gcc CXX=g++ cmake -E chdir bgcc cmake --cmake-clean-cache -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF ..
|
||||
cmake --build bgcc || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
cmake --build bgcc
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
exit $?
|
||||
fi
|
||||
|
||||
##{ echo ""; echo "GCC - No STL - User defined traits"; } | tee -a ../log.txt
|
||||
#g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
#CC=gcc CXX=g++ cmake -E chdir bgcc cmake --cmake-clean-cache -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=ON ..
|
||||
#cmake --build bgcc || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
#cmake --build bgcc
|
||||
#if [ $? -eq 0 ]; then
|
||||
# echo "Passed"
|
||||
#else
|
||||
# echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
# exit $?
|
||||
#fi
|
||||
|
||||
{ echo ""; echo "Clang - STL"; } | tee -a ../log.txt
|
||||
clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=clang CXX=clang++ cmake -E chdir bclang cmake --cmake-clean-cache -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF ..
|
||||
cmake --build bclang || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
cmake --build bclang
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
exit $?
|
||||
fi
|
||||
|
||||
{ echo ""; echo "Clang - No STL"; } | tee -a ../log.txt
|
||||
clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=clang CXX=clang++ cmake -E chdir bclang cmake --cmake-clean-cache -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF ..
|
||||
cmake --build bclang || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
cmake --build bclang
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
exit $?
|
||||
fi
|
||||
|
||||
{ echo ""; echo "Clang - No STL - Builtins"; } | tee -a ../log.txt
|
||||
clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=clang CXX=clang++ cmake -E chdir bclang cmake --cmake-clean-cache -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF ..
|
||||
cmake --build bclang || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
cmake --build bclang
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
exit $?
|
||||
fi
|
||||
|
||||
##{ echo ""; echo "Clang - No STL - User defined traits"; } | tee -a ../log.txt
|
||||
#clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
#CC=clang CXX=clang++ cmake -E chdir bclang cmake --cmake-clean-cache -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=ON ..
|
||||
#cmake --build bclang || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
#cmake --build bclang
|
||||
#if [ $? -eq 0 ]; then
|
||||
# echo "Passed"
|
||||
#else
|
||||
# echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
# exit $?
|
||||
#fi
|
||||
|
||||
{ echo ""
|
||||
echo "-----------------------------------------------"
|
||||
|
||||
@ -9,7 +9,13 @@ echo " GCC" | tee -a log.txt
|
||||
echo "-----------------------------------------------" | tee -a log.txt
|
||||
gcc --version | grep gcc | tee -a log.txt
|
||||
CC=gcc CXX=g++ cmake --cmake-clean-cache -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF ..
|
||||
make -j8 || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
make -j8
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
exit $?
|
||||
fi
|
||||
./etl_tests | tee log.txt
|
||||
echo ""
|
||||
echo "-----------------------------------------------" | tee -a log.txt
|
||||
@ -17,7 +23,13 @@ echo " GCC - No STL" | tee -a log.txt
|
||||
echo "-----------------------------------------------" | tee -a log.txt
|
||||
gcc --version | grep gcc | tee -a log.txt
|
||||
CC=gcc CXX=g++ cmake --cmake-clean-cache -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF ..
|
||||
make -j8 || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
make -j8
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
exit $?
|
||||
fi
|
||||
./etl_tests | tee log.txt
|
||||
echo ""
|
||||
echo "-----------------------------------------------" | tee -a log.txt
|
||||
@ -25,7 +37,13 @@ echo " GCC - No STL - Builtins" | tee -a log.txt
|
||||
echo "-----------------------------------------------" | tee -a log.txt
|
||||
gcc --version | grep gcc | tee -a log.txt
|
||||
CC=gcc CXX=g++ cmake --cmake-clean-cache -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF ..
|
||||
make -j8 || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
make -j8
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
exit $?
|
||||
fi
|
||||
./etl_tests | tee log.txt
|
||||
echo ""
|
||||
echo "-----------------------------------------------" | tee -a log.txt
|
||||
@ -33,7 +51,13 @@ echo " Clang" | tee -a log.txt
|
||||
echo "-----------------------------------------------" | tee -a log.txt
|
||||
clang --version | grep clang | tee -a log.txt
|
||||
CC=clang CXX=clang++ cmake --cmake-clean-cache -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF ..
|
||||
make -j8 || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
make -j8
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
exit $?
|
||||
fi
|
||||
./etl_tests | tee log.txt
|
||||
echo ""
|
||||
echo "-----------------------------------------------" | tee -a log.txt
|
||||
@ -41,7 +65,13 @@ echo " Clang - No STL" | tee -a log.txt
|
||||
echo "-----------------------------------------------" | tee -a log.txt
|
||||
clang --version | grep clang | tee -a log.txt
|
||||
CC=clang CXX=clang++ cmake --cmake-clean-cache -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF ..
|
||||
make -j8 || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
make -j8
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
exit $?
|
||||
fi
|
||||
./etl_tests | tee log.txt
|
||||
echo ""
|
||||
echo "-----------------------------------------------" | tee -a log.txt
|
||||
@ -49,7 +79,13 @@ echo " Clang - No STL - Builtins" | tee -a log.txt
|
||||
echo "-----------------------------------------------" | tee -a log.txt
|
||||
clang --version | grep clang | tee -a log.txt
|
||||
CC=clang CXX=clang++ cmake --cmake-clean-cache -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF ..
|
||||
make -j8 || echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
make -j8
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
exit $?
|
||||
fi
|
||||
./etl_tests | tee log.txt
|
||||
echo ""
|
||||
echo "-----------------------------------------------" | tee -a log.txt
|
||||
|
||||
@ -424,6 +424,12 @@
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Test1|Win32'">
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Test1|x64'">
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
@ -1073,7 +1079,7 @@
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_LIB;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;ETL_NO_STL;ETL_USE_TYPE_TRAITS_BUILTINS;__clang__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>../../../unittest-cpp/;../../include;../../test</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>./;../../../unittest-cpp/;../../include;../../test</AdditionalIncludeDirectories>
|
||||
<UndefinePreprocessorDefinitions>
|
||||
</UndefinePreprocessorDefinitions>
|
||||
<MultiProcessorCompilation>false</MultiProcessorCompilation>
|
||||
|
||||
@ -2696,6 +2696,12 @@
|
||||
<ClCompile Include="..\sanity-check\wstring_stream.h.t.cpp">
|
||||
<Filter>Source Files\Sanity Checks</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\sanity-check\bip_buffer_spsc_atomic.h.t.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\test_bip_buffer_spsc_atomic.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\library.properties">
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user