On Wed, 25 Mar 2026, 12:50 Alexandre Oliva, <[email protected]> wrote:
> On Mar 25, 2026, Jonathan Wakely <[email protected]> wrote: > > > On Tue, 24 Mar 2026 at 06:30, Alexandre Oliva <[email protected]> wrote: > >> template <typename _Tp, size_t _Bytes> > >> struct __intrinsic_type<_Tp, _Bytes, > enable_if_t<__is_vectorizable_v<_Tp> && _Bytes <= 64>> > >> { > >> - static_assert(!is_same_v<_Tp, long double>, > >> + // allow _Tp == long double with -mlong-double-64 > >> + static_assert(!(is_same_v<_Tp, long double> > >> + && sizeof(long double) > sizeof(double)), > >> "no __intrinsic_type support for long double on x86"); > > > Would this be a little easier to understand as: > > > if constexpr (sizeof(long double) > sizeof(double)) > > static_assert(!is_same_v<_Tp, long double>, "..."); > > It would be nicer indeed, but... > we can't do that in class scope, can we? > Oh sorry, I misread the context. The patch is fine then >
