MSVC doesn't provide definitions of functions like
std::logic_error::logic_error(const char*), so they are implicitly generated by
the compiler as inline functions. The inline-ness in the libc++ implementations
need to match those of MSVC, otherwise we get an ODR violation leading to a
duplicate symbol error when trying to link.