Build fails for VS 2017 15.8
envgap__aeron-io__aeron-567
01 / FAILURE SIGNATURE
As reported upstream
**Error:**
Not a benchmark task.
- In a clean container the reported failure did not reproduce, or the known fix did not make the project run.
02 / ENVIRONMENT RECIPE
- Base commit
4b84ff7d449720fccf634eef7e1fc0c01e80af22- Manifest
CMakeLists.txt- Reproduce
Awaiting issue-specific recipe- Run under trace
Awaiting a meaningful runtime command
03 / ORIGINAL ISSUE TEXT
aeron-io/aeron #567 · read the original issue
Just tried to build v1.11.1. Basically, either `_ENABLE_EXTENDED_ALIGNED_STORAGE` or `_DISABLE_EXTENDED_ALIGNED_STORAGE` must (apparently) be defined. See failing build [here](https://ci.appveyor.com/project/helmesjo/conan-aeron/build/job/stpmn3ny1nscni2a#L461). **Error:** ``` c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.15.26726\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_ALIGNED_STORAGE to silence this message and get the old non-conformant behavior. (compiling source file C:\Users\appveyor\.conan\data\aeron\1.11.1\helmesjo\stable\build\a7a6633935b73a476db9d5ac9aade5d58663ba47\source_subfolder\aeron-client\src\main\cpp\Aeron.cpp) [C:\Users\appveyor\.c ``` **[VS patch notes regarding this](https://blogs.msdn.microsoft.com/vcblog/2018/09/18/stl-features-and-fixes-in-vs-2017-15-8/)**: ``` Fixed a long-standing bug that caused aligned_storage to treat requests for alignment greater than alignof(max_align_t) as requests for alignment equal to alignof(max_align_t). We can’t enable this fix unconditionally without breaking ABI since doing so changes layout of types with members whose type is a highly-aligned specialization of aligned_storage. As an interim solution until a future ABI-breaking release, compilation of programs that use highly-aligned aligned_storage produces a compile error explaining this issue and asking the user to define either _ENABLE_EXTENDED_ALIGNED_STORAGE to request the conforming-but-potentially-ABI-breaking behavior, or _DISABLE_EXTENDED_ALIGNED_STORAGE to request the previous incorrect-but-ABI-safe behavior. ```
04 / LABELS
Labels from the report text only; not yet run
No supported category has been assigned.
Label rules and the text that matched
[]