GCC 5 Release Series
Changes, New Features, and Fixes

Caveats

General Optimizer Improvements

New Languages and Language specific improvements

C family

C

C++

Runtime Library (libstdc++)

Fortran

Go

libgccjit

New in GCC 5 is the ability to build GCC as a shared library for embedding in other processes (such as interpreters), suitable for Just-In-Time compilation to machine code.

The shared library has a C API and a C++ wrapper API providing some "syntactic sugar". There are also bindings available from 3rd parties for Python and for D.

For example, this library can be used by interpreters for compiling functions from bytecode to machine code.

The library can also be used for ahead-of-time compilation, enabling GCC to be plugged into a pre-existing frontend. An example of using this to build a compiler for an esoteric language we'll refer to as "brainf" can be seen here.

libgccjit is licensed under the GPLv3 (or at your option, any later version)

It should be regarded as experimental at this time.

New Targets and Target Specific Improvements

AArch64

ARM

IA-32/x86-64

MIPS

NDS32

RX

SH

Operating Systems

DragonFly BSD

FreeBSD

VxWorks MILS

Other significant improvements