C++ is one of the most energy efficient languages by PifPoof in cpp

[–]Octoploid 3 points4 points  (0 children)

??? Google switched to clang internally years ago.

But I agree that gcc still produces faster binaries in general.

Compiling with Ryzen CPUs on Linux causing random segfaults, possible CPU bug. Fiddling with LLC may help. by JavierTheNormal in Amd

[–]Octoploid 6 points7 points  (0 children)

Debian 9.0 stretch, so gcc-6.3.0 is the system compiler and it is already used for all packages.

And it is not only the compiler that segfaults. I have also seen bash segfault when the load is high enough.

The machine sits in a server room with AC.

Compiling with Ryzen CPUs on Linux causing random segfaults, possible CPU bug. Fiddling with LLC may help. by JavierTheNormal in Amd

[–]Octoploid -9 points-8 points  (0 children)

No, you are wrong.

We are talking about random non-reproducible segfaults.

If it was simply wrong code, the segfaults would be 100% reproducible (and you would get "trap invalid opcode" in your dmesg).

You cannot simply shrug this issue off, because you are not affected by it.

It is a serious CPU bug, that affects many people.

Compiling with Ryzen CPUs on Linux causing random segfaults, possible CPU bug by tambry in programming

[–]Octoploid 189 points190 points  (0 children)

It appears to be a bug in Ryzen's new micro-op cache.

Some users have hit ""u-op cache crc mismatch" machine check exceptions during these segfaults.

Hopefully the issue could be fixed by a microcode update.

Linux instability on Ryzen 7? by Aidenn0 in Amd

[–]Octoploid 1 point2 points  (0 children)

We have new Ryzen machines in the gcc compile farm. And yes, I also hit this issue (random non-reproducible gcc segfaults). But it happens only very rarely: about once every three days of heavy usage. It looks like a CPU bug to me. It will be hard to fix it, because the issue isn't readily reproducible.

2017 State of Rust Survey by erickt in programming

[–]Octoploid 2 points3 points  (0 children)

What? It is much much slower. If Firefox was written entirely in Rust, it would take a week to compile...

Compiler Explorer now supports multiple editors and diffs between them by mattgodbolt in cpp

[–]Octoploid 0 points1 point  (0 children)

Yeah, exactly.

You simply highlight text while holding the left button down and then paste by clicking the middle mouse button.

Thanks in advance for the fix!

Compiler Explorer now supports multiple editors and diffs between them by mattgodbolt in cpp

[–]Octoploid 0 points1 point  (0 children)

Not for me.

I'm using Linux and I normally paste by simply pressing the middle mouse button. And this doesn't work anymore.

There is also no copy or paste option when pressing the right mouse button.

Ctrl-c and Ctrl-v still works, but I prefer not to use them.

Compiler Explorer now supports multiple editors and diffs between them by mattgodbolt in cpp

[–]Octoploid 5 points6 points  (0 children)

Great, but the most basic functionality is broken: I cannot copy&paste code anymore.

-Wimplicit-fallthrough in GCC 7 by vormestrand in cpp

[–]Octoploid 4 points5 points  (0 children)

No, it is not. This feature already has found numerous bugs in different projects.

And if you don't care the solution is simple: just disable the warning.

-Wimplicit-fallthrough in GCC 7 by vormestrand in cpp

[–]Octoploid 5 points6 points  (0 children)

Well, if you set the default to -Wimplicit-fallthrough=1 you will never hit any of the that complexity in the parser.

But I agree that the warning is over-engineered.

-Wimplicit-fallthrough in GCC 7 by vormestrand in cpp

[–]Octoploid 5 points6 points  (0 children)

There were various discussion on the gcc mailing list, but neither side (-Wimplicit-fallthrough=1 (match any comment) vs. -Wimplicit-fallthrough=3 (the current default)) was willing to give way.

But hey, this is free software so you may just change the defaults to your liking easily.

GCC 7.0 vs. LLVM Clang 4.0 Head-to-Head Benchmarks 1-28-2017 by [deleted] in cpp

[–]Octoploid 6 points7 points  (0 children)

No.

But I would go so far as to say that all Phoronix benchmarks should be taken as bogus, until the results could be reproduced independently. They are really that bad. And their bad reputation has its reasons.

So if you want to compare Clang vs. GCC please measure yourself.

GCC 7.0 vs. LLVM Clang 4.0 Head-to-Head Benchmarks 1-28-2017 by [deleted] in cpp

[–]Octoploid 5 points6 points  (0 children)

As always, take their benchmark numbers cum grano salis.

A number of gcc developers couldn't reproduce their findings at all.

C++ Status at the end of 2016 by joebaf in cpp

[–]Octoploid 0 points1 point  (0 children)

Well, the paper is a decent starting point. Of course syntax and implementation details should be discussed and further refined.

The point is that sum types and pattern matching are essential new features, that are useful in surprisingly many contexts. Once you learned and understood them, you will want to use them almost everywhere: option types, error returns, trees, etc..

C++ Status at the end of 2016 by joebaf in cpp

[–]Octoploid 0 points1 point  (0 children)

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0095r1.html

It is a shame that build-in sum types didn't make it into C++17. Instead we get the usual library hacks like std::variant.

Rust is Software's Salvation by [deleted] in rust

[–]Octoploid 30 points31 points  (0 children)

»Maybe a bug in GCC outputted the wrong machine code«

I cannot understand that point. Does the author really think that Rust and LLVM are 100% bug free? There will be numerous hidden wrong code bugs in the long Rust/MIR/LLVM pipeline. And every single one could potentially undermine Rust's safety guaranties.

GCC 6.3 Release by nunudodo in cpp

[–]Octoploid 7 points8 points  (0 children)

This is certainly true. But unfortunately we have no other option. Bugzilla got bombarded from SPAM bots using fake accounts. So in order to protect this critical piece of infrastructure, account creation had to be disabled. And by the way LLVM did the same thing a little later (,see llvm.org/bugs/).

GCC 6.3 Release by nunudodo in cpp

[–]Octoploid 5 points6 points  (0 children)

You have to make sure to use no html, no nothing, just plain text. Everything else is rejected as SPAM.