Originally posted by Xelix
View Post
Announcement
Collapse
No announcement yet.
LLVM Clang 6.0 Now Defaults To C++14
Collapse
X
-
-
I tested using C++17 on a C++11 codebase and code compiled but behaved differently during runtime. Can`t really fault C++17 (using namespace std is a horrible but common crime), the reason was that new std::empty was being used instead of an own empty function with different semantics.
So there is enough that can go wrong.
Leave a comment:
-
Originally posted by Xelix View Post
I think it's a sensible decision: Clang is trying to ensure that code written against gcc works fine with as little modification as possible on Clang.
I can't think of anything in C++17 that breaks legal C++14 code, apart from removing a couple of deprecated stuff from the standard library.
Code:struct A{ protected: A(){} }; struct B : A {}; B b{};
Also, if you ever did function type introspection, you'd have to update your code for the 26 possible new function pointer types.
Leave a comment:
-
Originally posted by wizard69 View PostDoes matching GCC in this context make sense? I can understand the desire to be command line compatible in most cases but in thus case it just feels regressive. Beyond that does C++17 throw that many compatibility curves, that is features that break older legal code?
I can't think of anything in C++17 that breaks legal C++14 code, apart from removing a couple of deprecated stuff from the standard library.
Leave a comment:
-
Does matching GCC in this context make sense? I can understand the desire to be command line compatible in most cases but in thus case it just feels regressive. Beyond that does C++17 throw that many compatibility curves, that is features that break older legal code?
Leave a comment:
-
LLVM Clang 6.0 Now Defaults To C++14
Phoronix: LLVM Clang 6.0 Now Defaults To C++14
Up to now LLVM's Clang C/C++ compiler has defaulted to using C++98/C++14 as its default C++ standard, but fortunately that's no more...
Tags: None
Leave a comment: