mirror of
https://github.com/ETLCPP/etl.git
synced 2026-10-28 18:07:10 +08:00
Fixed Address Sanitizer issues
This commit is contained in:
parent
aa1d7f0f7f
commit
801c6735cf
@ -236,7 +236,7 @@ namespace etl
|
||||
//*************************************************************************
|
||||
iterator end() ETL_NOEXCEPT
|
||||
{
|
||||
return &_buffer[SIZE];
|
||||
return _buffer + SIZE;
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
@ -244,7 +244,7 @@ namespace etl
|
||||
//*************************************************************************
|
||||
ETL_CONSTEXPR const_iterator end() const ETL_NOEXCEPT
|
||||
{
|
||||
return &_buffer[SIZE];
|
||||
return _buffer + SIZE;
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
@ -252,7 +252,7 @@ namespace etl
|
||||
//*************************************************************************
|
||||
ETL_CONSTEXPR const_iterator cend() const ETL_NOEXCEPT
|
||||
{
|
||||
return &_buffer[SIZE];
|
||||
return _buffer + SIZE;
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
|
||||
@ -636,8 +636,8 @@ namespace etl
|
||||
{
|
||||
size_t operator()(const etl::array_view<T>& view) const
|
||||
{
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(&view[0]),
|
||||
reinterpret_cast<const uint8_t*>(&view[view.size()]));
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(view.data()),
|
||||
reinterpret_cast<const uint8_t*>(view.data() + view.size()));
|
||||
}
|
||||
};
|
||||
#endif
|
||||
|
||||
@ -394,8 +394,10 @@ namespace etl
|
||||
{
|
||||
size_t operator()(const etl::array_wrapper<T, SIZE, ARRAY>& aw) const
|
||||
{
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(&aw[0]),
|
||||
reinterpret_cast<const uint8_t*>(&aw[aw.size()]));
|
||||
const uint8_t* pb = reinterpret_cast<const uint8_t*>(aw.data());
|
||||
const uint8_t* pe = pb + (SIZE * sizeof(T));
|
||||
|
||||
return etl::private_hash::generic_hash<size_t>(pb, pe);
|
||||
}
|
||||
};
|
||||
#endif
|
||||
|
||||
@ -148,15 +148,8 @@ namespace etl
|
||||
|
||||
static ETL_CONSTANT uint_least8_t IS_TRUNCATED = etl::bit<0>::value;
|
||||
static ETL_CONSTANT uint_least8_t CLEAR_AFTER_USE = etl::bit<1>::value;
|
||||
|
||||
#if ETL_USING_CPP11
|
||||
static constexpr size_type npos = etl::integral_limits<size_type>::max;
|
||||
#else
|
||||
enum
|
||||
{
|
||||
npos = etl::integral_limits<size_type>::max
|
||||
};
|
||||
#endif
|
||||
|
||||
static ETL_CONSTANT size_type npos = etl::integral_limits<size_type>::max;
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
|
||||
@ -96,7 +96,7 @@ namespace etl
|
||||
|
||||
//***************************************************************************
|
||||
/// integral_constant
|
||||
template <typename T, const T VALUE>
|
||||
template <typename T, T VALUE>
|
||||
struct integral_constant
|
||||
{
|
||||
static const T value = VALUE;
|
||||
@ -118,8 +118,8 @@ namespace etl
|
||||
const T integral_constant<T, VALUE>::value;
|
||||
|
||||
#if ETL_USING_CPP17
|
||||
template <typename T>
|
||||
using integral_constant_v = std::integral_constant<T>::value;
|
||||
template <typename T, T VALUE>
|
||||
inline constexpr T integral_constant_v = etl::integral_constant<T, VALUE>::value;
|
||||
#endif
|
||||
|
||||
#if ETL_USING_CPP11
|
||||
@ -130,6 +130,11 @@ namespace etl
|
||||
struct bool_constant : etl::integral_constant<bool, B> { };
|
||||
#endif
|
||||
|
||||
#if ETL_USING_CPP17
|
||||
template <bool B>
|
||||
inline constexpr bool bool_constant_v = bool_constant<B>::value;
|
||||
#endif
|
||||
|
||||
//***************************************************************************
|
||||
/// negation
|
||||
template <typename T>
|
||||
@ -823,7 +828,7 @@ namespace etl
|
||||
//***************************************************************************
|
||||
/// integral_constant
|
||||
///\ingroup type_traits
|
||||
template <typename T, const T VALUE>
|
||||
template <typename T, T VALUE>
|
||||
struct integral_constant : std::integral_constant<T, VALUE> {};
|
||||
|
||||
/// integral_constant specialisations
|
||||
@ -831,6 +836,11 @@ namespace etl
|
||||
typedef integral_constant<bool, false> false_type;
|
||||
typedef integral_constant<bool, true> true_type;
|
||||
|
||||
#if ETL_USING_CPP17
|
||||
template <typename T, T VALUE>
|
||||
inline constexpr T integral_constant_v = std::integral_constant<T, VALUE>::value;
|
||||
#endif
|
||||
|
||||
#if ETL_USING_CPP17
|
||||
template <bool B>
|
||||
using bool_constant = std::bool_constant<B>;
|
||||
@ -839,6 +849,11 @@ namespace etl
|
||||
struct bool_constant : std::integral_constant<bool, B> { };
|
||||
#endif
|
||||
|
||||
#if ETL_USING_CPP17
|
||||
template <bool B>
|
||||
inline constexpr bool bool_constant_v = bool_constant<B>::value;
|
||||
#endif
|
||||
|
||||
//***************************************************************************
|
||||
/// negation
|
||||
///\ingroup type_traits
|
||||
|
||||
@ -689,7 +689,7 @@ namespace etl
|
||||
//*************************************************************************
|
||||
const_iterator end() const
|
||||
{
|
||||
return const_iterator(static_cast<const data_node_t&>(terminal_node));
|
||||
return const_iterator(terminal_node);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
@ -705,7 +705,7 @@ namespace etl
|
||||
//*************************************************************************
|
||||
const_iterator cend() const
|
||||
{
|
||||
return const_iterator(static_cast<const data_node_t&>(terminal_node));
|
||||
return const_iterator(terminal_node);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
@ -721,7 +721,7 @@ namespace etl
|
||||
//*************************************************************************
|
||||
const_reverse_iterator rbegin() const
|
||||
{
|
||||
return const_reverse_iterator(static_cast<const data_node_t&>(terminal_node));
|
||||
return const_reverse_iterator(terminal_node);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
@ -745,7 +745,7 @@ namespace etl
|
||||
//*************************************************************************
|
||||
const_reverse_iterator crbegin() const
|
||||
{
|
||||
return const_reverse_iterator(static_cast<const data_node_t&>(terminal_node));
|
||||
return const_reverse_iterator(terminal_node);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
|
||||
@ -1034,8 +1034,8 @@ protected:
|
||||
{
|
||||
size_t operator()(const etl::poly_span<TBase, Extent>& view) const
|
||||
{
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(&view[0]),
|
||||
reinterpret_cast<const uint8_t*>(&view[view.size()]));
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(view.data()),
|
||||
reinterpret_cast<const uint8_t*>(view.data() + view.size()));
|
||||
}
|
||||
};
|
||||
#endif
|
||||
|
||||
@ -939,8 +939,8 @@ namespace etl
|
||||
{
|
||||
size_t operator()(const etl::span<T>& view) const
|
||||
{
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(&view[0]),
|
||||
reinterpret_cast<const uint8_t*>(&view[view.size()]));
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(view.data()),
|
||||
reinterpret_cast<const uint8_t*>(view.data() + view.size()));
|
||||
}
|
||||
};
|
||||
#endif
|
||||
|
||||
@ -458,8 +458,8 @@ namespace etl
|
||||
{
|
||||
size_t operator()(const etl::istring& text) const
|
||||
{
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(&text[0]),
|
||||
reinterpret_cast<const uint8_t*>(&text[text.size()]));
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(text.data()),
|
||||
reinterpret_cast<const uint8_t*>(text.data() + text.size()));
|
||||
}
|
||||
};
|
||||
|
||||
@ -468,8 +468,8 @@ namespace etl
|
||||
{
|
||||
size_t operator()(const etl::string<SIZE>& text) const
|
||||
{
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(&text[0]),
|
||||
reinterpret_cast<const uint8_t*>(&text[text.size()]));
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(text.data()),
|
||||
reinterpret_cast<const uint8_t*>(text.data() + text.size()));
|
||||
}
|
||||
};
|
||||
|
||||
@ -478,8 +478,8 @@ namespace etl
|
||||
{
|
||||
size_t operator()(const etl::string_ext& text) const
|
||||
{
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(&text[0]),
|
||||
reinterpret_cast<const uint8_t*>(&text[text.size()]));
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(text.data()),
|
||||
reinterpret_cast<const uint8_t*>(text.data() + text.size()));
|
||||
}
|
||||
};
|
||||
#endif
|
||||
|
||||
@ -852,8 +852,8 @@ namespace etl
|
||||
{
|
||||
size_t operator()(const etl::string_view& text) const
|
||||
{
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(&text[0]),
|
||||
reinterpret_cast<const uint8_t*>(&text[text.size()]));
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(text.data()),
|
||||
reinterpret_cast<const uint8_t*>(text.data() + text.size()));
|
||||
}
|
||||
};
|
||||
|
||||
@ -862,8 +862,8 @@ namespace etl
|
||||
{
|
||||
size_t operator()(const etl::wstring_view& text) const
|
||||
{
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(&text[0]),
|
||||
reinterpret_cast<const uint8_t*>(&text[text.size()]));
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(text.data()),
|
||||
reinterpret_cast<const uint8_t*>(text.data() + text.size()));
|
||||
}
|
||||
};
|
||||
|
||||
@ -872,8 +872,8 @@ namespace etl
|
||||
{
|
||||
size_t operator()(const etl::u16string_view& text) const
|
||||
{
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(&text[0]),
|
||||
reinterpret_cast<const uint8_t*>(&text[text.size()]));
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(text.data()),
|
||||
reinterpret_cast<const uint8_t*>(text.data() + text.size()));
|
||||
}
|
||||
};
|
||||
|
||||
@ -882,8 +882,8 @@ namespace etl
|
||||
{
|
||||
size_t operator()(const etl::u32string_view& text) const
|
||||
{
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(&text[0]),
|
||||
reinterpret_cast<const uint8_t*>(&text[text.size()]));
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(text.data()),
|
||||
reinterpret_cast<const uint8_t*>(text.data() + text.size()));
|
||||
}
|
||||
};
|
||||
#endif
|
||||
|
||||
@ -84,7 +84,7 @@ namespace etl
|
||||
|
||||
//***************************************************************************
|
||||
/// integral_constant
|
||||
template <typename T, const T VALUE>
|
||||
template <typename T, T VALUE>
|
||||
struct integral_constant
|
||||
{
|
||||
static const T value = VALUE;
|
||||
@ -102,12 +102,12 @@ namespace etl
|
||||
typedef integral_constant<bool, false> false_type;
|
||||
typedef integral_constant<bool, true> true_type;
|
||||
|
||||
template <typename T, const T VALUE>
|
||||
template <typename T, T VALUE>
|
||||
const T integral_constant<T, VALUE>::value;
|
||||
|
||||
#if ETL_USING_CPP17
|
||||
template <typename T>
|
||||
using integral_constant_v = std::integral_constant<T>::value;
|
||||
template <typename T, T VALUE>
|
||||
inline constexpr T integral_constant_v = etl::integral_constant<T, VALUE>::value;
|
||||
#endif
|
||||
|
||||
#if ETL_USING_CPP11
|
||||
@ -118,6 +118,11 @@ namespace etl
|
||||
struct bool_constant : etl::integral_constant<bool, B> { };
|
||||
#endif
|
||||
|
||||
#if ETL_USING_CPP17
|
||||
template <bool B>
|
||||
inline constexpr bool bool_constant_v = bool_constant<B>::value;
|
||||
#endif
|
||||
|
||||
//***************************************************************************
|
||||
/// negation
|
||||
template <typename T>
|
||||
@ -811,7 +816,7 @@ namespace etl
|
||||
//***************************************************************************
|
||||
/// integral_constant
|
||||
///\ingroup type_traits
|
||||
template <typename T, const T VALUE>
|
||||
template <typename T, T VALUE>
|
||||
struct integral_constant : std::integral_constant<T, VALUE> {};
|
||||
|
||||
/// integral_constant specialisations
|
||||
@ -819,6 +824,11 @@ namespace etl
|
||||
typedef integral_constant<bool, false> false_type;
|
||||
typedef integral_constant<bool, true> true_type;
|
||||
|
||||
#if ETL_USING_CPP17
|
||||
template <typename T, T VALUE>
|
||||
inline constexpr T integral_constant_v = std::integral_constant<T, VALUE>::value;
|
||||
#endif
|
||||
|
||||
#if ETL_USING_CPP17
|
||||
template <bool B>
|
||||
using bool_constant = std::bool_constant<B>;
|
||||
@ -827,14 +837,17 @@ namespace etl
|
||||
struct bool_constant : std::integral_constant<bool, B> { };
|
||||
#endif
|
||||
|
||||
#if ETL_USING_CPP17
|
||||
template <bool B>
|
||||
inline constexpr bool bool_constant_v = bool_constant<B>::value;
|
||||
#endif
|
||||
|
||||
//***************************************************************************
|
||||
/// negation
|
||||
///\ingroup type_traits
|
||||
#if ETL_USING_CPP17
|
||||
template <typename T>
|
||||
struct negation : std::negation<T>
|
||||
{
|
||||
};
|
||||
using negation = std::negation<T>;
|
||||
#else
|
||||
template <typename T>
|
||||
struct negation : etl::bool_constant<!bool(T::value)>
|
||||
|
||||
@ -438,8 +438,8 @@ namespace etl
|
||||
{
|
||||
size_t operator()(const etl::iu16string& text) const
|
||||
{
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(&text[0]),
|
||||
reinterpret_cast<const uint8_t*>(&text[text.size()]));
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(text.data()),
|
||||
reinterpret_cast<const uint8_t*>(text.data() + text.size()));
|
||||
}
|
||||
};
|
||||
|
||||
@ -448,8 +448,8 @@ namespace etl
|
||||
{
|
||||
size_t operator()(const etl::u16string<SIZE>& text) const
|
||||
{
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(&text[0]),
|
||||
reinterpret_cast<const uint8_t*>(&text[text.size()]));
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(text.data()),
|
||||
reinterpret_cast<const uint8_t*>(text.data() + text.size()));
|
||||
}
|
||||
};
|
||||
|
||||
@ -458,8 +458,8 @@ namespace etl
|
||||
{
|
||||
size_t operator()(const etl::u16string_ext& text) const
|
||||
{
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(&text[0]),
|
||||
reinterpret_cast<const uint8_t*>(&text[text.size()]));
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(text.data()),
|
||||
reinterpret_cast<const uint8_t*>(text.data() + text.size()));
|
||||
}
|
||||
};
|
||||
#endif
|
||||
|
||||
@ -438,8 +438,8 @@ namespace etl
|
||||
{
|
||||
size_t operator()(const etl::iu32string& text) const
|
||||
{
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(&text[0]),
|
||||
reinterpret_cast<const uint8_t*>(&text[text.size()]));
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(text.data()),
|
||||
reinterpret_cast<const uint8_t*>(text.data() + text.size()));
|
||||
}
|
||||
};
|
||||
|
||||
@ -448,8 +448,8 @@ namespace etl
|
||||
{
|
||||
size_t operator()(const etl::u32string<SIZE>& text) const
|
||||
{
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(&text[0]),
|
||||
reinterpret_cast<const uint8_t*>(&text[text.size()]));
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(text.data()),
|
||||
reinterpret_cast<const uint8_t*>(text.data() + text.size()));
|
||||
}
|
||||
};
|
||||
|
||||
@ -458,8 +458,8 @@ namespace etl
|
||||
{
|
||||
size_t operator()(const etl::u32string_ext& text) const
|
||||
{
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(&text[0]),
|
||||
reinterpret_cast<const uint8_t*>(&text[text.size()]));
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(text.data()),
|
||||
reinterpret_cast<const uint8_t*>(text.data() + text.size()));
|
||||
}
|
||||
};
|
||||
#endif
|
||||
|
||||
@ -438,8 +438,8 @@ namespace etl
|
||||
{
|
||||
size_t operator()(const etl::iwstring& text) const
|
||||
{
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(&text[0]),
|
||||
reinterpret_cast<const uint8_t*>(&text[text.size()]));
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(text.data()),
|
||||
reinterpret_cast<const uint8_t*>(text.data() + text.size()));
|
||||
}
|
||||
};
|
||||
|
||||
@ -448,8 +448,8 @@ namespace etl
|
||||
{
|
||||
size_t operator()(const etl::wstring<SIZE>& text) const
|
||||
{
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(&text[0]),
|
||||
reinterpret_cast<const uint8_t*>(&text[text.size()]));
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(text.data()),
|
||||
reinterpret_cast<const uint8_t*>(text.data() + text.size()));
|
||||
}
|
||||
};
|
||||
|
||||
@ -458,8 +458,8 @@ namespace etl
|
||||
{
|
||||
size_t operator()(const etl::wstring_ext& text) const
|
||||
{
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(&text[0]),
|
||||
reinterpret_cast<const uint8_t*>(&text[text.size()]));
|
||||
return etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(text.data()),
|
||||
reinterpret_cast<const uint8_t*>(text.data() + text.size()));
|
||||
}
|
||||
};
|
||||
#endif
|
||||
|
||||
@ -16,10 +16,10 @@ add_executable(etl_tests
|
||||
test_algorithm.cpp
|
||||
test_alignment.cpp
|
||||
test_array.cpp
|
||||
test_array_view.cpp
|
||||
test_array_view.cpp
|
||||
test_array_wrapper.cpp
|
||||
test_atomic.cpp
|
||||
test_binary.cpp
|
||||
test_binary.cpp
|
||||
test_bip_buffer_spsc_atomic.cpp
|
||||
test_bit.cpp
|
||||
test_bitset_legacy.cpp
|
||||
@ -147,7 +147,7 @@ add_executable(etl_tests
|
||||
test_largest.cpp
|
||||
test_limiter.cpp
|
||||
test_limits.cpp
|
||||
test_list.cpp
|
||||
test_list.cpp
|
||||
test_list_shared_pool.cpp
|
||||
test_make_string.cpp
|
||||
test_map.cpp
|
||||
@ -156,7 +156,7 @@ add_executable(etl_tests
|
||||
test_mem_cast.cpp
|
||||
test_mem_cast_ptr.cpp
|
||||
test_memory.cpp
|
||||
test_message_broker.cpp
|
||||
test_message_broker.cpp
|
||||
test_message_bus.cpp
|
||||
test_message_packet.cpp
|
||||
test_message_router.cpp
|
||||
@ -164,7 +164,7 @@ add_executable(etl_tests
|
||||
test_message_timer.cpp
|
||||
test_message_timer_atomic.cpp
|
||||
test_message_timer_interrupt.cpp
|
||||
test_message_timer_locked.cpp
|
||||
test_message_timer_locked.cpp
|
||||
test_multimap.cpp
|
||||
test_multiset.cpp
|
||||
test_multi_array.cpp
|
||||
@ -288,7 +288,7 @@ if (ETL_CXX_STANDARD MATCHES "98")
|
||||
message(STATUS "Compiling for C++98")
|
||||
set_property(TARGET etl_tests PROPERTY CXX_STANDARD 98)
|
||||
elseif (ETL_CXX_STANDARD MATCHES "03")
|
||||
message(STATUS "Compiling for C++98")
|
||||
message(STATUS "Compiling for C++03 (C++98)")
|
||||
set_property(TARGET etl_tests PROPERTY CXX_STANDARD 98)
|
||||
elseif (ETL_CXX_STANDARD MATCHES "11")
|
||||
message(STATUS "Compiling for C++11")
|
||||
@ -353,6 +353,7 @@ if ((CMAKE_CXX_COMPILER_ID MATCHES "GNU") OR (CMAKE_CXX_COMPILER_ID MATCHES "Cla
|
||||
PRIVATE
|
||||
-fsanitize=address,undefined,bounds
|
||||
-fno-omit-frame-pointer
|
||||
-fno-common
|
||||
-Wall
|
||||
-Wextra
|
||||
-Werror
|
||||
|
||||
@ -1,20 +1,77 @@
|
||||
#!/bin/sh
|
||||
clear
|
||||
|
||||
echo -e
|
||||
|
||||
testname="Test Name Not Set"
|
||||
|
||||
FailColour='\033[38;2;255;128;128m'
|
||||
PassColour='\033[38;2;128;255;128m'
|
||||
TitleColour='\033[38;2;100;173;254m'
|
||||
NoColour='\033[0m'
|
||||
|
||||
SetCxxStandard()
|
||||
{
|
||||
cxx_standard=$1
|
||||
}
|
||||
|
||||
SetTestName()
|
||||
{
|
||||
testname=$1
|
||||
}
|
||||
|
||||
PrintHeader()
|
||||
{
|
||||
echo "${TitleColour}"
|
||||
echo "----------------------------------------------------------------------------" | tee -a log.txt
|
||||
echo " $testname" | tee -a log.txt
|
||||
echo " Language standard : C++${cxx_standard}" | tee -a log.txt
|
||||
echo "----------------------------------------------------------------------------" | tee -a log.txt
|
||||
echo "${NoColour}"
|
||||
}
|
||||
|
||||
PassedCompilation()
|
||||
{
|
||||
echo "${PassColour}"
|
||||
echo "-----------------------------------------------" | tee -a log.txt
|
||||
echo " Passed Compilation - $testname" | tee -a ../log.txt
|
||||
echo "-----------------------------------------------" | tee -a log.txt
|
||||
echo "${NoColour}"
|
||||
}
|
||||
|
||||
FailedCompilation()
|
||||
{
|
||||
echo "${FailColour}"
|
||||
echo "****************************************************************************" | tee -a log.txt
|
||||
echo "**** Failed Compilation $testname" | tee -a log.txt
|
||||
echo "****************************************************************************" | tee -a ../log.txt
|
||||
echo "${NoColour}"
|
||||
}
|
||||
|
||||
ChecksCompleted()
|
||||
{
|
||||
echo "${PassColour}"
|
||||
echo "-----------------------------------------------" | tee -a log.txt
|
||||
echo " All Checks Completed OK" | tee -a log.txt
|
||||
echo "-----------------------------------------------" | tee -a log.txt
|
||||
echo "${NoColour}"
|
||||
}
|
||||
|
||||
cd sanity-check || exit 1
|
||||
echo "" > log.txt
|
||||
|
||||
export CMAKE_BUILD_PARALLEL_LEVEL=4
|
||||
|
||||
echo ""
|
||||
echo "Using "${CMAKE_BUILD_PARALLEL_LEVEL}" jobs"
|
||||
|
||||
###############################################################################
|
||||
cd c++03 || exit 1
|
||||
{ echo ""
|
||||
echo "Using "${CMAKE_BUILD_PARALLEL_LEVEL}" jobs"
|
||||
echo "-----------------------------------------------"
|
||||
echo " C++03"
|
||||
echo "-----------------------------------------------"
|
||||
|
||||
echo "GCC - STL"; } | tee -a ../log.txt
|
||||
SetCxxStandard "03 (98)"
|
||||
|
||||
SetTestName "GCC - STL"
|
||||
PrintHeader
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
@ -22,13 +79,14 @@ g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=gcc CXX=g++ cmake -E chdir bgcc cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ..
|
||||
cmake --build bgcc
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
PassedCompilation
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
FailedCompilation
|
||||
exit $?
|
||||
fi
|
||||
|
||||
{ echo ""; echo "GCC - No STL"; } | tee -a ../log.txt
|
||||
SetTestName "GCC - No STL"
|
||||
PrintHeader
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
@ -36,13 +94,14 @@ g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=gcc CXX=g++ cmake -E chdir bgcc cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ..
|
||||
cmake --build bgcc
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
PassedCompilation
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
FailedCompilation
|
||||
exit $?
|
||||
fi
|
||||
|
||||
##{ echo ""; echo "GCC - No STL - User defined traits"; } | tee -a ../log.txt
|
||||
##SetTestName "GCC - No STL - User defined traits"
|
||||
# PrintHeader
|
||||
#rm -rdf bgcc
|
||||
#rm -rdf bclang
|
||||
#cmake -E make_directory bgcc bclang
|
||||
@ -50,13 +109,14 @@ fi
|
||||
#CC=gcc CXX=g++ cmake -E chdir bgcc cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=ON -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ..
|
||||
#cmake --build bgcc
|
||||
#if [ $? -eq 0 ]; then
|
||||
# echo "Passed"
|
||||
# PassedCompilation
|
||||
#else
|
||||
# echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
# FailedCompilation
|
||||
# exit $?
|
||||
#fi
|
||||
|
||||
{ echo ""; echo "Clang - STL"; } | tee -a ../log.txt
|
||||
SetTestName "Clang - STL"
|
||||
PrintHeader
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
@ -64,13 +124,14 @@ clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=clang CXX=clang++ cmake -E chdir bclang cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ..
|
||||
cmake --build bclang
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
PassedCompilation
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
FailedCompilation
|
||||
exit $?
|
||||
fi
|
||||
|
||||
{ echo ""; echo "Clang - No STL"; } | tee -a ../log.txt
|
||||
SetTestName "Clang - No STL"
|
||||
PrintHeader
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
@ -78,13 +139,14 @@ clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=clang CXX=clang++ cmake -E chdir bclang cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ..
|
||||
cmake --build bclang
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
PassedCompilation
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
FailedCompilation
|
||||
exit $?
|
||||
fi
|
||||
|
||||
##{ echo ""; echo "Clang - No STL - User defined traits"; } | tee -a ../log.txt
|
||||
#SetTestName "Clang - No STL - User defined traits"
|
||||
#PrintHeader
|
||||
#rm -rdf bgcc
|
||||
#rm -rdf bclang
|
||||
#cmake -E make_directory bgcc bclang
|
||||
@ -92,20 +154,19 @@ fi
|
||||
#CC=clang CXX=clang++ cmake -E chdir bclang cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=ON -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ..
|
||||
#cmake --build bclang
|
||||
#if [ $? -eq 0 ]; then
|
||||
# echo "Passed"
|
||||
# PassedCompilation
|
||||
#else
|
||||
# echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
# FailedCompilation
|
||||
# exit $?
|
||||
#fi
|
||||
|
||||
###############################################################################
|
||||
cd ../c++11 || exit 1
|
||||
{ echo ""
|
||||
echo "-----------------------------------------------"
|
||||
echo " C++11"
|
||||
echo "-----------------------------------------------"
|
||||
|
||||
echo "GCC - STL"; } | tee -a ../log.txt
|
||||
SetCxxStandard "11"
|
||||
|
||||
SetTestName "GCC - STL"
|
||||
PrintHeader
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
@ -113,13 +174,14 @@ g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=gcc CXX=g++ cmake -E chdir bgcc cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ..
|
||||
cmake --build bgcc
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
PassedCompilation
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
FailedCompilation
|
||||
exit $?
|
||||
fi
|
||||
|
||||
{ echo ""; echo "GCC - STL - Force C++03"; } | tee -a ../log.txt
|
||||
SetTestName "GCC - STL - Force C++03"
|
||||
PrintHeader
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
@ -127,13 +189,14 @@ g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=gcc CXX=g++ cmake -E chdir bgcc cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON ..
|
||||
cmake --build bgcc
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
PassedCompilation
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
FailedCompilation
|
||||
exit $?
|
||||
fi
|
||||
|
||||
{ echo ""; echo "GCC - No STL"; } | tee -a ../log.txt
|
||||
SetTestName "GCC - No STL"
|
||||
PrintHeader
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
@ -141,251 +204,14 @@ g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=gcc CXX=g++ cmake -E chdir bgcc cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ..
|
||||
cmake --build bgcc
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
PassedCompilation
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
FailedCompilation
|
||||
exit $?
|
||||
fi
|
||||
|
||||
##{ echo ""; echo "GCC - No STL - User defined traits"; } | tee -a ../log.txt
|
||||
#rm -rdf bgcc
|
||||
#rm -rdf bclang
|
||||
#cmake -E make_directory bgcc bclang
|
||||
#g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
#CC=gcc CXX=g++ cmake -E chdir bgcc cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=ON -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ..
|
||||
#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
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=clang CXX=clang++ cmake -E chdir bclang cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ..
|
||||
cmake --build bclang
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
exit $?
|
||||
fi
|
||||
|
||||
{ echo ""; echo "Clang - STL - Force C++03"; } | tee -a ../log.txt
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=clang CXX=clang++ cmake -E chdir bclang cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON ..
|
||||
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
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=clang CXX=clang++ cmake -E chdir bclang cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ..
|
||||
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
|
||||
#rm -rdf bgcc
|
||||
#rm -rdf bclang
|
||||
#cmake -E make_directory bgcc bclang
|
||||
#clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
#CC=clang CXX=clang++ cmake -E chdir bclang cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=ON -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ..
|
||||
#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
|
||||
{ echo ""
|
||||
echo "-----------------------------------------------"
|
||||
echo " C++14"
|
||||
echo "-----------------------------------------------"
|
||||
|
||||
echo "GCC - STL"; } | tee -a ../log.txt
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=gcc CXX=g++ cmake -E chdir bgcc cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ..
|
||||
cmake --build bgcc
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
exit $?
|
||||
fi
|
||||
|
||||
{ echo ""; echo "GCC - STL - Force C++03"; } | tee -a ../log.txt
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=gcc CXX=g++ cmake -E chdir bgcc cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON ..
|
||||
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
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=gcc CXX=g++ cmake -E chdir bgcc cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ..
|
||||
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
|
||||
#rm -rdf bgcc
|
||||
#rm -rdf bclang
|
||||
#cmake -E make_directory bgcc bclang
|
||||
#g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
#CC=gcc CXX=g++ cmake -E chdir bgcc cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=ON -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ..
|
||||
#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
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=clang CXX=clang++ cmake -E chdir bclang cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ..
|
||||
cmake --build bclang
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
exit $?
|
||||
fi
|
||||
|
||||
{ echo ""; echo "Clang - STL - Force C++03"; } | tee -a ../log.txt
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=clang CXX=clang++ cmake -E chdir bclang cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON ..
|
||||
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
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=clang CXX=clang++ cmake -E chdir bclang cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ..
|
||||
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
|
||||
#rm -rdf bgcc
|
||||
#rm -rdf bclang
|
||||
#cmake -E make_directory bgcc bclang
|
||||
#clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
#CC=clang CXX=clang++ cmake -E chdir bclang cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=ON -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ..
|
||||
#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
|
||||
{ echo ""
|
||||
echo "-----------------------------------------------"
|
||||
echo " C++17 "
|
||||
echo "-----------------------------------------------"
|
||||
|
||||
echo "GCC - STL"; } | tee -a ../log.txt
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=gcc CXX=g++ cmake -E chdir bgcc cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ..
|
||||
cmake --build bgcc
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
exit $?
|
||||
fi
|
||||
|
||||
{ echo ""; echo "GCC - STL - Force C++03"; } | tee -a ../log.txt
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=gcc CXX=g++ cmake -E chdir bgcc cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON ..
|
||||
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
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=gcc CXX=g++ cmake -E chdir bgcc cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ..
|
||||
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 - Force C++03"; } | tee -a ../log.txt
|
||||
SetTestName "GCC - No STL - Force C++03"
|
||||
PrintHeader
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
@ -393,13 +219,14 @@ g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=gcc CXX=g++ cmake -E chdir bgcc cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON ..
|
||||
cmake --build bgcc
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
PassedCompilation
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
FailedCompilation
|
||||
exit $?
|
||||
fi
|
||||
|
||||
##{ echo ""; echo "GCC - No STL - User defined traits"; } | tee -a ../log.txt
|
||||
#SetTestName "GCC - No STL - User defined traits"
|
||||
#PrintHeader
|
||||
#rm -rdf bgcc
|
||||
#rm -rdf bclang
|
||||
#cmake -E make_directory bgcc bclang
|
||||
@ -407,13 +234,14 @@ fi
|
||||
#CC=gcc CXX=g++ cmake -E chdir bgcc cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=ON -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ..
|
||||
#cmake --build bgcc
|
||||
#if [ $? -eq 0 ]; then
|
||||
# echo "Passed"
|
||||
# PassedCompilation
|
||||
#else
|
||||
# echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
# FailedCompilation
|
||||
# exit $?
|
||||
#fi
|
||||
|
||||
{ echo ""; echo "Clang - STL"; } | tee -a ../log.txt
|
||||
SetTestName "Clang - STL"
|
||||
PrintHeader
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
@ -421,13 +249,14 @@ clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=clang CXX=clang++ cmake -E chdir bclang cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ..
|
||||
cmake --build bclang
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
PassedCompilation
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
FailedCompilation
|
||||
exit $?
|
||||
fi
|
||||
|
||||
{ echo ""; echo "Clang - STL - Force C++03"; } | tee -a ../log.txt
|
||||
SetTestName "Clang - STL - Force C++03"
|
||||
PrintHeader
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
@ -435,13 +264,14 @@ clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=clang CXX=clang++ cmake -E chdir bclang cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON ..
|
||||
cmake --build bclang
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
PassedCompilation
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
FailedCompilation
|
||||
exit $?
|
||||
fi
|
||||
|
||||
{ echo ""; echo "Clang - No STL"; } | tee -a ../log.txt
|
||||
SetTestName "Clang - No STL"
|
||||
PrintHeader
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
@ -449,13 +279,29 @@ clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=clang CXX=clang++ cmake -E chdir bclang cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ..
|
||||
cmake --build bclang
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Passed"
|
||||
PassedCompilation
|
||||
else
|
||||
echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
FailedCompilation
|
||||
exit $?
|
||||
fi
|
||||
|
||||
##{ echo ""; echo "Clang - No STL - User defined traits"; } | tee -a ../log.txt
|
||||
SetTestName "Clang - No STL - Force C++03"
|
||||
PrintHeader
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=clang CXX=clang++ cmake -E chdir bclang cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON ..
|
||||
cmake --build bclang
|
||||
if [ $? -eq 0 ]; then
|
||||
PassedCompilation
|
||||
else
|
||||
FailedCompilation
|
||||
exit $?
|
||||
fi
|
||||
|
||||
#SetTestName "Clang - No STL - User defined traits"
|
||||
#PrintHeader
|
||||
#rm -rdf bgcc
|
||||
#rm -rdf bclang
|
||||
#cmake -E make_directory bgcc bclang
|
||||
@ -463,13 +309,320 @@ fi
|
||||
#CC=clang CXX=clang++ cmake -E chdir bclang cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=ON -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ..
|
||||
#cmake --build bclang
|
||||
#if [ $? -eq 0 ]; then
|
||||
# echo "Passed"
|
||||
# PassedCompilation
|
||||
#else
|
||||
# echo "****************\n**** Failed ****\n****************" | tee -a ../log.txt
|
||||
# FailedCompilation
|
||||
# exit $?
|
||||
#fi
|
||||
|
||||
{ echo ""
|
||||
echo "-----------------------------------------------"
|
||||
echo " All Checks Completed OK"
|
||||
echo "-----------------------------------------------"; } | tee -a ../log.txt
|
||||
###############################################################################
|
||||
cd ../c++14 || exit 1
|
||||
|
||||
SetCxxStandard "14"
|
||||
|
||||
SetTestName "GCC - STL"
|
||||
PrintHeader
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=gcc CXX=g++ cmake -E chdir bgcc cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ..
|
||||
cmake --build bgcc
|
||||
if [ $? -eq 0 ]; then
|
||||
PassedCompilation
|
||||
else
|
||||
FailedCompilation
|
||||
exit $?
|
||||
fi
|
||||
|
||||
SetTestName "GCC - STL - Force C++03"
|
||||
PrintHeader
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=gcc CXX=g++ cmake -E chdir bgcc cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON ..
|
||||
cmake --build bgcc
|
||||
if [ $? -eq 0 ]; then
|
||||
PassedCompilation
|
||||
else
|
||||
FailedCompilation
|
||||
exit $?
|
||||
fi
|
||||
|
||||
SetTestName "GCC - No STL"
|
||||
PrintHeader
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=gcc CXX=g++ cmake -E chdir bgcc cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ..
|
||||
cmake --build bgcc
|
||||
if [ $? -eq 0 ]; then
|
||||
PassedCompilation
|
||||
else
|
||||
FailedCompilation
|
||||
exit $?
|
||||
fi
|
||||
|
||||
SetTestName "GCC - No STL - Force C++03"
|
||||
PrintHeader
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=gcc CXX=g++ cmake -E chdir bgcc cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON ..
|
||||
cmake --build bgcc
|
||||
if [ $? -eq 0 ]; then
|
||||
PassedCompilation
|
||||
else
|
||||
FailedCompilation
|
||||
exit $?
|
||||
fi
|
||||
|
||||
#SetTestName "GCC - No STL - User defined traits"
|
||||
#PrintHeader
|
||||
#rm -rdf bgcc
|
||||
#rm -rdf bclang
|
||||
#cmake -E make_directory bgcc bclang
|
||||
#g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
#CC=gcc CXX=g++ cmake -E chdir bgcc cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=ON -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ..
|
||||
#cmake --build bgcc
|
||||
#if [ $? -eq 0 ]; then
|
||||
# PassedCompilation
|
||||
#else
|
||||
# FailedCompilation
|
||||
# exit $?
|
||||
#fi
|
||||
|
||||
SetTestName "Clang - STL"
|
||||
PrintHeader
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=clang CXX=clang++ cmake -E chdir bclang cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ..
|
||||
cmake --build bclang
|
||||
if [ $? -eq 0 ]; then
|
||||
PassedCompilation
|
||||
else
|
||||
FailedCompilation
|
||||
exit $?
|
||||
fi
|
||||
|
||||
SetTestName "Clang - STL - Force C++03"
|
||||
PrintHeader
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=clang CXX=clang++ cmake -E chdir bclang cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON ..
|
||||
cmake --build bclang
|
||||
if [ $? -eq 0 ]; then
|
||||
PassedCompilation
|
||||
else
|
||||
FailedCompilation
|
||||
exit $?
|
||||
fi
|
||||
|
||||
SetTestName "Clang - No STL"
|
||||
PrintHeader
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=clang CXX=clang++ cmake -E chdir bclang cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ..
|
||||
cmake --build bclang
|
||||
if [ $? -eq 0 ]; then
|
||||
PassedCompilation
|
||||
else
|
||||
FailedCompilation
|
||||
exit $?
|
||||
fi
|
||||
|
||||
SetTestName "Clang - No STL - Force C++03"
|
||||
PrintHeader
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=clang CXX=clang++ cmake -E chdir bclang cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON ..
|
||||
cmake --build bclang
|
||||
if [ $? -eq 0 ]; then
|
||||
PassedCompilation
|
||||
else
|
||||
FailedCompilation
|
||||
exit $?
|
||||
fi
|
||||
|
||||
#SetTestName "Clang - No STL - User defined traits"
|
||||
#PrintHeader
|
||||
#rm -rdf bgcc
|
||||
#rm -rdf bclang
|
||||
#cmake -E make_directory bgcc bclang
|
||||
#clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
#CC=clang CXX=clang++ cmake -E chdir bclang cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=ON -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ..
|
||||
#cmake --build bclang
|
||||
#if [ $? -eq 0 ]; then
|
||||
# PassedCompilation
|
||||
#else
|
||||
# FailedCompilation
|
||||
# exit $?
|
||||
#fi
|
||||
|
||||
###############################################################################
|
||||
cd ../c++17 || exit 1
|
||||
|
||||
SetCxxStandard "17"
|
||||
|
||||
SetTestName "GCC - STL"
|
||||
PrintHeader
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=gcc CXX=g++ cmake -E chdir bgcc cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ..
|
||||
cmake --build bgcc
|
||||
if [ $? -eq 0 ]; then
|
||||
PassedCompilation
|
||||
else
|
||||
FailedCompilation
|
||||
exit $?
|
||||
fi
|
||||
|
||||
SetTestName "GCC - STL - Force C++03"
|
||||
PrintHeader
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=gcc CXX=g++ cmake -E chdir bgcc cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON ..
|
||||
cmake --build bgcc
|
||||
if [ $? -eq 0 ]; then
|
||||
PassedCompilation
|
||||
else
|
||||
FailedCompilation
|
||||
exit $?
|
||||
fi
|
||||
|
||||
SetTestName "GCC - No STL"
|
||||
PrintHeader
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=gcc CXX=g++ cmake -E chdir bgcc cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ..
|
||||
cmake --build bgcc
|
||||
if [ $? -eq 0 ]; then
|
||||
PassedCompilation
|
||||
else
|
||||
FailedCompilation
|
||||
exit $?
|
||||
fi
|
||||
|
||||
SetTestName "GCC - No STL - Force C++03"
|
||||
PrintHeader
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=gcc CXX=g++ cmake -E chdir bgcc cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON ..
|
||||
cmake --build bgcc
|
||||
if [ $? -eq 0 ]; then
|
||||
PassedCompilation
|
||||
else
|
||||
FailedCompilation
|
||||
exit $?
|
||||
fi
|
||||
|
||||
#SetTestName "GCC - No STL - User defined traits"
|
||||
#PrintHeader
|
||||
#rm -rdf bgcc
|
||||
#rm -rdf bclang
|
||||
#cmake -E make_directory bgcc bclang
|
||||
#g++ --version | head --lines=1 | tee -a ../log.txt
|
||||
#CC=gcc CXX=g++ cmake -E chdir bgcc cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=ON -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ..
|
||||
#cmake --build bgcc
|
||||
#if [ $? -eq 0 ]; then
|
||||
# PassedCompilation
|
||||
#else
|
||||
# FailedCompilation
|
||||
# exit $?
|
||||
#fi
|
||||
|
||||
SetTestName "Clang - STL"
|
||||
PrintHeader
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=clang CXX=clang++ cmake -E chdir bclang cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ..
|
||||
cmake --build bclang
|
||||
if [ $? -eq 0 ]; then
|
||||
PassedCompilation
|
||||
else
|
||||
FailedCompilation
|
||||
exit $?
|
||||
fi
|
||||
|
||||
SetTestName "Clang - STL - Force C++03"
|
||||
PrintHeader
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=clang CXX=clang++ cmake -E chdir bclang cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON ..
|
||||
cmake --build bclang
|
||||
if [ $? -eq 0 ]; then
|
||||
PassedCompilation
|
||||
else
|
||||
FailedCompilation
|
||||
exit $?
|
||||
fi
|
||||
|
||||
SetTestName "Clang - No STL"
|
||||
PrintHeader
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=clang CXX=clang++ cmake -E chdir bclang cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ..
|
||||
cmake --build bclang
|
||||
if [ $? -eq 0 ]; then
|
||||
PassedCompilation
|
||||
else
|
||||
FailedCompilation
|
||||
exit $?
|
||||
fi
|
||||
|
||||
SetTestName "Clang - No STL - Force C++03"
|
||||
PrintHeader
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
CC=clang CXX=clang++ cmake -E chdir bclang cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON ..
|
||||
cmake --build bclang
|
||||
if [ $? -eq 0 ]; then
|
||||
PassedCompilation
|
||||
else
|
||||
FailedCompilation
|
||||
exit $?
|
||||
fi
|
||||
|
||||
#SetTestName "Clang - No STL - User defined traits"
|
||||
#PrintHeader
|
||||
#rm -rdf bgcc
|
||||
#rm -rdf bclang
|
||||
#cmake -E make_directory bgcc bclang
|
||||
#clang++ --version | head --lines=1 | tee -a ../log.txt
|
||||
#CC=clang CXX=clang++ cmake -E chdir bclang cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=ON -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF ..
|
||||
#cmake --build bclang
|
||||
#if [ $? -eq 0 ]; then
|
||||
# PassedCompilation
|
||||
#else
|
||||
# FailedCompilation
|
||||
# exit $?
|
||||
#fi
|
||||
|
||||
ChecksCompleted
|
||||
|
||||
199
test/runtests.sh
199
test/runtests.sh
@ -28,6 +28,11 @@ else
|
||||
opt="-O0"
|
||||
fi
|
||||
|
||||
export ASAN_OPTIONS=symbol_line=1
|
||||
export ASAN_SYMBOLIZER_PATH=/usr/lib/llvm-14/bin//llvm-symbolizer
|
||||
|
||||
echo -e
|
||||
|
||||
testname="Test Name Not Set"
|
||||
|
||||
FailColour='\033[38;2;255;128;128m'
|
||||
@ -35,9 +40,7 @@ PassColour='\033[38;2;128;255;128m'
|
||||
TitleColour='\033[38;2;100;173;254m'
|
||||
NoColour='\033[0m'
|
||||
|
||||
echo -e
|
||||
|
||||
TestName()
|
||||
SetTestName()
|
||||
{
|
||||
testname=$1
|
||||
}
|
||||
@ -47,8 +50,8 @@ PrintHeader()
|
||||
echo "${TitleColour}"
|
||||
echo "----------------------------------------------------------------------------" | tee -a log.txt
|
||||
echo " $testname" | tee -a log.txt
|
||||
echo " Language standard : C++${cxx_standard}"
|
||||
echo " Optimisation : ${opt}"
|
||||
echo " Language standard : C++${cxx_standard}" | tee -a log.txt
|
||||
echo " Optimisation : ${opt}" | tee -a log.txt
|
||||
echo "----------------------------------------------------------------------------" | tee -a log.txt
|
||||
echo "${NoColour}"
|
||||
}
|
||||
@ -56,14 +59,18 @@ PrintHeader()
|
||||
PassedCompilation()
|
||||
{
|
||||
echo "${PassColour}"
|
||||
echo "<<<< Passed Compilation - $testname >>>>" | tee -a ../log.txt
|
||||
echo "-----------------------------------------------" | tee -a log.txt
|
||||
echo " Passed Compilation - $testname" | tee -a ../log.txt
|
||||
echo "-----------------------------------------------" | tee -a log.txt
|
||||
echo "${NoColour}"
|
||||
}
|
||||
|
||||
PassedTests()
|
||||
{
|
||||
echo "${PassColour}"
|
||||
echo "<<<< Passed Tests - $testname >>>>" | tee -a ../log.txt
|
||||
echo "-----------------------------------------------" | tee -a log.txt
|
||||
echo " Passed Tests - $testname" | tee -a ../log.txt
|
||||
echo "-----------------------------------------------" | tee -a log.txt
|
||||
echo "${NoColour}"
|
||||
}
|
||||
|
||||
@ -97,72 +104,93 @@ TestsCompleted()
|
||||
#******************************************************************************
|
||||
# GCC
|
||||
#******************************************************************************
|
||||
#TestName "GCC - STL"
|
||||
#PrintHeader
|
||||
#rm * -rf
|
||||
#gcc --version | grep gcc | tee -a log.txt
|
||||
#cmake -DCMAKE_CXX_COMPILER="g++" -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_OPTIMISATION=$opt -DETL_CXX_STANDARD=$cxx_standard ..
|
||||
#make -j4
|
||||
#if [ $? -eq 0 ]; then
|
||||
# PassedCompilation
|
||||
#else
|
||||
# FailedCompilation
|
||||
# exit $?
|
||||
#fi
|
||||
#./etl_tests
|
||||
#if [ $? -eq 0 ]; then
|
||||
# PassedTests
|
||||
#else
|
||||
# FailedTests
|
||||
# exit $?
|
||||
#fi
|
||||
SetTestName "GCC - STL"
|
||||
PrintHeader
|
||||
rm * -rf
|
||||
gcc --version | grep gcc | tee -a log.txt
|
||||
cmake -DCMAKE_CXX_COMPILER="g++" -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_OPTIMISATION=$opt -DETL_CXX_STANDARD=$cxx_standard ..
|
||||
make -j4
|
||||
if [ $? -eq 0 ]; then
|
||||
PassedCompilation
|
||||
else
|
||||
FailedCompilation
|
||||
exit $?
|
||||
fi
|
||||
./etl_tests
|
||||
if [ $? -eq 0 ]; then
|
||||
PassedTests
|
||||
else
|
||||
FailedTests
|
||||
exit $?
|
||||
fi
|
||||
|
||||
#******************************************************************************
|
||||
#TestName "GCC - STL - Force C++03"
|
||||
#PrintHeader
|
||||
#rm * -rf
|
||||
#gcc --version | grep gcc | tee -a log.txt
|
||||
#cmake -DCMAKE_CXX_COMPILER="g++" -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_OPTIMISATION=$opt -DETL_CXX_STANDARD=$cxx_standard ..
|
||||
#make -j4
|
||||
#if [ $? -eq 0 ]; then
|
||||
# PassedCompilation
|
||||
#else
|
||||
# FailedCompilation
|
||||
# exit $?
|
||||
#fi
|
||||
#./etl_tests
|
||||
#if [ $? -eq 0 ]; then
|
||||
# PassedTests
|
||||
#else
|
||||
# FailedTests
|
||||
# exit $?
|
||||
#fi
|
||||
SetTestName "GCC - STL - Force C++03"
|
||||
PrintHeader
|
||||
rm * -rf
|
||||
gcc --version | grep gcc | tee -a log.txt
|
||||
cmake -DCMAKE_CXX_COMPILER="g++" -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_OPTIMISATION=$opt -DETL_CXX_STANDARD=$cxx_standard ..
|
||||
make -j4
|
||||
if [ $? -eq 0 ]; then
|
||||
PassedCompilation
|
||||
else
|
||||
FailedCompilation
|
||||
exit $?
|
||||
fi
|
||||
./etl_tests
|
||||
if [ $? -eq 0 ]; then
|
||||
PassedTests
|
||||
else
|
||||
FailedTests
|
||||
exit $?
|
||||
fi
|
||||
|
||||
#******************************************************************************
|
||||
#TestName "GCC - No STL"
|
||||
#PrintHeader
|
||||
#rm * -rf
|
||||
#gcc --version | grep gcc | tee -a log.txt
|
||||
#cmake -DCMAKE_CXX_COMPILER="g++" -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_OPTIMISATION=$opt -DETL_CXX_STANDARD=$cxx_standard ..
|
||||
#make -j4
|
||||
#if [ $? -eq 0 ]; then
|
||||
# PassedCompilation
|
||||
#else
|
||||
# FailedCompilation
|
||||
# exit $?
|
||||
#fi
|
||||
#./etl_tests
|
||||
#if [ $? -eq 0 ]; then
|
||||
# PassedTests
|
||||
#else
|
||||
# FailedTests
|
||||
# exit $?
|
||||
#fi
|
||||
SetTestName "GCC - No STL"
|
||||
PrintHeader
|
||||
rm * -rf
|
||||
gcc --version | grep gcc | tee -a log.txt
|
||||
cmake -DCMAKE_CXX_COMPILER="g++" -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_OPTIMISATION=$opt -DETL_CXX_STANDARD=$cxx_standard ..
|
||||
make -j4
|
||||
if [ $? -eq 0 ]; then
|
||||
PassedCompilation
|
||||
else
|
||||
FailedCompilation
|
||||
exit $?
|
||||
fi
|
||||
./etl_tests
|
||||
if [ $? -eq 0 ]; then
|
||||
PassedTests
|
||||
else
|
||||
FailedTests
|
||||
exit $?
|
||||
fi
|
||||
|
||||
#******************************************************************************
|
||||
SetTestName "GCC - No STL - Force C++03"
|
||||
PrintHeader
|
||||
rm * -rf
|
||||
gcc --version | grep gcc | tee -a log.txt
|
||||
cmake -DCMAKE_CXX_COMPILER="g++" -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_OPTIMISATION=$opt -DETL_CXX_STANDARD=$cxx_standard ..
|
||||
make -j4
|
||||
if [ $? -eq 0 ]; then
|
||||
PassedCompilation
|
||||
else
|
||||
FailedCompilation
|
||||
exit $?
|
||||
fi
|
||||
./etl_tests
|
||||
if [ $? -eq 0 ]; then
|
||||
PassedTests
|
||||
else
|
||||
FailedTests
|
||||
exit $?
|
||||
fi
|
||||
|
||||
#******************************************************************************
|
||||
# CLANG
|
||||
#******************************************************************************
|
||||
TestName "Clang - STL"
|
||||
SetTestName "Clang - STL"
|
||||
PrintHeader
|
||||
rm * -rf
|
||||
clang --version | grep clang | tee -a log.txt
|
||||
@ -183,7 +211,7 @@ else
|
||||
fi
|
||||
|
||||
#******************************************************************************
|
||||
TestName "Clang - STL - Force C++03"
|
||||
SetTestName "Clang - STL - Force C++03"
|
||||
PrintHeader
|
||||
rm * -rf
|
||||
clang --version | grep clang | tee -a log.txt
|
||||
@ -204,7 +232,7 @@ else
|
||||
fi
|
||||
|
||||
#******************************************************************************
|
||||
TestName "Clang - No STL"
|
||||
SetTestName "Clang - No STL"
|
||||
PrintHeader
|
||||
rm * -rf
|
||||
clang --version | grep clang | tee -a log.txt
|
||||
@ -225,7 +253,28 @@ else
|
||||
fi
|
||||
|
||||
#******************************************************************************
|
||||
TestName "GCC - Initializer list test"
|
||||
SetTestName "Clang - No STL - Force C++03"
|
||||
PrintHeader
|
||||
rm * -rf
|
||||
clang --version | grep clang | tee -a log.txt
|
||||
cmake -DCMAKE_CXX_COMPILER="clang++" -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_OPTIMISATION=$opt -DETL_CXX_STANDARD=$cxx_standard ..
|
||||
make -j4
|
||||
if [ $? -eq 0 ]; then
|
||||
PassedCompilation
|
||||
else
|
||||
FailedCompilation
|
||||
exit $?
|
||||
fi
|
||||
./etl_tests
|
||||
if [ $? -eq 0 ]; then
|
||||
PassedTests
|
||||
else
|
||||
FailedTests
|
||||
exit $?
|
||||
fi
|
||||
|
||||
#******************************************************************************
|
||||
SetTestName "GCC - Initializer list test"
|
||||
PrintHeader
|
||||
cd ../etl_initializer_list/
|
||||
mkdir -p build-make || exit 1
|
||||
@ -249,7 +298,7 @@ else
|
||||
fi
|
||||
|
||||
#******************************************************************************
|
||||
TestName "Clang - Initializer list test"
|
||||
SetTestName "Clang - Initializer list test"
|
||||
PrintHeader
|
||||
rm * -rf
|
||||
clang --version | grep clang | tee -a log.txt
|
||||
@ -270,7 +319,7 @@ else
|
||||
fi
|
||||
|
||||
#******************************************************************************
|
||||
TestName "GCC - Error macros 'log_errors' test"
|
||||
SetTestName "GCC - Error macros 'log_errors' test"
|
||||
PrintHeader
|
||||
cd ../../etl_error_handler/log_errors
|
||||
mkdir -p build-make || exit 1
|
||||
@ -294,7 +343,7 @@ else
|
||||
fi
|
||||
|
||||
#******************************************************************************
|
||||
TestName "GCC - Error macros 'exceptions' test"
|
||||
SetTestName "GCC - Error macros 'exceptions' test"
|
||||
PrintHeader
|
||||
cd ../../../etl_error_handler/exceptions
|
||||
mkdir -p build-make || exit 1
|
||||
@ -318,7 +367,7 @@ else
|
||||
fi
|
||||
|
||||
#******************************************************************************
|
||||
TestName "GCC - Error macros 'log_errors and exceptions' test"
|
||||
SetTestName "GCC - Error macros 'log_errors and exceptions' test"
|
||||
PrintHeader
|
||||
cd ../../../etl_error_handler/log_errors_and_exceptions
|
||||
mkdir -p build-make || exit 1
|
||||
@ -342,7 +391,7 @@ else
|
||||
fi
|
||||
|
||||
#******************************************************************************
|
||||
TestName "Clang - Error macros 'log_errors' test"
|
||||
SetTestName "Clang - Error macros 'log_errors' test"
|
||||
PrintHeader
|
||||
cd ../../../etl_error_handler/log_errors
|
||||
mkdir -p build-make || exit 1
|
||||
@ -366,7 +415,7 @@ else
|
||||
fi
|
||||
|
||||
#******************************************************************************
|
||||
TestName "Clang - Error macros 'exceptions' test"
|
||||
SetTestName "Clang - Error macros 'exceptions' test"
|
||||
PrintHeader
|
||||
cd ../../../etl_error_handler/exceptions
|
||||
mkdir -p build-make || exit 1
|
||||
@ -390,7 +439,7 @@ else
|
||||
fi
|
||||
|
||||
#******************************************************************************
|
||||
TestName "Clang - Error macros 'log_errors and exceptions' test"
|
||||
SetTestName "Clang - Error macros 'log_errors and exceptions' test"
|
||||
PrintHeader
|
||||
cd ../../../etl_error_handler/log_errors_and_exceptions
|
||||
mkdir -p build-make || exit 1
|
||||
|
||||
@ -722,8 +722,8 @@ namespace
|
||||
View view(etldata.begin(), etldata.end());
|
||||
CView cview(etldata.begin(), etldata.end());
|
||||
|
||||
size_t hashdata = etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(&etldata[0]),
|
||||
reinterpret_cast<const uint8_t*>(&etldata[etldata.size()]));
|
||||
size_t hashdata = etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(etldata.data()),
|
||||
reinterpret_cast<const uint8_t*>(etldata.data() + etldata.size()));
|
||||
|
||||
size_t hashview = etl::hash<View>()(view);
|
||||
size_t hashcview = etl::hash<CView>()(cview);
|
||||
|
||||
@ -563,10 +563,8 @@ namespace
|
||||
Data5 aw5;
|
||||
size_t hash = etl::hash<Data5>()(aw5);
|
||||
|
||||
|
||||
size_t compare_hash = etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(data5), reinterpret_cast<const uint8_t*>(data5 + 5U));
|
||||
|
||||
|
||||
CHECK_EQUAL(compare_hash, hash);
|
||||
}
|
||||
};
|
||||
|
||||
@ -74,7 +74,7 @@ namespace
|
||||
CHECK(&data[0] == iBegin);
|
||||
|
||||
int* iEnd = etl::end(data);
|
||||
CHECK(&data[SIZE] == iEnd);
|
||||
CHECK((data + SIZE) == iEnd);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
@ -87,7 +87,7 @@ namespace
|
||||
CHECK(&data[0] == iBegin);
|
||||
|
||||
const int* const iEnd = etl::end(data);
|
||||
CHECK(&data[SIZE] == iEnd);
|
||||
CHECK((data + SIZE) == iEnd);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -79,7 +79,7 @@ namespace
|
||||
//*************************************************************************
|
||||
TEST(distance_non_random)
|
||||
{
|
||||
ptrdiff_t d = etl::distance(non_random_iterator<int>(&dataA[0]), non_random_iterator<int>(&dataA[SIZE]));
|
||||
ptrdiff_t d = etl::distance(non_random_iterator<int>(&dataA[0]), non_random_iterator<int>(dataA + SIZE));
|
||||
|
||||
CHECK_EQUAL(SIZE, d);
|
||||
}
|
||||
@ -87,7 +87,7 @@ namespace
|
||||
//*************************************************************************
|
||||
TEST(distance_random)
|
||||
{
|
||||
ptrdiff_t d = etl::distance(random_iterator<int>(&dataA[0]), random_iterator<int>(&dataA[SIZE]));
|
||||
ptrdiff_t d = etl::distance(random_iterator<int>(&dataA[0]), random_iterator<int>(dataA + SIZE));
|
||||
|
||||
CHECK_EQUAL(SIZE, d);
|
||||
}
|
||||
|
||||
@ -208,11 +208,11 @@ namespace
|
||||
{
|
||||
Data data = { { { 0, 1, 2 }, { 3, 4, 5 }, { 6, 7, 8 }, { 9, 10, 11 } } };
|
||||
|
||||
CHECK(data.end() == &data[SIZE1]);
|
||||
CHECK(data[0].end() == &data[0][SIZE2]);
|
||||
CHECK(data[1].end() == &data[1][SIZE2]);
|
||||
CHECK(data[2].end() == &data[2][SIZE2]);
|
||||
CHECK(data[3].end() == &data[3][SIZE2]);
|
||||
CHECK(data.end() == &data[0] + SIZE1);
|
||||
CHECK(data[0].end() == &data[0][0] + SIZE2);
|
||||
CHECK(data[1].end() == &data[1][0] + SIZE2);
|
||||
CHECK(data[2].end() == &data[2][0] + SIZE2);
|
||||
CHECK(data[3].end() == &data[3][0] + SIZE2);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
@ -232,11 +232,11 @@ namespace
|
||||
{
|
||||
const Data data = { { { 0, 1, 2 }, { 3, 4, 5 }, { 6, 7, 8 }, { 9, 10, 11 } } };
|
||||
|
||||
CHECK(data.cend() == &data[SIZE1]);
|
||||
CHECK(data[0].cend() == &data[0][SIZE2]);
|
||||
CHECK(data[1].cend() == &data[1][SIZE2]);
|
||||
CHECK(data[2].cend() == &data[2][SIZE2]);
|
||||
CHECK(data[3].cend() == &data[3][SIZE2]);
|
||||
CHECK(data.cend() == &data[0] + SIZE1);
|
||||
CHECK(data[0].cend() == &data[0][0] + SIZE2);
|
||||
CHECK(data[1].cend() == &data[1][0] + SIZE2);
|
||||
CHECK(data[2].cend() == &data[2][0] + SIZE2);
|
||||
CHECK(data[3].cend() == &data[3][0] + SIZE2);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
@ -246,11 +246,11 @@ namespace
|
||||
|
||||
typedef etl::multi_array<int, SIZE2> Inner;
|
||||
|
||||
CHECK(data.rbegin() == Data::reverse_iterator(&data[SIZE1]));
|
||||
CHECK(data[0].rbegin() == Inner::reverse_iterator(&data[0][SIZE2]));
|
||||
CHECK(data[1].rbegin() == Inner::reverse_iterator(&data[1][SIZE2]));
|
||||
CHECK(data[2].rbegin() == Inner::reverse_iterator(&data[2][SIZE2]));
|
||||
CHECK(data[3].rbegin() == Inner::reverse_iterator(&data[3][SIZE2]));
|
||||
CHECK(data.rbegin() == Data::reverse_iterator(&data[0] + SIZE1));
|
||||
CHECK(data[0].rbegin() == Inner::reverse_iterator(&data[0][0] + SIZE2));
|
||||
CHECK(data[1].rbegin() == Inner::reverse_iterator(&data[1][0] + SIZE2));
|
||||
CHECK(data[2].rbegin() == Inner::reverse_iterator(&data[2][0] + SIZE2));
|
||||
CHECK(data[3].rbegin() == Inner::reverse_iterator(&data[3][0] + SIZE2));
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
@ -274,11 +274,11 @@ namespace
|
||||
|
||||
typedef etl::multi_array<int, SIZE2> Inner;
|
||||
|
||||
CHECK(data.rbegin() == Data::const_reverse_iterator(&data[SIZE1]));
|
||||
CHECK(data[0].rbegin() == Inner::const_reverse_iterator(&data[0][SIZE2]));
|
||||
CHECK(data[1].rbegin() == Inner::const_reverse_iterator(&data[1][SIZE2]));
|
||||
CHECK(data[2].rbegin() == Inner::const_reverse_iterator(&data[2][SIZE2]));
|
||||
CHECK(data[3].rbegin() == Inner::const_reverse_iterator(&data[3][SIZE2]));
|
||||
CHECK(data.rbegin() == Data::const_reverse_iterator(data.data() + data.size()));
|
||||
CHECK(data[0].rbegin() == Inner::const_reverse_iterator(&data[0][0] + SIZE2));
|
||||
CHECK(data[1].rbegin() == Inner::const_reverse_iterator(&data[1][0] + SIZE2));
|
||||
CHECK(data[2].rbegin() == Inner::const_reverse_iterator(&data[2][0] + SIZE2));
|
||||
CHECK(data[3].rbegin() == Inner::const_reverse_iterator(&data[3][0] + SIZE2));
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
|
||||
@ -253,11 +253,11 @@ namespace
|
||||
Data data;
|
||||
Copy(initial, data);
|
||||
|
||||
CHECK(data.end() == &data[SIZE1]);
|
||||
CHECK(data[0].end() == &data[0][SIZE2]);
|
||||
CHECK(data[1].end() == &data[1][SIZE2]);
|
||||
CHECK(data[2].end() == &data[2][SIZE2]);
|
||||
CHECK(data[3].end() == &data[3][SIZE2]);
|
||||
CHECK(data.end() == &data[0] + SIZE1);
|
||||
CHECK(data[0].end() == &data[0][0] + SIZE2);
|
||||
CHECK(data[1].end() == &data[1][0] + SIZE2);
|
||||
CHECK(data[2].end() == &data[2][0] + SIZE2);
|
||||
CHECK(data[3].end() == &data[3][0] + SIZE2);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
@ -281,11 +281,11 @@ namespace
|
||||
Data data;
|
||||
Copy(initial, data);
|
||||
|
||||
CHECK(data.cend() == &data[SIZE1]);
|
||||
CHECK(data[0].cend() == &data[0][SIZE2]);
|
||||
CHECK(data[1].cend() == &data[1][SIZE2]);
|
||||
CHECK(data[2].cend() == &data[2][SIZE2]);
|
||||
CHECK(data[3].cend() == &data[3][SIZE2]);
|
||||
CHECK(data.cend() == &data[0] + SIZE1);
|
||||
CHECK(data[0].cend() == &data[0][0] + SIZE2);
|
||||
CHECK(data[1].cend() == &data[1][0] + SIZE2);
|
||||
CHECK(data[2].cend() == &data[2][0] + SIZE2);
|
||||
CHECK(data[3].cend() == &data[3][0] + SIZE2);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
@ -297,11 +297,11 @@ namespace
|
||||
|
||||
typedef etl::multi_vector<int, SIZE2> Inner;
|
||||
|
||||
CHECK(data.rbegin() == Data::reverse_iterator(&data[SIZE1]));
|
||||
CHECK(data[0].rbegin() == Inner::reverse_iterator(&data[0][SIZE2]));
|
||||
CHECK(data[1].rbegin() == Inner::reverse_iterator(&data[1][SIZE2]));
|
||||
CHECK(data[2].rbegin() == Inner::reverse_iterator(&data[2][SIZE2]));
|
||||
CHECK(data[3].rbegin() == Inner::reverse_iterator(&data[3][SIZE2]));
|
||||
CHECK(data.rbegin() == Data::reverse_iterator(&data[0] + SIZE1));
|
||||
CHECK(data[0].rbegin() == Inner::reverse_iterator(&data[0][0] + SIZE2));
|
||||
CHECK(data[1].rbegin() == Inner::reverse_iterator(&data[1][0] + SIZE2));
|
||||
CHECK(data[2].rbegin() == Inner::reverse_iterator(&data[2][0] + SIZE2));
|
||||
CHECK(data[3].rbegin() == Inner::reverse_iterator(&data[3][0] + SIZE2));
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
@ -329,11 +329,11 @@ namespace
|
||||
|
||||
typedef etl::multi_vector<int, SIZE2> Inner;
|
||||
|
||||
CHECK(data.rbegin() == Data::const_reverse_iterator(&data[SIZE1]));
|
||||
CHECK(data[0].rbegin() == Inner::const_reverse_iterator(&data[0][SIZE2]));
|
||||
CHECK(data[1].rbegin() == Inner::const_reverse_iterator(&data[1][SIZE2]));
|
||||
CHECK(data[2].rbegin() == Inner::const_reverse_iterator(&data[2][SIZE2]));
|
||||
CHECK(data[3].rbegin() == Inner::const_reverse_iterator(&data[3][SIZE2]));
|
||||
CHECK(data.rbegin() == Data::const_reverse_iterator(&data[0] + SIZE1));
|
||||
CHECK(data[0].rbegin() == Inner::const_reverse_iterator(&data[0][0] + SIZE2));
|
||||
CHECK(data[1].rbegin() == Inner::const_reverse_iterator(&data[1][0] + SIZE2));
|
||||
CHECK(data[2].rbegin() == Inner::const_reverse_iterator(&data[2][0] + SIZE2));
|
||||
CHECK(data[3].rbegin() == Inner::const_reverse_iterator(&data[3][0] + SIZE2));
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
|
||||
@ -620,8 +620,8 @@ namespace
|
||||
View view(etldata.begin(), etldata.end());
|
||||
CView cview(etldata.begin(), etldata.end());
|
||||
|
||||
size_t hashdata = etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(&etldata[0]),
|
||||
reinterpret_cast<const uint8_t*>(&etldata[etldata.size()]));
|
||||
size_t hashdata = etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(etldata.data()),
|
||||
reinterpret_cast<const uint8_t*>(etldata.data() + etldata.size()));
|
||||
|
||||
size_t hashview = etl::hash<View>()(view);
|
||||
size_t hashcview = etl::hash<CView>()(cview);
|
||||
|
||||
@ -610,8 +610,8 @@ namespace
|
||||
View view(etldata.begin(), etldata.end());
|
||||
CView cview(etldata.begin(), etldata.end());
|
||||
|
||||
size_t hashdata = etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(&etldata[0]),
|
||||
reinterpret_cast<const uint8_t*>(&etldata[etldata.size()]));
|
||||
size_t hashdata = etl::private_hash::generic_hash<size_t>(reinterpret_cast<const uint8_t*>(etldata.data()),
|
||||
reinterpret_cast<const uint8_t*>(etldata.data() + etldata.size()));
|
||||
|
||||
size_t hashview = etl::hash<View>()(view);
|
||||
size_t hashcview = etl::hash<CView>()(cview);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user