mirror of
https://github.com/matrix-construct/construct
synced 2024-11-25 16:22:35 +01:00
ircd::util: Fix undefined-var-template linkage related warning.
This commit is contained in:
parent
065343069a
commit
5d71d848a7
3 changed files with 22 additions and 21 deletions
|
@ -41,6 +41,17 @@ struct ircd::cl::work
|
|||
~work() noexcept;
|
||||
};
|
||||
|
||||
namespace ircd
|
||||
{
|
||||
template<>
|
||||
decltype(cl::work::allocator)
|
||||
instance_list<cl::work>::allocator;
|
||||
|
||||
template<>
|
||||
decltype(cl::work::list)
|
||||
instance_list<cl::work>::list;
|
||||
}
|
||||
|
||||
/// Queue profiling convenience
|
||||
struct ircd::cl::work::prof
|
||||
:std::array<nanoseconds, 5>
|
||||
|
|
|
@ -131,6 +131,17 @@ struct ircd::run::changed
|
|||
static void wait(const std::initializer_list<enum level> &);
|
||||
};
|
||||
|
||||
namespace ircd
|
||||
{
|
||||
template<>
|
||||
decltype(run::changed::allocator)
|
||||
instance_list<run::changed>::allocator;
|
||||
|
||||
template<>
|
||||
decltype(run::changed::list)
|
||||
instance_list<run::changed>::list;
|
||||
}
|
||||
|
||||
/// Tool to yield a context until the run::level is RUN or QUIT. Once either is
|
||||
/// satisfied (or if already satisfied) the run::level is checked to be RUN
|
||||
/// otherwise an exception is thrown.
|
||||
|
|
|
@ -54,10 +54,6 @@ struct ircd::util::instance_list
|
|||
~instance_list() noexcept;
|
||||
};
|
||||
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wundefined-var-template"
|
||||
#endif __clang__
|
||||
template<class T>
|
||||
ircd::util::instance_list<T>::instance_list()
|
||||
{
|
||||
|
@ -66,14 +62,7 @@ ircd::util::instance_list<T>::instance_list()
|
|||
it = list.emplace(end(list), static_cast<T *>(this));
|
||||
list.get_allocator().s->next = nullptr;
|
||||
}
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic pop
|
||||
#endif __clang__
|
||||
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wundefined-var-template"
|
||||
#endif __clang__
|
||||
template<class T>
|
||||
ircd::util::instance_list<T>::instance_list(instance_list &&other)
|
||||
noexcept
|
||||
|
@ -83,14 +72,7 @@ noexcept
|
|||
it = list.emplace(end(list), static_cast<T *>(this));
|
||||
list.get_allocator().s->next = nullptr;
|
||||
}
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic pop
|
||||
#endif __clang__
|
||||
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wundefined-var-template"
|
||||
#endif __clang__
|
||||
template<class T>
|
||||
ircd::util::instance_list<T>::instance_list(const instance_list &other)
|
||||
{
|
||||
|
@ -99,9 +81,6 @@ ircd::util::instance_list<T>::instance_list(const instance_list &other)
|
|||
it = list.emplace(end(list), static_cast<T *>(this));
|
||||
list.get_allocator().s->next = nullptr;
|
||||
}
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic pop
|
||||
#endif __clang__
|
||||
|
||||
template<class T>
|
||||
ircd::util::instance_list<T> &
|
||||
|
|
Loading…
Reference in a new issue