Closed cboulay closed 2 years ago
In some versions of MSVC, it leads to an error instead of warning:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(1271): error C2338: You've instantiated std::aligned_storage<Len, Align> with an extended alignment (in other words, Align > alignof(max_align_t)). Before VS 2017 15.8, the member type would non-conformingly have an alignment of only alignof(max_align_t). VS 2017 15.8 was fixed to handle this correctly, but the fix inherently changes layout and breaks binary compatibility (only for uses of aligned_storage with extended alignments). Please define either (1) _ENABLE_EXTENDED_ALIGNED_STORAGE to acknowledge that you understand this message and that you actually want a type with an extended alignment, or (2) _DISABLE_EXTENDED_ALIGNEDSTORAGE to silence this message and get the old non-conformant behavior. (compiling source file C:\J\w\BuildSingleReference@5.conan\data\liblsl\1.16.0_\\build\6b414038193353d88ee898dc370d1f19ef53d0aa\source_subfolder\src\sendbuffer.cpp) [C:\J\w\BuildSingleReference@5.conan\data\liblsl\1.16.0_\\build\6b414038193353d88ee898dc370d1f19ef53d0aa\build_subfolder\source_subfolder\lslobj.vcxproj]
After some updates to the core, it's worth taking some time to look at compiler warnings.