Today, the Visual Studio "14" CTP was released. Soma writes all about it on his blog. Go ahead and click over to read the article, especially the section on Visual C++ conformance updates with an updated conformance roadmap.
Pause.
Cool, huh?
Here are the improvements for Visual C++:
To view the entire release notes, known issues, and installation requirements go here.
Known issues include:
Remember that this is a CTP and is not meant for production environments.
We are proud of this CTP and want to thank you for your ongoing feedback, positive and not so positive. Look for new articles about CTP features this week and most of next week from folks on the Visual C++ team.
Please try the Visual Studio "14" CTP and give us your feedback. Report bugs using Connect and share your suggestions through Send-a-Smile from within the IDE or on our UserVoice site. You can also leave your comments below.
Thank you.
"Native memory diagnostics"
...
O_O
Thanks for the update, good to see the progress!
Particularly happy about the `<chrono>` fixes (finally portable time measurement!), Nov. 2013 CTP features, Filesystem, C99 (question: why `__restrict` instead of the standard `restrict`?), C++14 type-based `std::get` (for `std::tuple`), and compiler bug-fixes (assuming that includes alias templates bugs, STL will know what I'm referring to :]) :-)
BTW, November 2013 compiler CTP had "constexpr (except for member functions)" -- have there been any further improvements here (in particular with regard to C++14 relaxed constexpr restrictions)?
Any ETA on `thread_local` (I've ran into the issue of non-std extension ` __declspec(thread)` only supporting built-ins :-/), expression SFINAE, and C++14 variable templates? :-)
Congrats on the rapid progress towards C++14 conformance!
I'm a bit concerned about the priority of the "expression SFINAE" feature. It is my impression that "duck typing" using SFINAE-based type trait checks is becoming increasingly common in C++14 code. It would be really unfortunate if libraries that use this feature would remain unusable with MSVC for years to come. (Relaxed constexprs and template variables are both nice features, but since GCC doesn't yet support them either, these are not as important as expression SFINAE conformance.)
MattPD> assuming that includes alias templates bugs, STL will know what I'm referring to
Yes - when we implemented integer_sequence and its alias template helpers at the beginning of Dev14's development cycle, we switched over tuple and the rest of the STL to use it (replacing internal machinery that predated alias templates), and encountered a bunch of compiler bugs along the way. All of those bugs have been fixed.
> have there been any further improvements here (in particular with regard to C++14 relaxed constexpr restrictions)?
I am not as familiar with this area (as we haven't attempted to use constexpr in the STL yet), but according to my understanding: there have been several constexpr bugfixes since the Nov 2013 CTP, but member functions are still not yet supported, and C++14's magical constexpr powers are definitely not yet supported.
Stephan> I'm a bit concerned about the priority of the "expression SFINAE" feature.
The compiler team is aware that the STL needs this too (for several C++14 features and Library Issue resolutions), but it is difficult to implement in their current codebase.
'Thread-safe "magic" statics'
Is this a precursor to the eventual implementation of C++ 11's thread_local?
Good work on the CTP's. Any hints on when we can expect an RTM's? I'm still itching to get to use any of the "November 2013 compiler CTP" features in production code. Thanks
@petke: they're looking to release it sometime in 2015, so we'll have to wait a bit longer.
Stick: They are basically unrelated, except that magic statics internally uses our (non-Standard) thread-local storage machinery.
petke: Our policy is that we don't talk about release dates before they're publicly announced - but Soma (our Corp VP) announced in the linked post: "Visual Studio "14" will most likely be available sometime in 2015, with a more complete preview release and final naming available later this year."
Awesome! So many things I've wanted/been nagging about :)
struct A
{
int a[3] = {0,1,2}; // fatal error C1001: An internal error has occurred in the compiler.
};
Wow, that sounds really great! Unfortunately I cannot test it if I cannot install it side-by-side with Visual Studio 2013. I hope this will be fixed in the next CTP.
Any performance improvements?
Auto Vectorization / Loop Unrolling / etc?
What about building a library with support for Linear Algebra?
I hope C11 is not going to take 15 years too.
@ Stephan
"I am not as familiar with this area (as we haven't attempted to use constexpr in the STL yet), but according to my understanding: there have been several constexpr bugfixes since the Nov 2013 CTP, but member functions are still not yet supported, and C++14's magical constexpr powers are definitely not yet supported."
This is a big disappointment for me, I'm sure I'm not alone in requiring these features. Please can you assign some resources.
What should I do to start "Native memory diagnostics" on "Hello World" Win32 Console Application?