Date: Mon, 14 Aug 2017 23:20:34 +0000 (UTC) From: Gerald Pfeifer <gerald@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r447971 - in head/lang: . gcc7 Message-ID: <201708142320.v7ENKY4O016088@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: gerald Date: Mon Aug 14 23:20:34 2017 New Revision: 447971 URL: https://svnweb.freebsd.org/changeset/ports/447971 Log: Welcome GCC 7.1, the first release of the GCC 7 series! In terms of optimizations, GCC now uses a new local register allocator (LRA) for most targets (now also including PowerPC and SPARC), a new store merging pass, is able to determine the return value or range of return values of some calls to the sprintf family of functions as input for futher passes, features improved code hoisting, new interprocedural bitwise constant propagation, interprocedural value range propagation, new loop splitting, improved shrink-wrapping that separates portions of prologues and epilogues, and many more. DWARF 5 is supported through the -gdwarf-5, while DWARF 4 remains the default for the time being. The C and C++ frontends have gained a large number of additional warnings such as -Wpointer-compare, -Wduplicated-branches, -Wrestrict, -Wmemset-elt-size, -Wint-in-bool-context, -Wswitch-unreachable, -Wexpansion-to-defined, -Wregister, -Wvla-larger-than=N, -Wduplicate-decl-specifier, -Wdangling-else, many of which are enabled by default or at least with -Wall. The -Wshadow warning has been split into -Wshadow=global, -Wshadow=local, and -Wshadow=compatible-local . GCC 7 also brings a number of enhancements that help detect buffer overflow and other forms of invalid memory accesses, among others enabled by the -Walloc-size-larger-than= -Walloc-zero, -Walloca, and -Walloca-larger-than= command-line options. -Wformat-overflow=level option detects certain and likely buffer overflow in calls to the sprintf family of formatted output functions; and -Wformat-truncation= and -Wstringop-overflow= have been added as well and -Wnunnull enahcned. So-called fixit hints, that is, notes on how to possibly address a warning or error have seen signficant improvements. The command-line option -fdiagnostics-generate-patch will print a patch in "unified" format after any diagnostics are printed, showing the result of applying all fix-it hints. The C front end now supports type names _FloatN for floating-point types with IEEE interchange formats and _FloatNx for floating-point types with IEEE extended formats. The C++ front end has experimental support for all of the current C++17 draft with the -std=c++1z or -std=gnu++1z flags, including if constexpr, class template argument deduction, auto template parameters, and structured bindings. Experimental support for C++17 is in libstdc++ with lots of new features. libstdc++ Profile Mode and Cilk+ extensions to the C and C++ languages have been deprecated. Fortran added a number of extensions for compatibility with legacy code and improved and add various features. GCC 7 provides a complete implementation of the Go 1.8.1 user package. Notably this release ends the history of Java (GCJ and libgcj) as part of GCC; all traces thereof and options have been removed in favor of OpenJDK, quite simplifying and streamlining building this port, Many new processors such as ARM Cortex-A73, Broadcom Vulcan, Cavium ThunderX models, Qualcomm Falkor (all on the ARM side) and features such as AVX-512 enhancements (on x86-64) as well as optimization changes have been added. On ARM targets (arm*-*-*), a bug introduced in GCC 5 that affects conformance to the procedure call standard (AAPCS) has been fixed. The bug affects some C++ code where class objects are passed by value to functions and could result in incorrect or inconsistent code being generated. This is an ABI change. If the option -Wpsabi is enabled (on by default) the compiler will emit a diagnostic note for code that might be affected. https://gcc.gnu.org/gcc-7/changes.html has a comprehensive set of changes and https://gcc.gnu.org/gcc-7/porting_to.html has a helpful overview of issue you may encountering porting to this new version. PR: 220794 Added: head/lang/gcc7/ - copied from r446394, head/lang/gcc7-devel/ Modified: head/lang/Makefile head/lang/gcc7/Makefile head/lang/gcc7/distinfo Modified: head/lang/Makefile ============================================================================== --- head/lang/Makefile Mon Aug 14 23:20:01 2017 (r447970) +++ head/lang/Makefile Mon Aug 14 23:20:34 2017 (r447971) @@ -105,6 +105,7 @@ SUBDIR += gcc6 SUBDIR += gcc6-aux SUBDIR += gcc6-devel + SUBDIR += gcc7 SUBDIR += gcc7-devel SUBDIR += gcc8-devel SUBDIR += gcl Modified: head/lang/gcc7/Makefile ============================================================================== --- head/lang/gcc7-devel/Makefile Sat Jul 22 12:17:51 2017 (r446394) +++ head/lang/gcc7/Makefile Mon Aug 14 23:20:34 2017 (r447971) @@ -2,11 +2,10 @@ # $FreeBSD$ PORTNAME= gcc -PORTVERSION= 7.1.1.s20170720 +PORTVERSION= 7.1.0 CATEGORIES= lang -MASTER_SITES= GCC/snapshots/${DIST_VERSION} -PKGNAMESUFFIX= ${SUFFIX}-devel -DISTNAME= gcc-${DIST_VERSION} +MASTER_SITES= GCC/releases/gcc-${DISTVERSION} +PKGNAMESUFFIX= ${SUFFIX} MAINTAINER= gerald@FreeBSD.org COMMENT= GNU Compiler Collection 7 @@ -25,17 +24,11 @@ BUILD_DEPENDS+= runtest:misc/dejagnu .endif CPE_VENDOR= gnu -CPE_VERSION= ${GCC_VERSION} -# DIST_VERSION relates to downloads, GCC_VERSION and SUFFIX to names -# of executables and directories once installed. A PORTVERSION of -# Y.2.1.s20140817 results in values of Y-20140817, Y.2.1, and Y -# for these three. -DIST_VERSION= ${PORTVERSION:C/([0-9]+).*\.s([0-9]+)/\1-\2/} -GCC_VERSION= ${PORTVERSION:C/(.+)\.s[0-9]{8}/\1/} +GCC_VERSION= ${PORTVERSION} SUFFIX= ${PORTVERSION:C/([0-9]+).*/\1/} ONLY_FOR_ARCHS= aarch64 amd64 arm armv6 i386 powerpc powerpc64 sparc64 -USES= compiler cpe gmake iconv libtool makeinfo perl5 tar:xz +USES= compiler cpe gmake iconv libtool makeinfo perl5 tar:bzip2 USE_BINUTILS= yes USE_PERL5= build SSP_UNSAFE= yes Modified: head/lang/gcc7/distinfo ============================================================================== --- head/lang/gcc7-devel/distinfo Sat Jul 22 12:17:51 2017 (r446394) +++ head/lang/gcc7/distinfo Mon Aug 14 23:20:34 2017 (r447971) @@ -1,3 +1,3 @@ -TIMESTAMP = 1500633624 -SHA256 (gcc-7-20170720.tar.xz) = 75e4cdef948e53028b106e07d31b01d7996fd65f040b81f31695afbcebd69854 -SIZE (gcc-7-20170720.tar.xz) = 59047752 +TIMESTAMP = 1495977669 +SHA256 (gcc-7.1.0.tar.bz2) = 8a8136c235f64c6fef69cac0d73a46a1a09bb250776a050aec8f9fc880bebc17 +SIZE (gcc-7.1.0.tar.bz2) = 84303533
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201708142320.v7ENKY4O016088>