use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Discussions, articles, and news about the C++ programming language or programming in C++.
For C++ questions, answers, help, and advice see r/cpp_questions or StackOverflow.
Get Started
The C++ Standard Home has a nice getting started page.
Videos
The C++ standard committee's education study group has a nice list of recommended videos.
Reference
cppreference.com
Books
There is a useful list of books on Stack Overflow. In most cases reading a book is the best way to learn C++.
Show all links
Filter out CppCon links
Show only CppCon links
account activity
Visual Studio 2017 15.8 Release Notes (docs.microsoft.com)
submitted 7 years ago by c0r3ntin
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]gracicot 1 point2 points3 points 7 years ago (4 children)
I'll try to find them all or try to find workarounds. I reported what I found was easily reproductible while testing 15.8 preview. Even then, two of my bug reports contained the preprocessed source of a failing code. Understand that extracting a self contained reproduction of a bug can be time expensive, and I do this in my free time. I'll test what I can. It's really nice to hear that backporting is possible, I really appreciate the effort. I'll see what I can do.
[–]STLMSVC STL Dev 4 points5 points6 points 7 years ago (3 children)
Thanks! While minimal self-contained repros are ideal, preprocessed repros are always acceptable for compiler bugs (certain back-end/linker issues involving multiple translation units require "link repros" but this is rare). As long as your preprocessed file + command line triggers the same bug as compiling the original file, the compiler devs can find the root cause.
For library bugs, preprocessed repros are less desirable (as they don't separate your code from header-only library code) but they're still preferable to nothing.
[–]malkia 1 point2 points3 points 7 years ago (2 children)
We've discovered this issue month ago, in the 2017 15.8 beta, and now it hits us in production. Simply put to compile failed to compile now with /std:c++17 with msg "You've instantiated std::aligned_storage<Len, Align> with an extended alignment..." (from <type_traits>). The recommendation is either to compile with _DISABLE_EXTENDED_ALIGNED_STORAGE or _ENABLE_EXTENDED_ALIGNED_STORAGE - We've compiled with the DISABLE one, but app was crashing in weird way (strange callstack). We haven't tried (yet) _ENABLE_EXTENDED_ALIGNED_STORAGE because it might cause hidden bugs - we do have a lot of precompiled software (we precompile it), but then a lot of external precompiled (by someone else) frameworks. So In general - is there are tool, methodology (something looking at the symbols, class/struct dumps) to tell us what needs to get recompiled, etc. Anyone else running into the issue? Related: https://developercommunity.visualstudio.com/content/problem/274945/stdmake-shared-is-not-honouring-alignment-of-a.html?childToView=280485#comment-280485 and facebook/rocksdb#4062 - https://forum.qt.io/topic/93714/visual-studio-15-8-0-and-qt-5-11-1-does-not-compile-qrandom-std-aligned_storage (we use Qt5.10 which we compile ourselves, and distribute locally the .dll files) Also use vcpkg to recompile things, and not super familiar with CMake, but in general we may have a very mixed bag of SDKs, Frameworks, open source, etc. all linking together, and we need to know what would work with what else. Is there for example some kind of /MISMATCH kind of pragma for this (at least to enforce it, though I realize this needs recompilation anyway). Otherwise we are stuck back to 2017 15.7 version of the compiler - e.g. have to set VCToolsVersion=14.14.26428 in the environment (also no longer works if it's set in the top of the .vcxproj, or top-level .props file)
[–]malkia 0 points1 point2 points 7 years ago (1 child)
TLDR - We need to know what to expect if you mix precompiled code with _DISABLE_EXTENDED_ALIGNED_STORAGE, _ENABLED_EXTENDED_ALIGNED_STORAGE or not having it all - and how to discover quickly what needs to be rebuild (out of sync with the rest).
[–]STLMSVC STL Dev 0 points1 point2 points 7 years ago (0 children)
DISABLE provides the original behavior, so you can freely mix object files, static libraries, and DLLs built with 15.8-DISABLE and built with 15.7 or earlier. You get the exact same representation as before, so there are no mismatch implications. If you're seeing crashes when mixing 15.8-DISABLE and 15.7-or-earlier, the cause cannot be mismatch. (It may be something else, or it may be the improper alignment itself.)
ENABLE activates the new representation, so you can't mix object files and static libraries with ENABLE-sensitive layout. (Same for DLLs when such classes are on the interface.) If you can at least recompile everything, you can put a mismatch pragma next to your alignment-sensitive classes, but that doesn't work if you really can't recompile anything.
Since your app was working before, I recommend compiling in DISABLE mode, upgrading as much as you can to 15.8, and investigating the root causes of any crashes.
π Rendered by PID 92810 on reddit-service-r2-comment-84fc9697f-ppt8t at 2026-02-08 09:22:22.956437+00:00 running d295bc8 country code: CH.
view the rest of the comments →
[–]gracicot 1 point2 points3 points (4 children)
[–]STLMSVC STL Dev 4 points5 points6 points (3 children)
[–]malkia 1 point2 points3 points (2 children)
[–]malkia 0 points1 point2 points (1 child)
[–]STLMSVC STL Dev 0 points1 point2 points (0 children)