1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-19 19:59:43 +00:00
freebsd-ports/lang/gcc6/pkg-descr
Gerald Pfeifer 8d6d07c36d Welcome to the GCC 6.1 release, the first release of the GCC 6 series.
The default mode for C++ is now -std=gnu++14 instead of -std=gnu++98.

Type-based alias analysis now disambiguates accesses to different pointers.
This improves precision of the alias oracle by about 20-30% on higher-level
C++ programs. Programs doing invalid type punning of pointer types may now
need -fno-strict-aliasing to work correctly.

Value range propagation now assumes that the this pointer of C++ member
functions is non-null. This eliminates common null pointer checks but also
breaks some non-conforming code-bases (such as Qt-5, Chromium, KDevelop).
As a temporary work-around -fno-delete-null-pointer-checks can be used.
Wrong code can be identified by using -fsanitize=undefined.

There have been significant improvements around link-time optimization
and inter-procedural optimization and some support for OpenACC (though
probably not tested on FreeBSD) and version 4.5 of the OpenMP specification.

Source locations for the C and C++ compilers are now tracked as ranges
and diagnostics can now contain "fix-it hints".

New command-line options include -Wshift-negative-value, -Wshift-overflow,
-Wtautological-compare, -Wnull-dereference, -Wduplicated-cond, and
-Wmisleading-indentation.

C++ Concepts are now supported when compiling with -fconcepts, and there
are several other improvements around support for newer C++ features as
well as in the libstdc++ library.

Fortran now features Fortran 2008 SUBMODULE support, Fortran 2015 EVENT_TYPE,
EVENT_POST, EVENT_WAIT, and EVENT_QUERY support, and improved support for
OpenMP and OpenACC.

A lot has happened on the AArch64 and ARM fronts, on x86-64 there is now
Skylake with AVX-512 support, AMD instructions monitorx and mwaitx, and
support for address spaces __seg_fs, __seg_gs, and __seg_tl, as well as
AMD Zen (family 17h) processors, and basic support has been added for POWER9.

https://gcc.gnu.org/gcc-6/changes.html has a more extensive set of
changes and https://gcc.gnu.org/gcc-6/porting_to.html has a solid
overview of issue you may encountering porting to this new version.
2016-06-10 09:04:15 +00:00

8 lines
239 B
Plaintext

GCC, the GNU Compiler Collection, supports a number of languages. This
port installs the C, C++, Fortran and Java front ends as gcc6, g++6,
gfortran6, and gcj6, respectively.
WWW: http://gcc.gnu.org/
Gerald Pfeifer <gerald@FreeBSD.org>