* Fix compilation with -Wsign-conversion
For tests with GCC and Clang
Fixes https://github.com/ETLCPP/etl/issues/632
* Fix support of negative Id in type_lookup.h: type_from_id
* Fix element access arithmetic in atomic_gcc_sync.h fetch_add/fetch_sub
* Fix rounded_integral_division.h: divide_round_half_odd(): direction is always 1
* Fixed issue for both multiset and multimap
* Added std::is_sorted checks to all map/set tests
* Updated with coderabbit suggestions
---------
Co-authored-by: John Wellbelove <john.wellbelove@etlcpp.com>
* Make code base with tests compile under gcc-14
* Update buffer_descriptors.h
Following the same style as non-tests headers have. E.g., include/etl/intrusive_list.h & include/etl/intrusive_forward_list.h
---------
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
Updated CI scripts
#786 u8string
#783 Cannot insert existing value to full set
#781 etl::multi_span::iterator::operator *() fails if first span is empty
#780 endian enum_type produces useless-cast warnings
#779 hash.h: warnings produced with -Wfloat-equal
C++14 compiler compatibility
Updated test run scripts
Changed some ETL_ASSERT macros to ETL_ASSERT_OR_RETURN
Changed unit test macros for C++20 compaibility
Updated test run scripts
Updated CMake files to allow C++ standard selection
Replaced ETL_ASSERT_AND_RETURN with ETL_ASSERT_OR_RETURN
Updated C++14 & C++20 unit test compatibility
Changed native char8_t check
Added optional optimisation argument to bash script
* Try to build on Ubuntu-18.04 with Clang-9
* Build with pushes on clang-9 branch too
* Using CC and CXX to set clang-9
* Adding atomic lib for test build on Linux with Clang
* Partial conversion CHECK_EQUAL to CHECK for clang-9
* Replaced CHECK_EQUAL with CHECK
* Replaced CHECK_EQUAL with CHECK
* Replaced CHECK_EQUAL with CHECK
* Replaced CHECK_EQUAL with CHECK
* Replaced CHECK_EQUAL with CHECK
* Replaced CHECK_EQUAL with CHECK
* Replaced CHECK_EQUAL with CHECK
Co-authored-by: finger42 <finger42>