diff --git a/include/ircd/allocator.h b/include/ircd/allocator.h index 35f22fd6e..9bf4cb635 100644 --- a/include/ircd/allocator.h +++ b/include/ircd/allocator.h @@ -577,7 +577,7 @@ struct ircd::allocator::node::allocator auto address(const_reference x) const { return &x; } template - void construct(U *p, args&&... a) + void construct(U *p, args&&... a) noexcept { new (p) U(std::forward(a)...); } diff --git a/include/ircd/db/database/events.h b/include/ircd/db/database/events.h index 3d578b061..c5ae98dba 100644 --- a/include/ircd/db/database/events.h +++ b/include/ircd/db/database/events.h @@ -34,6 +34,7 @@ struct ircd::db::database::events final void OnStallConditionsChanged(const rocksdb::WriteStallInfo &) noexcept override; events(database *const &d) + noexcept :d{d} {} }; diff --git a/include/ircd/db/database/prefix_transform.h b/include/ircd/db/database/prefix_transform.h index e63f792e0..d497f7818 100644 --- a/include/ircd/db/database/prefix_transform.h +++ b/include/ircd/db/database/prefix_transform.h @@ -28,7 +28,9 @@ struct ircd::db::database::prefix_transform final bool InRange(const Slice &key) const noexcept override; Slice Transform(const Slice &key) const noexcept override; - prefix_transform(database *const &d, db::prefix_transform user) + prefix_transform(database *const &d, + db::prefix_transform user) + noexcept :d{d} ,user{std::move(user)} {} diff --git a/include/ircd/net/wait.h b/include/ircd/net/wait.h index 476e67131..ae068f0b5 100644 --- a/include/ircd/net/wait.h +++ b/include/ircd/net/wait.h @@ -58,19 +58,21 @@ struct ircd::net::wait_opts -1 }; - wait_opts(const ready &, const milliseconds &timeout); - wait_opts(const ready &); + wait_opts(const ready &, const milliseconds &timeout) noexcept; + wait_opts(const ready &) noexcept; wait_opts() = default; }; inline ircd::net::wait_opts::wait_opts(const ready &type) +noexcept :type{type} {} inline ircd::net::wait_opts::wait_opts(const ready &type, const milliseconds &timeout) +noexcept :type{type} ,timeout{timeout} {} diff --git a/include/ircd/string_view.h b/include/ircd/string_view.h index 46283ea3d..7b6f043d1 100644 --- a/include/ircd/string_view.h +++ b/include/ircd/string_view.h @@ -182,6 +182,7 @@ struct ircd::string_view {} string_view(const std::string &string) + noexcept :string_view{string.data(), string.size()} {} diff --git a/include/ircd/util/unit_literal.h b/include/ircd/util/unit_literal.h index 06e79850e..aa44867d0 100644 --- a/include/ircd/util/unit_literal.h +++ b/include/ircd/util/unit_literal.h @@ -23,6 +23,7 @@ #define IRCD_UNIT_LITERAL_UL(name, morphism) \ constexpr auto \ operator"" _ ## name(const unsigned long long val) \ +noexcept \ { \ return (morphism); \ } @@ -32,6 +33,7 @@ operator"" _ ## name(const unsigned long long val) \ #define IRCD_UNIT_LITERAL_LL(name, morphism) \ constexpr auto \ operator"" _ ## name(const long long val) \ +noexcept \ { \ return (morphism); \ } @@ -41,6 +43,7 @@ operator"" _ ## name(const long long val) \ #define IRCD_UNIT_LITERAL_LD(name, morphism) \ constexpr auto \ operator"" _ ## name(const long double val) \ +noexcept \ { \ return (morphism); \ } diff --git a/ircd/net.cc b/ircd/net.cc index 2b142cc2b..b29bf4764 100644 --- a/ircd/net.cc +++ b/ircd/net.cc @@ -488,8 +488,8 @@ noexcept // net/wait.h // -ircd::net::wait_opts -const ircd::net::wait_opts_default; +decltype(ircd::net::wait_opts_default) +ircd::net::wait_opts_default; /// Wait for socket to become "ready" using a ctx::future. ircd::ctx::future