5759 Commits

Author SHA1 Message Date
John Wellbelove
c2e7e8aca9 Updated version and release notes 20.43.3 2025-09-12 20:38:41 +01:00
John Wellbelove
54ba9a8aea Updated version and release notes 2025-09-12 20:20:19 +01:00
John Wellbelove
5c91f8b573 Removed ETL_NOEXCEPT from delegate operator(), call_if(), and call_or()
Removed ETL_NOEXCEPT from closureoperator(), call_if(), and call_or()
2025-09-12 20:19:27 +01:00
John Wellbelove
9a9a96f5c5 Moved and renamed common class to base 2025-09-12 12:48:18 +01:00
John Wellbelove
fd7edc937d Added insert/remove tests 2025-09-12 12:47:51 +01:00
John Wellbelove
4165448282 Changed timer to match the internal layout of other timers 2025-09-12 12:47:18 +01:00
John Wellbelove
95ff22821c Added more ETL_NOEXCEPT to etl::array 2025-09-11 19:57:19 +01:00
John Wellbelove
5dfdea7115 Removed #define ETL_DEBUG as this is a project define 2025-09-11 19:57:18 +01:00
John Wellbelove
59ec7855c1 Add force CI check on piull requests 2025-09-11 19:57:18 +01:00
John Wellbelove
bc027139e2 Delete project navis files 2025-09-11 19:57:17 +01:00
David Ockey
042a62154e Removed forced unsigned int cast in type_def bit-shift operators (#1178)
* Removed UB in type_def bit-shift operators

* Changed shift operators to allow both signed and unsigned operands for shifts
This allows the library user to explicitly use unsigned values to avoid UB

* Fixed constexpr errors for CPP11

* Changed is_arithmetic checks to use is_integral since valid shifts require integral operands

* Removed need for CPP11 since changes are CPP03 compatible
2025-09-11 19:57:16 +01:00
John Wellbelove
b5e065e1c8 Updated version and release notes 2025-09-11 19:57:16 +01:00
Roland Reichwein
193b6ba3e8 Fix etl::typed_storage by supporting omitted destructors (#1182)
* Added coderabbitai configuration

* Added builtin mem function tests

* Modified etl::typed_storage

* Modified etl::typed_storage

# Conflicts:
#	include/etl/alignment.h

* Added ETL_NOEXCEPT and ETL_NOEXCEPT_IF_NO_THROW

* Added etl::typed_storage_ext and swap for same

* Added etl::typed_storage_ext and swap for same

# Conflicts:
#	include/etl/alignment.h

* Added release notes

* Fixes to GCC -O2 errors

* Changed char* parameters to value_type* parameters

* Fixed compilation issues for const containers unit tests

* Added automatic selection of __builtin_memxxx functions for GCC and clang

* Added enhanced coderabbit configuration

* Updated version and release notes

* Disabled constexpr const container tests for C++11

* Attempted fixes for MacOS compilation

* Attempted fixes for MacOS compilation

* Attempted fixes for MacOS compilation

* Attempted fixes for MacOS compilation

* Updated version and release notes

* feat: removed unreachable break statements (#1169)

* Updated version and release notes

* Modified etl::typed_storage

# Conflicts:
#	include/etl/alignment.h

* Fix etl::typed_storage by supporting omitted destructors

In a recent change to alignment.h, the etl::typed_storage was
changed in a way that in case of an already constructed object,
the object is created via assignment.

However, this contradicts the original use case that led to
etl::typed_storage in the first place:
https://github.com/ETLCPP/etl/pull/1023

The goal is to omit destructors (and at the same time support
classes with deleted assignment operators), so they can be optimized out
at link time.

This change reverts commit ac7b268 to restore the original
functionality and changes the test to reflect the original
use case.

* Fix missing create() in non-C++11 typed_storage_ext constructor

* Typo fix

---------

Co-authored-by: John Wellbelove <john.wellbelove@asterconsulting.co.uk>
Co-authored-by: Drew Rife <darife@jlg.com>
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2025-09-11 19:57:15 +01:00
Roland Reichwein
ea91dabee5 Regression fix: Support zero arguments emplace() in etl::optional (#1183)
* Added coderabbitai configuration

* Added builtin mem function tests

* Modified etl::typed_storage

* Modified etl::typed_storage

# Conflicts:
#	include/etl/alignment.h

* Added ETL_NOEXCEPT and ETL_NOEXCEPT_IF_NO_THROW

* Added etl::typed_storage_ext and swap for same

* Added etl::typed_storage_ext and swap for same

# Conflicts:
#	include/etl/alignment.h

* Added release notes

* Fixes to GCC -O2 errors

* Changed char* parameters to value_type* parameters

* Fixed compilation issues for const containers unit tests

* Added automatic selection of __builtin_memxxx functions for GCC and clang

* Added enhanced coderabbit configuration

* Updated version and release notes

* Disabled constexpr const container tests for C++11

* Attempted fixes for MacOS compilation

* Attempted fixes for MacOS compilation

* Attempted fixes for MacOS compilation

* Attempted fixes for MacOS compilation

* Updated version and release notes

* feat: removed unreachable break statements (#1169)

* Updated version and release notes

* Modified etl::typed_storage

# Conflicts:
#	include/etl/alignment.h

* Support zero arguments emplace() in etl::optional

For non-fundamental types, a recent change in etl::optional was
introduced that doesn't support zero arguments emplace() anymore.

This change fixes it and adds the respective test.

---------

Co-authored-by: John Wellbelove <john.wellbelove@asterconsulting.co.uk>
Co-authored-by: Drew Rife <darife@jlg.com>
2025-09-11 19:57:15 +01:00
John Wellbelove
df30de2877 removed navis file from project 2025-09-11 19:57:14 +01:00
John Wellbelove
91aa52988b Added insert and remove timer callback tests to test_message_timer_interrupt and test_message_timer_locked 2025-09-11 19:28:03 +01:00
John Wellbelove
14c9e9d48e Merge branch 'pull-request/#1155-Added-callbacks-when-a-timer-is-inserted-or-removed' of https://github.com/ETLCPP/etl into pull-request/#1155-Added-callbacks-when-a-timer-is-inserted-or-removed 2025-09-11 18:39:12 +01:00
Mario Luzeiro
5f70befa4a
Added callbacks when a timer is inserted or removed (#1155) 2025-09-11 18:38:48 +01:00
John Wellbelove
73cf38cc57 Merge branch 'pull-request/#1155-Added-callbacks-when-a-timer-is-inserted-or-removed' of https://github.com/ETLCPP/etl into pull-request/#1155-Added-callbacks-when-a-timer-is-inserted-or-removed
# Conflicts:
#	test/vs2022/etl.vcxproj.filters
2025-09-11 18:27:54 +01:00
John Wellbelove
96201f7919 Add force CI check on piull requests 2025-09-11 18:21:54 +01:00
John Wellbelove
96f494aeae Delete project navis files 2025-09-11 18:21:10 +01:00
David Ockey
603c977733
Removed forced unsigned int cast in type_def bit-shift operators (#1178)
* Removed UB in type_def bit-shift operators

* Changed shift operators to allow both signed and unsigned operands for shifts
This allows the library user to explicitly use unsigned values to avoid UB

* Fixed constexpr errors for CPP11

* Changed is_arithmetic checks to use is_integral since valid shifts require integral operands

* Removed need for CPP11 since changes are CPP03 compatible
2025-09-11 16:23:50 +01:00
John Wellbelove
db57df1e41 Merge branch 'development'
# Conflicts:
#	include/etl/alignment.h
20.43.2
2025-09-10 20:54:48 +01:00
John Wellbelove
476c965a1f Updated version and release notes 2025-09-10 20:52:16 +01:00
mike919192
999c210d28
Debug assert (#1175)
* debug assert POC

* Swith to ETL_CONSTEXPR14

* Finish TODO checks

* First and last can be equal

* Add ETL_DEBUG_THROW_EXCEPTIONS

* Try allowing c++11 constexpr

* Add macro for throwing from c++11 constexpr

* Remove braces

* Add extra asserts in size_t overload functions

* Fill out debug asserts

* Line up comments
2025-09-10 10:52:22 +01:00
John Wellbelove
5add8a94a7 Merge branch 'development' of https://github.com/ETLCPP/etl into development 2025-09-10 10:50:09 +01:00
John Wellbelove
02853e5bb6 removed navis file from project 2025-09-10 10:50:02 +01:00
Roland Reichwein
d6d78eb8bd
Fix etl::typed_storage by supporting omitted destructors (#1182)
* Added coderabbitai configuration

* Added builtin mem function tests

* Modified etl::typed_storage

* Modified etl::typed_storage

# Conflicts:
#	include/etl/alignment.h

* Added ETL_NOEXCEPT and ETL_NOEXCEPT_IF_NO_THROW

* Added etl::typed_storage_ext and swap for same

* Added etl::typed_storage_ext and swap for same

# Conflicts:
#	include/etl/alignment.h

* Added release notes

* Fixes to GCC -O2 errors

* Changed char* parameters to value_type* parameters

* Fixed compilation issues for const containers unit tests

* Added automatic selection of __builtin_memxxx functions for GCC and clang

* Added enhanced coderabbit configuration

* Updated version and release notes

* Disabled constexpr const container tests for C++11

* Attempted fixes for MacOS compilation

* Attempted fixes for MacOS compilation

* Attempted fixes for MacOS compilation

* Attempted fixes for MacOS compilation

* Updated version and release notes

* feat: removed unreachable break statements (#1169)

* Updated version and release notes

* Modified etl::typed_storage

# Conflicts:
#	include/etl/alignment.h

* Fix etl::typed_storage by supporting omitted destructors

In a recent change to alignment.h, the etl::typed_storage was
changed in a way that in case of an already constructed object,
the object is created via assignment.

However, this contradicts the original use case that led to
etl::typed_storage in the first place:
https://github.com/ETLCPP/etl/pull/1023

The goal is to omit destructors (and at the same time support
classes with deleted assignment operators), so they can be optimized out
at link time.

This change reverts commit ac7b268 to restore the original
functionality and changes the test to reflect the original
use case.

* Fix missing create() in non-C++11 typed_storage_ext constructor

* Typo fix

---------

Co-authored-by: John Wellbelove <john.wellbelove@asterconsulting.co.uk>
Co-authored-by: Drew Rife <darife@jlg.com>
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2025-09-10 10:41:09 +01:00
Roland Reichwein
75606fc079
Regression fix: Support zero arguments emplace() in etl::optional (#1183)
* Added coderabbitai configuration

* Added builtin mem function tests

* Modified etl::typed_storage

* Modified etl::typed_storage

# Conflicts:
#	include/etl/alignment.h

* Added ETL_NOEXCEPT and ETL_NOEXCEPT_IF_NO_THROW

* Added etl::typed_storage_ext and swap for same

* Added etl::typed_storage_ext and swap for same

# Conflicts:
#	include/etl/alignment.h

* Added release notes

* Fixes to GCC -O2 errors

* Changed char* parameters to value_type* parameters

* Fixed compilation issues for const containers unit tests

* Added automatic selection of __builtin_memxxx functions for GCC and clang

* Added enhanced coderabbit configuration

* Updated version and release notes

* Disabled constexpr const container tests for C++11

* Attempted fixes for MacOS compilation

* Attempted fixes for MacOS compilation

* Attempted fixes for MacOS compilation

* Attempted fixes for MacOS compilation

* Updated version and release notes

* feat: removed unreachable break statements (#1169)

* Updated version and release notes

* Modified etl::typed_storage

# Conflicts:
#	include/etl/alignment.h

* Support zero arguments emplace() in etl::optional

For non-fundamental types, a recent change in etl::optional was
introduced that doesn't support zero arguments emplace() anymore.

This change fixes it and adds the respective test.

---------

Co-authored-by: John Wellbelove <john.wellbelove@asterconsulting.co.uk>
Co-authored-by: Drew Rife <darife@jlg.com>
2025-09-10 10:37:30 +01:00
John Wellbelove
73243883ce Merge branch 'master' of https://github.com/ETLCPP/etl
# Conflicts:
#	.coderabbit.yaml
#	include/etl/alignment.h
#	support/Release notes.txt
20.43.1
2025-09-07 09:36:47 +01:00
John Wellbelove
ac7b268c32 Modified etl::typed_storage
# Conflicts:
#	include/etl/alignment.h
2025-09-07 09:31:40 +01:00
John Wellbelove
7301617708 Updated version and release notes 2025-09-07 09:26:54 +01:00
John Wellbelove
0d0e290474 Changed #if ETL_USING_STL to #if ETL_USING_STD_OSTREAM around std::basic_ostream
Fixed warnings when using ETL_DEBUG_COUNT in non debug build
2025-09-06 20:51:13 +01:00
John Wellbelove
2fa82d579e Macro changes to fix issues 2025-09-06 20:51:12 +01:00
John Wellbelove
d27adeb510 #1171 optional of a const arary can't be emplaced with gcc-15 2025-09-06 20:51:11 +01:00
John Wellbelove
ea61ff7770 Updated version and release notes 2025-09-06 20:51:10 +01:00
John Wellbelove
0326edef42 Replaced ETL_NOEXCEPT_IF_NO_THROW with ETL_NOEXCEPT_EXPR(ETL_NOT_USING_EXCEPTIONS) 2025-09-06 20:51:10 +01:00
Roland Reichwein
363d2e8ab5
Make call interfaces in etl::delegate and etl::closure conditionally noexcept (#1172)
* Make all call interfaces in etl::delegate conditionally noexcept

This covers the case when the invoked code can throw.

For operator(), this was already implemented. Do similarly for the
other call interfaces.

* Make all call interfaces in etl::closure conditionally noexcept

Similar to etl::delegate, the contained delegate might be
throwing. Apply the same solution as in etl::delegate to make
the call interfaces conditionally noexcept.
2025-09-06 20:50:58 +01:00
John Wellbelove
97cd7e90dc Changed #if ETL_USING_STL to #if ETL_USING_STD_OSTREAM around std::basic_ostream
Fixed warnings when using ETL_DEBUG_COUNT in non debug build
2025-09-06 20:49:39 +01:00
John Wellbelove
1b65c4ec91 Macro changes to fix issues 2025-09-06 16:25:20 +01:00
Roland Reichwein
92f07a66fc
Fix .clang-format (#1177)
* Added coderabbitai configuration

* Fix .clang-format

---------

Co-authored-by: John Wellbelove <john.wellbelove@asterconsulting.co.uk>
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2025-09-06 14:12:34 +01:00
John Wellbelove
0536abe826 #1171 optional of a const arary can't be emplaced with gcc-15 2025-09-06 11:23:20 +01:00
John Wellbelove
228d789a6c Updated version and release notes 2025-09-06 10:19:31 +01:00
John Wellbelove
ce1c0e504b Replaced ETL_NOEXCEPT_IF_NO_THROW with ETL_NOEXCEPT_EXPR(ETL_NOT_USING_EXCEPTIONS) 2025-09-06 09:46:11 +01:00
David Ockey
b85b071a3e
Made all 'noexcept' statements use ETL_NOEXCEPT macro (#1179)
* Added coderabbitai configuration

* Made all 'noexcept' statements use ETL_NOEXCEPT macro

---------

Co-authored-by: John Wellbelove <john.wellbelove@asterconsulting.co.uk>
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
2025-09-06 09:32:03 +01:00
John Wellbelove
8c29238116 Updated version and release notes 2025-09-04 19:53:15 +01:00
Drew Rife
4bdb55cfe6 feat: removed unreachable break statements (#1169) 2025-09-04 19:53:14 +01:00
John Wellbelove
8dc10b7a37 Updated version and release notes 2025-09-04 19:53:14 +01:00
John Wellbelove
c2143f5d6c Attempted fixes for MacOS compilation 2025-09-04 19:53:13 +01:00
John Wellbelove
99432a8e71 Attempted fixes for MacOS compilation 2025-09-04 19:53:12 +01:00