diff options
author | gerald <gerald@FreeBSD.org> | 2017-04-01 23:03:21 +0800 |
---|---|---|
committer | gerald <gerald@FreeBSD.org> | 2017-04-01 23:03:21 +0800 |
commit | 71d0c655cde629a019fb96f4ab5ca31ca75b60ff (patch) | |
tree | d2163da680f2859bb51debaaa136d66c377c5101 /lang/gcc49 | |
parent | 9341e8667ecb42e95be0ff9bc89ebfe6abe6b706 (diff) | |
download | freebsd-ports-gnome-71d0c655cde629a019fb96f4ab5ca31ca75b60ff.tar.gz freebsd-ports-gnome-71d0c655cde629a019fb96f4ab5ca31ca75b60ff.tar.zst freebsd-ports-gnome-71d0c655cde629a019fb96f4ab5ca31ca75b60ff.zip |
Update lang/gcc and hence the default version of GCC in the Ports
Collection (requested by USE_GCC=yes and various USES=compiler
invocations) from GCC 4.9.4 to GCC 5.4.
files/patch-arm-support and files/patch-gcc_system.h have become
obsolete. New patches files/patch-arm-unwind-cxx-support and
files/patch-libc++ help support arm targets and new libc++ in base.
ONLY_FOR_ARCHS now also includes arm.
A new option GRAPHITE_DESC, off by default for now, adds support for
Graphite loop optimizations.
Finally, conflicts with other lang/gcc* ports are adjusted suitably.
In terms of changes for users, this upgrade brings the following:
The default mode for C is now -std=gnu11 instead of -std=gnu89.
New warning options -Wc90-c99-compat and -Wc99-c11-compat may
prove useful on that front.
The C++ front end now has full C++14 language support including
C++14 variable templates, C++14 aggregates with non-static data
member initializers, C++14 extended constexpr, and more.
The Standard C++ Library (libstdc++) has full C++11 support and
experimental full C++14 support. It uses a new ABI by default.
There have been significant improvements to inter-procedural optimizations
and link-time optimization such as One Definition Rule based merging of C++
types as well as register allocation.
OpenMP 4.0 specification offloading features are now supported by the C,
C++, and Fortran compilers. Cilk Plus, an extension to the C and C++
languages to support data and task parallelism, has been added as well.
New warning options -Wswitch-bool, -Wlogical-not-parentheses,
-Wbool-compare and -Wsizeof-array-argument may prove useful as
may new preprocessor directives __has_include, __has_include_next,
and __has_attribute.
GCC can now be built as a shared library for embedding in other processes
(such as interpreters), suitable for Just-In-Time compilation to machine
code. This provides a C API and a C++ wrapper API.
Many code generation improvements for AArch64, ARM, support for
AVX-512{BW,DQ,VL,IFMA,VBMI} and Intel MPX on x86-64, and generally
improvements on many targets.
The Local Register Allocator (LRA) now contains a rematerialization
subpass and is able to reuse the PIC hard register on x86/x86-64 to
improve performance of position independent code.
https://gcc.gnu.org/gcc-5/changes.html has a more extensive set of
changes and https://gcc.gnu.org/gcc-5/porting_to.html has a solid
overview of issue you may encountering porting to this new version.
PR: 216707, 218125
Tested by: antoine (-exp runs)
Supported by: jbeich, tcberner, and others
Diffstat (limited to 'lang/gcc49')
-rw-r--r-- | lang/gcc49/Makefile | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/lang/gcc49/Makefile b/lang/gcc49/Makefile index cc0e7b7411fb..dd624889f49b 100644 --- a/lang/gcc49/Makefile +++ b/lang/gcc49/Makefile @@ -24,7 +24,6 @@ RUN_DEPENDS+= ${LOCALBASE}/bin/as:devel/binutils BUILD_DEPENDS+= runtest:misc/dejagnu .endif -CONFLICTS= gcc-4.9.* CPE_VENDOR= gnu # GCC_VERSION and SUFFIX relate to names of executables and directories |