mirror of
https://github.com/matrix-construct/construct
synced 2024-09-27 11:18:51 +02:00
ircd::mods: Attempt to unconfuse backtraces.
This commit is contained in:
parent
2b4c7a3646
commit
82ed7ad69b
2 changed files with 9 additions and 5 deletions
|
@ -149,7 +149,7 @@ ircd::mods::import<T>::operator->()
|
|||
|
||||
template<class T>
|
||||
template<class... args>
|
||||
decltype(auto)
|
||||
inline decltype(auto)
|
||||
ircd::mods::import<T>::operator()(args&&... a)
|
||||
{
|
||||
if(unlikely(!*this))
|
||||
|
@ -184,7 +184,8 @@ const
|
|||
|
||||
template<class T>
|
||||
template<class... args>
|
||||
decltype(auto)
|
||||
__attribute__((artificial))
|
||||
inline decltype(auto)
|
||||
ircd::mods::import<T>::operator()(args&&... a)
|
||||
const
|
||||
{
|
||||
|
|
|
@ -90,7 +90,8 @@ ircd::mods::sym_ptr::get()
|
|||
|
||||
template<class T,
|
||||
class... args>
|
||||
decltype(auto)
|
||||
__attribute__((always_inline, artificial))
|
||||
inline decltype(auto)
|
||||
ircd::mods::sym_ptr::operator()(args&&... a)
|
||||
const
|
||||
{
|
||||
|
@ -146,7 +147,8 @@ template<class F,
|
|||
class O,
|
||||
class... args,
|
||||
typename std::enable_if<std::is_member_pointer<F>::value>::type *>
|
||||
decltype(auto)
|
||||
__attribute__((always_inline, gnu_inline, artificial))
|
||||
inline extern decltype(auto)
|
||||
ircd::mods::invoke(F *const &f,
|
||||
O *const &o,
|
||||
args&&... a)
|
||||
|
@ -160,7 +162,8 @@ ircd::mods::invoke(F *const &f,
|
|||
template<class F,
|
||||
class... args,
|
||||
typename std::enable_if<!std::is_member_pointer<F>::value>::type *>
|
||||
decltype(auto)
|
||||
__attribute__((always_inline, gnu_inline, artificial))
|
||||
inline extern decltype(auto)
|
||||
ircd::mods::invoke(F *const &f,
|
||||
args&&... a)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue