From 2c32b47eae2f0b30e727738c6dae33ac074e3ef9 Mon Sep 17 00:00:00 2001 From: Nicholas Guriev Date: Sun, 27 Sep 2026 14:34:35 +0300 Subject: [PATCH] Always inline dyn_array_iterator constructor on AArch64 --- include/gsl/dyn_array | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/gsl/dyn_array b/include/gsl/dyn_array index 8d2e6257..cf5123a5 100644 --- a/include/gsl/dyn_array +++ b/include/gsl/dyn_array @@ -300,6 +300,10 @@ namespace details constexpr auto operator[](difference_type pos) const -> reference { return *(*this + pos); } private: +#if defined(__GNUC__) && defined(__aarch64__) && !defined(__NO_INLINE__) + // workaround bug 108912 in g++ on aarch64 + [[gnu::always_inline]] +#endif /* __GNUC__ && __aarch64__ && !__NO_INLINE__ */ constexpr dyn_array_iterator(pointer ptr, size_type pos, size_type end_pos) : _ptr{ptr}, _pos{pos}, _end_pos{end_pos} {