@@ -45,6 +45,7 @@ struct set_qsbr_per_thread_in_main_thread {
4545 // / runs. This ensures the main thread starts out participating in QSBR.
4646 // /
4747 // / \note Fails fatally if unable to allocate the QSBR instance.
48+ // NOLINTNEXTLINE(bugprone-exception-escape)
4849 set_qsbr_per_thread_in_main_thread () noexcept {
4950 try {
5051 auto main_thread_qsbr_reclamator_instance =
@@ -96,6 +97,7 @@ thread_local std::unique_ptr<qsbr_per_thread>
9697// LCOV_EXCL_STOP
9798
9899[[nodiscard]] qsbr_state::type
100+ // NOLINTNEXTLINE(bugprone-exception-escape)
99101qsbr_state::atomic_fetch_dec_threads_in_previous_epoch (
100102 std::atomic<qsbr_state::type>& word) noexcept {
101103 const auto old_word = word.fetch_sub (1 , std::memory_order_acq_rel);
@@ -212,6 +214,7 @@ void free_orphan_list(detail::dealloc_vector_list_node* list) noexcept {
212214
213215} // namespace
214216
217+ // NOLINTNEXTLINE(bugprone-exception-escape)
215218void qsbr_per_thread::orphan_pending_requests () noexcept {
216219 add_to_orphan_list (
217220 qsbr::instance ().orphaned_previous_interval_dealloc_requests ,
@@ -232,6 +235,7 @@ void qsbr_per_thread::orphan_pending_requests() noexcept {
232235}
233236
234237UNODB_DETAIL_DISABLE_CLANG_21_WARNING (" -Wnrvo" )
238+ // NOLINTNEXTLINE(bugprone-exception-escape)
235239qsbr_epoch qsbr::register_thread () noexcept {
236240 auto old_state = get_state ();
237241
@@ -417,6 +421,7 @@ void qsbr::thread_epoch_change_barrier() noexcept {
417421#endif
418422}
419423
424+ // NOLINTNEXTLINE(bugprone-exception-escape)
420425qsbr_epoch qsbr::remove_thread_from_previous_epoch (
421426 qsbr_epoch current_global_epoch
422427#ifndef NDEBUG
@@ -498,6 +503,7 @@ void qsbr::epoch_change_barrier_and_handle_orphans(
498503 }
499504}
500505
506+ // NOLINTNEXTLINE(bugprone-exception-escape)
501507qsbr_epoch qsbr::change_epoch (qsbr_epoch current_global_epoch,
502508 bool single_thread_mode) noexcept {
503509 epoch_change_barrier_and_handle_orphans (single_thread_mode);
0 commit comments