svn commit: r503247 - in head/lang: . gcc9

Gerald Pfeifer gerald at FreeBSD.org
Sat Jun 1 18:06:14 UTC 2019


Author: gerald
Date: Sat Jun  1 18:06:12 2019
New Revision: 503247
URL: https://svnweb.freebsd.org/changeset/ports/503247

Log:
  Welcome GCC 9.1, the first release of the GCC 9 series!
  
  https://gcc.gnu.org/gcc-9/changes.html has a comprehensive overview of
  many improvements and changes and https://gcc.gnu.org/gcc-8/porting_to.html
  addresses issues you may encounter porting to this new version, though
  this release series should have fewer of those than previous ones.
  
  To provide a brief overview of some of the more noticable changes:
  
  GCC's diagnostics now print source code with a left margin showing line
  numbers.  This is configurable via -fno-diagnostics-show-line-numbers.
  Plus there have been lots of further improvements around diagnostic
  messages in general as -fopt-info.
  
  As usual a large number of improvements to code generation, including
  but by far not limited to the following:
   - Switch expansion (into expressions).
   - Inliner defaults are tuned to better suit modern C++ codebases,
     especially when built with link time optimizations.
   - Hot/cold partitioning is now more precise and aggressive.
   - Improved scalability for very large translation units.
   - Link-time optimization improvements including faster compilation.
  
  A new option -flive-patching=[inline-only-static|inline-clone] has
  been introduced to provide a safe compilation for live-patching.
  
  A new pair of profiling options -fprofile-filter-files and
  -fprofile-exclude-files help filter which source files are instrumented.
  
  New built-in functions __builtin_expect_with_probability,
  __builtin_has_attribute, and __builtin_speculation_safe_value.
  
  Significant effort has been put into refining existing compiler warnings
  and adding additional diagnostics. One notable addition is -Wabsolute-value
  which warns for calls to standard functions that compute the absolute value
  of an argument when a more appropriate standard function is available. For
  example, calling abs(3.14) warns because the appropriate function to
  compute the absolute value of a double argument is fabs.
  
  The spelling corrector now considers transposed letters, and the threshold
  for similarity has been tightened, to avoid nonsensical suggestions.
  
  A new option --completion provides better option completion in a shell
  (such as bash).
  
  OpenACC support in C, C++, and Fortran continues to be maintained and
  improved. Most of the OpenACC 2.5 specification is implemented.
  
  Version 5.0 of the OpenMP specification is now partially supported in
  the C and C++ compilers.
  
  There is now experimental support for the upcoming C2X revision of the
  ISO C standard (via the -std=c2x and similar options).
  
  The C++ front end has experimental support for some of the upcoming
  C++2a draft features, enabled by the -std=c++2a or -std=gnu++2a options.
  This includes range-based for statements with initializer, default
  constructible and assignable stateless lambdas, lambdas in unevaluated
  contexts, language support for empty data members, allowing pack expansion
  in lambda init-capture, likely and unlikely attributes, class types in
  non-type template parameters, allowing virtual function calls in constant
  expressions, explicit(bool), std::is_constant_evaluated, nested inline
  namespaces, etc.
  
  The C++17 implementation is no longer experimental and parallel algorithms
  and <execution> and <memory_resource> are available.  Using the types and
  functions in <filesystem> does not require linking with -lstdc++fs any more.
  
  On the Fortran side asynchronous I/O is now fully supported; FINDLOC and
  IS_CONTIGUOUS and other intrinsics have been implemented.
  
  The MAX and MIN intrinsics are no longer guaranteed to return any
  particular value in case one of the arguments is a NaN. This conforms
  with the Fortran standard and what other Fortran compilers do.
  
  A new option -fdec-include, set also by -fdec, has been added for
  compatibility with legacy code.  With this option, the INCLUDE directive
  is parsed also as a statement, which allows it to be written on multiple
  source lines with line continuations.
  
  Support for the Cell Broadband Engine (SPU), and thus powerpcspe on
  FreeBSD as well, has been removed for lack of upstream maintainership.
  
  Also there's been a minor ABI change on arm* targets (that GCC warns
  about by default, controlled by the -Wpsabi option).
  
  Support for the D programming language has been added to GCC, implementing
  version 2.076 of the language and run-time library, though this port does
  not enable this yet.  Volunteers welcome to test and contribute.

Added:
  head/lang/gcc9/
     - copied from r501438, head/lang/gcc9-devel/
Modified:
  head/lang/Makefile
  head/lang/gcc9/Makefile
  head/lang/gcc9/distinfo

Modified: head/lang/Makefile
==============================================================================
--- head/lang/Makefile	Sat Jun  1 17:59:52 2019	(r503246)
+++ head/lang/Makefile	Sat Jun  1 18:06:12 2019	(r503247)
@@ -110,6 +110,7 @@
     SUBDIR += gcc7-devel
     SUBDIR += gcc8
     SUBDIR += gcc8-devel
+    SUBDIR += gcc9
     SUBDIR += gcc9-devel
     SUBDIR += gforth
     SUBDIR += ghc

Modified: head/lang/gcc9/Makefile
==============================================================================
--- head/lang/gcc9-devel/Makefile	Sun May 12 19:17:09 2019	(r501438)
+++ head/lang/gcc9/Makefile	Sat Jun  1 18:06:12 2019	(r503247)
@@ -2,11 +2,10 @@
 # $FreeBSD$
 
 PORTNAME=	gcc
-PORTVERSION=	9.1.1.s20190504
+PORTVERSION=	9.1.0
 CATEGORIES=	lang
-MASTER_SITES=	GCC/snapshots/${DIST_VERSION}
-PKGNAMESUFFIX=	${SUFFIX}-devel
-DISTNAME=	gcc-${DIST_VERSION}
+MASTER_SITES=	GCC
+PKGNAMESUFFIX=	${SUFFIX}
 
 MAINTAINER=	gerald at FreeBSD.org
 COMMENT=	GNU Compiler Collection 9
@@ -29,15 +28,11 @@ USES=		compiler cpe gmake iconv libtool makeinfo perl5
 USE_BINUTILS=	yes
 USE_PERL5=	build
 
+CONFLICTS=	gcc9-devel-9.*
+
 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/}
 SSP_UNSAFE=	yes
 CFLAGS:=	${CFLAGS:N-mretpoline}
@@ -109,10 +104,9 @@ INFO=		gcc${SUFFIX}/cpp \
 		gcc${SUFFIX}/gccint \
 		gcc${SUFFIX}/gfortran \
 		gcc${SUFFIX}/libgomp
-.if ${ARCH} == amd64 || ${ARCH} == i386
+# Release tarballs (as opposed to snapshots) always carry this.
 INFO+=		gcc${SUFFIX}/libquadmath \
 		gcc${SUFFIX}/libitm
-.endif
 SUB_FILES=	pkg-message
 SUB_LIST+=	TARGLIB=${TARGLIB}
 

Modified: head/lang/gcc9/distinfo
==============================================================================
--- head/lang/gcc9-devel/distinfo	Sun May 12 19:17:09 2019	(r501438)
+++ head/lang/gcc9/distinfo	Sat Jun  1 18:06:12 2019	(r503247)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1557035994
-SHA256 (gcc-9-20190504.tar.xz) = 0eaefe63cf2f9fc9f34a313fe23b95c199fdebca2577e0cd6931ae30a75ba570
-SIZE (gcc-9-20190504.tar.xz) = 68751664
+TIMESTAMP = 1557690023
+SHA256 (gcc-9.1.0.tar.xz) = 79a66834e96a6050d8fe78db2c3b32fb285b230b855d0a66288235bc04b327a0
+SIZE (gcc-9.1.0.tar.xz) = 70546856


More information about the svn-ports-all mailing list