Skip to content

Commit 868a38d

Browse files
committed
better
1 parent 3d0d328 commit 868a38d

1 file changed

Lines changed: 4 additions & 5 deletions

File tree

include/exec/__detail/__system_context_default_impl.hpp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,10 @@ namespace exec::__system_context_default_impl {
301301
/// Keeps track of the backends for the system context interfaces.
302302
template <typename _Interface, typename _Impl>
303303
struct __instance_data {
304+
// work around for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119652
305+
constexpr __instance_data() noexcept // NOLINT(modernize-use-equals-default)
306+
{}
307+
304308
/// Gets the current instance; if there is no instance, uses the current factory to create one.
305309
auto __get_current_instance() -> std::shared_ptr<_Interface> {
306310
// If we have a valid instance, return it.
@@ -338,16 +342,11 @@ namespace exec::__system_context_default_impl {
338342
return __old_factory;
339343
}
340344

341-
// work around for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119652
342-
#if !STDEXEC_GCC() || __GNUC__ != 14
343345
private:
344-
#endif // !STDEXEC_GCC() || __GNUC__ != 14
345-
346346
std::atomic<bool> __instance_locked_{false};
347347
std::shared_ptr<_Interface> __instance_{nullptr};
348348
std::atomic<__parallel_scheduler_backend_factory> __factory_{__default_factory};
349349

350-
private:
351350
/// The default factory returns an instance of `_Impl`.
352351
static auto __default_factory() -> std::shared_ptr<_Interface> {
353352
return std::make_shared<_Impl>();

0 commit comments

Comments
 (0)