GCC 8 Release Series
Changes, New Features, and Fixes

This page is a "brief" summary of some of the huge number of improvements in GCC 8. You may also want to check out our Porting to GCC 8 page and the full GCC documentation.

Caveats

General Improvements

New Languages and Language specific improvements

Ada

BRIG (HSAIL)

In this release cycle, the focus for the BRIGFE was on stabilization and performance improvements. Also a couple of completely new features were added.

C family

C++

Runtime Library (libstdc++)

Fortran

Go

libgccjit

The libgccjit API gained four new entry points:

The C code generated by gcc_jit_context_dump_reproducer_to_file is now easier-to-read.

New Targets and Target Specific Improvements

AArch64

ARC

ARM

AVR

IA-32/x86-64

NDS32

Nios II

PA-RISC

PowerPC / PowerPC64 / RS6000

Tile

Operating Systems

Windows

Improvements for plugin authors

GCC 8.1

This is the list of problem reports (PRs) from GCC's bug tracking system that are known to be fixed in the 8.1 release. This list might not be complete (that is, it is possible that some PRs that have been fixed are not listed here).

GCC 8.2

This is the list of problem reports (PRs) from GCC's bug tracking system that are known to be fixed in the 8.2 release. This list might not be complete (that is, it is possible that some PRs that have been fixed are not listed here).

General Improvements

Language Specific Changes

C++

GCC 8.2 fixed a bug introduced in GCC 8.1 affecting passing or returning of classes with a deleted copy constructor and defaulted trivial move constructor (bug c++/86094). GCC 8.2 introduces -fabi-version=13 and makes it the default, ABI incompatibilities between GCC 8.1 and 8.2 can be reported with -Wabi=12. See C++ changes for more details.

Target Specific Changes

IA-32/x86-64

GCC 8.3

GCC 8.3 is not yet released.

Windows