• Nathan Bronson's avatar
    support VS2019 in UninitializedMemoryHacks, fix VS2017 · b077851b
    Nathan Bronson authored
    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
    b077851b
CMakeLists.txt 34.5 KB