GCC 16 has been released
HeliumHydride
291 points
51 comments
April 30, 2026
Related Discussions
Found 5 related stories in 85.0ms across 8,303 title embeddings via pgvector HNSW
- Zig 0.16.0 Release Notes ska80 · 135 pts · April 14, 2026 · 52% similar
- FreeBSD 14.4-Release Announcement vermaden · 147 pts · March 10, 2026 · 47% similar
- Swift 6.3 Released frizlab · 12 pts · March 24, 2026 · 46% similar
- Next.js 16.2 goldkey · 14 pts · March 18, 2026 · 45% similar
- Java 26 Release Notes Alupis · 13 pts · March 17, 2026 · 45% similar
Discussion Highlights (7 comments)
t-3
Somehow I never realized that GCC has a very regular release schedule until looking it up just now: https://gcc.gnu.org/develop.html
xzstas
I've already been using it for some time (debian sid has a trunk package). it has c++26 reflection, so I already do some magical things with reflection (much better for some cases e.g. for ser-des). I only wish they had a lsp server in their eco-system!
gavinray
I want to point out an implemented feature that people SHOULD be adopting but that I doubt will be picked up: P2590R2, Explicit lifetime management (PR106658) This is for "std::start_lifetime_as<T>". If you have not heard of this before, it's the non-UB way to type-pun a pointer into a structured type. Nearly all zero-copy code that deals with external I/O buffers looks something like: std::unique_ptr<char[]> buffer = stream->read(); if (buffer[0] == FOO) processFoo(reinterpret_cast<Foo*>(buffer.get())); // undefined behavior else processBar(reinterpret_cast<Bar*>(buffer.get())); // undefined behaviour With this merged, swap the reinterpret_cast for start_lifetime_as and you're no longer being naughty. https://en.cppreference.com/cpp/memory/start_lifetime_as
dapperdrake
Does -Ofast still ignore -fno-fast-math ?
shevy-java
I tried the unstable sources for a while, in the last ~3 months. I ran into some issues with some programs (could not compile them with recent GCC, but older GCC worked fine), so gcc 15.x works better for me in general (presently) - but from, say, +3000 programs to compile, the vast majority works well, and a few may need patches (which can often be found in LFS/BLFS by the way, they often use sed instructions to fix individual things and then it works usually). Hopefully they fixed those issues. We all need stability and things-to-work.
wg0
Noob question - Does gcc use LLVM anywhere under the hood or it has its own code generation and optimization pipeline? How does it stack in comparison to LLVM?
kmoser
> The so-called "json" format for -fdiagnostics-format= has been removed in this release. Users seeking machine-readable diagnostics from GCC should use SARIF. But: > GCC can now output diagnostics in HTML form via -fdiagnostics-add-output=experimental-html I wonder what drove the decision to remove JSON output and add HTML output?