On Sat, Aug 25, 2018 at 11:55 PM, degski
On Sun, 26 Aug 2018 at 04:42, Marshall Clow via Boost < boost@lists.boost.org> wrote:
The MSVC intrinsics are missing (for my purposes) important things - like "noexcept" and "constexpr".
They are C-"functions", they "are" noexcept, you can mark any C++-function containing calls to those intrinsics noexcept, and you won't be lying. The constexpr bit depends on what the C++-compiler does with those intrinsic calls, with some exceptions, most intrinsics map to exactly one assembler instruction, i.e. there is no reason why they could not be constexpr (but that is a C++-concept).
They certainly *could be*, but they are not. BTW, the mapping to one assembler instruction is irrelevant for constexpr; rather the question is "does the compiler know how to evaluate that at compile time". -- Marshall