Visual Studio 14 CTP3 is now available, with support for C++11 thread_local, C++11 quick_exit/at_quick_exit, and C++14 sized deallocation. For reference, here's an updated table. (Previous tables: VS 2008 and VS 2010, VS 2010 and VS 2012, VS 2013 and the Nov 2013 CTP (i.e. VS14 CTP0), VS 2013 and VS14 CTP1. "CTP" stands for "Community Technology Preview" and means "alpha".)
C++11 Core Language Features
Non-static data member initializers
Trailing return types
Right angle brackets
Default template args for function templates
Strongly typed enums
Forward declared enums
Explicit conversion operators
char16_t and char32_t
Unicode string literals
Raw string literals
Universal character names in literals
Standard-layout and trivial types
Defaulted and deleted functions
Extended friend declarations
Local and unnamed types as template args
override and final
Minimal GC support
C++11 Core Language Features: Concurrency
Reworded sequence points
Strong compare and exchange
Data-dependency ordering: attributes
quick_exit and at_quick_exit
Atomics in signal handlers
C++11 Core Language Features: C99
Extended integer types
C++14 Core Language Features
Tweaked wording for contextual conversions
auto and decltype(auto) return types
NSDMIs for aggregates
Also, here's a slide from Herb Sutter outlining what's likely to ship in VS14 RTM (which, as a reminder, is scheduled for 2015):
Stephan T. Lavavej
Senior Developer - Visual C++ Libraries
The Nov 2013 CTP shows "C++TS? await" as partial, what's missing?
char16_t and char32_t would be great!
It seems such a shame that VC++ developers have to wait a full release cycle for new features to be available, compared to the quick release cycle of the open source compilers.
Good work nonetheless. Hope to see more green soon.
(I'd also like more detail when the tables state "partial", maybe a footnote would be appropriate).
Great, good job. Is there any date we can expect VS 2014 to be released?
horeaper: I've asked the dev working on await to comment (I know very little about the feature).
Rob G: We're releasing these alphas at a higher frequency than before. You can help us by trying them out and reporting any issues you find - it's way easier to fix bugs now, compared to right before RTM.
See blogs.msdn.com/.../c-11-14-feature-tables-for-visual-studio-14-ctp1.aspx for detailed explanations of the Partial entries.
Kris: 14 is a version number, not a year. VS14 RTM is planned for 2015.
horeaper: re: await (partial) in Nov 2013 CTP
await that we shipped in Nov 2013 CTP had several limitations:
1. It was only working with non-standard concurrency::task type
2. It was using windows fibers in its implementation that limited its scalability and interoperability
In VS14 we are addressing these limitations and submitting an updated proposal for C++TS.
This is idiotic and insulting in the extreme. There is no reason to tie the IDE to the C++ compiler. Your customers KNOW you are lying when you claim a tight tie between the IDE and the C++ compiler. Even more insulting is how oblivious you are to the impact of changing everything rather than just the compiler. Then again, you all live in a very weird cocoon divorced from reality.
Amazing work guys !
Keep on going, it looks amazing.
Inherited ctors is very useful
Thanks for the update. Good to see things progressing steadily.
How about C features? Is there a similar list for C99 and C11 too?
Customers can't know VC team is lying, because there is no lie. Or present evidence. Same would go for anybody claiming "lies".
Can you please confirm if this issue is fixed: connect.microsoft.com/.../c99-visual-studio-2013-update-3-fixed-1-2-of-the-union-issue
Installed 2014 and tested, it still exists!!!!!!!!!!! PLEASE fix it.
Thanks for setting the version number straight! (no-more-one-version-lag like VS2013's directory was VC12... now 14 is 14 please don't mess with it)
Can you please briefly explain the difference between "Standard Library features" and "Core Language features", which of them supersedes the other and at what point we can say certain version of language is fully supported?
Jack of Jacks: I've asked the compiler team to comment about C99/C11 Core Language features. I'm not aware of any having been implemented since 2013 RTM (which, as I mentioned in blogs.msdn.com/.../c-11-14-stl-features-fixes-and-breaking-changes-in-vs-2013.aspx , supported C99 _Bool, compound literals, designated initializers, and variable declarations), but my knowledge is limited - since I work on the C++ Standard Library, I rarely interact with the C Core Language.
I know more about the C99 Standard Library (incorporated into C++11/14 by reference). Our support is now complete, including <uchar.h>/<cuchar> (but with char16_t/char32_t being simulated in C++ mode; we're working on it), with the sole exception of <tgmath.h>. (We have <ctgmath> for C++11.)
TomP: While we can't promise when or how a fix will ship, I can tell you that the compiler dev working on your bug marked it (in our internal database) as Testing Fix on Fri 8/22, so things are looking good. Also, I mentioned this in my post and my first comment, but I'll say it again in my Big Voice:
VS14 RTM is planned for 2015.