From c2ca0637a7716d57ce87fa6c026c0271490d4aee Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Thu, 23 Mar 2017 15:03:54 -0700 Subject: [PATCH] ircd::util: Expand the va_rtti array to 12 elements (192 bytes). --- include/ircd/util.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/include/ircd/util.h b/include/ircd/util.h index 988bc7995..8b834dc77 100644 --- a/include/ircd/util.h +++ b/include/ircd/util.h @@ -626,11 +626,11 @@ syscall(function&& f, // exceptions and logger et al in their respective translation units rather than the header // files. // -// Limitations: The choice of a fixed array of 8 is because std::initializer_list doesn't +// Limitations: The choice of a fixed array of 12 is because std::initializer_list doesn't // seem to work and other containers may be heavy in this context. // struct va_rtti -:std::array, 8> +:std::array, 12> { size_t argc; @@ -641,7 +641,7 @@ struct va_rtti template va_rtti(Args&&... args) - :std::array, 8> + :std::array, 12> {{ std::make_pair(std::addressof(args), std::addressof(typeid(Args)))... }} @@ -654,6 +654,7 @@ struct va_rtti } }; +static_assert(sizeof(va_rtti) == 192 + 8, ""); } // namespace util } // namespace ircd