support VS2019 in UninitializedMemoryHacks, fix VS2017
Summary: VS2019 changes the internal implementation of basic_string and vector. This diff adds support for the new internals, and fixes a linkage problem on VS2017. It also adds the UninitializedMemoryHacksTest to the getdeps-built tests. For basic_string a single version handles both old and new. basic_string::_Eos changed from public to private, so code that uses the template specialization hack to invoke it when it is private will work for the older public method as well. vector does not have any suitable internal methods, so we need to adapt to the new internal structure. This diff fixes the issues addressed by https://github.com/facebook/folly/pull/1345 , but uses an alternate strategy to avoid reinterpret_cast. Reviewed By: yfeldblum Differential Revision: D20838799 fbshipit-source-id: eba7db2bd6feade1349d51be224c481a9156732b
Showing
Please register or sign in to comment