News for hackers. Stuff that matters.
Re:C++17 Compiler Bug Hunt by blattimwind on Friday April 06, 2018 @09:01AM (#16772848)
In a recent project the juniors pushed for C++17 use; I've never seen so many code comments about compiler bugs in a single project that size. It targets only two platforms using GCC and clang.

This is not to say that compiler developers do a bad job; however, don't expect complex language revisions to be production grade from the get-go.

Re:C++17 Compiler Bug Hunt by leeter on Friday April 06, 2018 @09:21AM (#16772966)
Generally I'd stick to C++14 features but test and consider C++17 library features as those are usually much more stable. Around the C++20 timeframe C++17 should be fully stable.
Re:C++17 Compiler Bug Hunt by gumby on Friday April 06, 2018 @12:15PM (#16774383)
We’ve had good success with c++17 starting with an “blank buffer” application about a year ago. The code is clearer and so has fewer bugs. It helped that starting from zero allowed us to enable almost every compiler warning in g++ and clang++.

The bigger problem is interfacing with third party code that has to work with everything back to c+03. I don’t envy those folks in their task!

Re:C++17 Compiler Bug Hunt by ahartmetz on Friday April 06, 2018 @10:09AM (#16773327)
Don't go too far, or you'll get...

auto i = { 1 };

Re:C++17 Compiler Bug Hunt by loup-vaillant on Friday April 06, 2018 @10:22AM (#16773419)
Wait, is that an integer, or an array? Serious question, with initialiser lists I'm not sure any more.
Re:C++17 Compiler Bug Hunt by claudius on Friday April 06, 2018 @10:51AM (#16773643)

    auto i = {5};
is a std::initializer_list<int>, whereas

    auto i{5};
is an int (as of C++17): https://godbolt.org/g/eXXN3o

See also https://stackoverflow.com/questions/25612262/why-does-auto-x... .

Re:C++17 Compiler Bug Hunt by ddavis on Friday April 06, 2018 @11:31AM (#16773989)
If you change the compiler version (to e.g. gcc7) your blurb compiles in C++14.
Re:C++17 Compiler Bug Hunt by wyldfire on Friday April 06, 2018 @10:28AM (#16773475)
Don't sweat it, it's `auto.` Whatever you meant it to be will be deduced by the compiler. ;)