Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add noexcept throughout #105

Open
adamfowleruk opened this issue Sep 3, 2021 · 0 comments
Open

Add noexcept throughout #105

adamfowleruk opened this issue Sep 3, 2021 · 0 comments
Labels
enhancement New feature or request
Milestone

Comments

@adamfowleruk
Copy link
Contributor

Please start with a use case description for a USER of this enhancement

[Who] As an embedded developer
[What] I need to ensure my code does not throw exceptions
[Value] In order to achieve reliability

[Who] As an embedded developer
[What] I need to see evidence in the API of no exceptions being thrown (i.e. noexcept)
[Value] In order to be reassured that the API will work on my devices

Describe the potential solution you'd like

A clear and concise description of what you want to happen within Herald.

  • Remove all remaining uses of STL classes and functions that are not noexcept
  • Mark all methods, constructors, destructors of our Herald classes as noexcept
  • Ensure tests for boundary conditions are present for all classes to validate this
  • Rebuild zephyr demo apps without std::exception support, and retest

Describe alternatives you've considered

A clear and concise description of any alternative solutions or features you've considered.

Considered leaving it as status quo, but reliability concerns for the upcoming wearable release means this needs addressing.

Additional context

Add any other context or screenshots about the feature request here.

Relative priority

Please give an indication of a relative priority for this enhancement.

High for v2.2 due to stability requirements.

@adamfowleruk adamfowleruk added the enhancement New feature or request label Sep 3, 2021
@adamfowleruk adamfowleruk added this to the v2.2 milestone Sep 3, 2021
adamfowleruk added a commit to adamfowleruk/herald-for-cpp that referenced this issue Sep 5, 2021
… throw clauses on Zephyr.

Removed throw clauses via ifdef if compiled on zephyr
- Uses std::terminate instead
- Did not save any SRAM on its own (See stdlib terminate definition)
Signed-off-by: Adam Fowler <adam@adamfowler.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Development

No branches or pull requests

1 participant