
GCC 5.2 released - RoboSeldon
https://gcc.gnu.org/gcc-5/changes.html?y
======
lifeisstillgood
It's worth celebrating (well, noting in an approving manner) this release. GCC
is a foundation stone project for, well, a huge amount of the world's wealth.

It is a healthy project (even with CLang etc), and with the heartbleed post
mortem on our minds we should probably ask what can be done to keep it and
others healthy - auditing, foundation status etc.

So thank you GCC developers, for making sure I do not need to worry about
something.

------
agwa
It's worth noting that, due to GCC's new and esoteric version numbering
scheme[1], this is a bugfix-only release on the 5.x branch. The bigger news
was when GCC 5.1 (a major stable release) was released in April. That said,
GCC 5.2 fixes a pretty serious bug that I was hitting so I'm happy to hear
about it!

[1]
[https://gcc.gnu.org/develop.html#num_scheme](https://gcc.gnu.org/develop.html#num_scheme)

~~~
rst
They switched the default C compilation mode from --std=gnu89 to --std=gnu11
in a bugfix-only release?

~~~
agwa
No, they did that in 5.1. The linked page is mostly about the overall 5.x
series, with a tiny little section at the bottom about 5.2.

------
the8472
> Write-only variables are now detected and optimized out.

That's probably something one should keep in mind when writing micro-
benchmarks.

~~~
spacehome
I'm appalled that this wasn't taken care of 20 years ago. It seems like such
low-hanging fruit.

~~~
greglindahl
This is a standard compiler feature, yes -- lots of real code out there has a
lot of dead writes, such as debugging code that has been only partly removed
or disabled. Historically, it's been a significant win for some of the SPECcpu
benchmarks.

~~~
anon4
_Historically, it 's been a significant win for some of the SPECcpu
benchmarks._

But doesn't it mean that you're not really executing the full benchmark then?

~~~
greglindahl
No, because no one ever reads the dead data. These are not microbenchmarks
that get broken by optimizations like this; SPECcpu programs have answers, and
the goal is to output the answer. The answer is tested. Anything you can
delete from the program is fair game.

------
Meai
Does GCC support modules?
[http://clang.llvm.org/docs/Modules.html](http://clang.llvm.org/docs/Modules.html)

~~~
RoboSeldon
_gfortran_ which is part of GCC supports modules (this is because Fortran the
language supports modules).

If you meant modules for C or C++, no (as far as I know), probably because C
and C++ have no standard for modules. In a recent talk Bjarne Stroustroup
talks about his hope that C++17 will include support for modules
[https://www.youtube.com/watch?v=2egL4y_VpYg](https://www.youtube.com/watch?v=2egL4y_VpYg)

------
ademarre
With this release the golang frontend catches up it'so Go version 1.4.2.

EDIT: I'm wrong. That was GCC 5.1.

~~~
sajal83
Nopes. Go 1.4.2 was released with GCC 5.1 (April 22, 2015). This release is
just bugfixes.

~~~
ademarre
Thanks; you're right. I read the 5 series general release notes as if it were
for 5.2.

------
tosseraccount
Any benchmarks? How does this compare with previous versions of gcc?

~~~
joosters
The release notes mention several benchmark comparisons.

~~~
gtk40
I don't see any benchmarks showing improvements in 5.2. The 5.2 information
seems sparse. Could you point this out?

------
minot
Hi guys, any idea when we might get this on mingw?

~~~
rossy
If you're using MSYS2 to get your MinGW compilers, the package has been
updated, but you won't see builds on the mirrors until all the other packages
have been rebuilt for GCC 5.1/5.2 (due to the ABI change.)

[https://github.com/Alexpux/MINGW-
packages/commit/a6a16a3](https://github.com/Alexpux/MINGW-
packages/commit/a6a16a3)

------
anon3_
Where is GCC's place in the world now that there is LLVM/Clang?

Does the LLVM+Clang combo make GCC obsolete?

