Why does inadvertently passing a std::string
instead of a char const*
to a variadic function crash on x86-32 but not x86-64?

Looking at the calling convention and the small string optimization.