Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 01 Jun 2020 21:59:50 +0000
From:      bugzilla-noreply@freebsd.org
To:        ports-bugs@FreeBSD.org
Subject:   [Bug 246700] [exp-run] Update GCC_DEFAULT from 9 to 10
Message-ID:  <bug-246700-7788-ZVm0oQohzf@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-246700-7788@https.bugs.freebsd.org/bugzilla/>
References:  <bug-246700-7788@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D246700

--- Comment #5 from commit-hook@freebsd.org ---
A commit references this bug:

Author: gerald
Date: Mon Jun  1 21:59:33 UTC 2020
New revision: 537509
URL: https://svnweb.freebsd.org/changeset/ports/537509

Log:
  Welcome GCC 10.1, the first release of the GCC 10 series!

  https://gcc.gnu.org/gcc-10/changes.html has a comprehensive overview of
  many improvements and changes and https://gcc.gnu.org/gcc-10/porting_to.h=
tml
  highlights issues you may encounter porting to this version, though this
  release series should not bring too many, -fno-common now being the defau=
lt
  probably is the one with the largest impact.

  To give a brief overview of some of the more noticable changes:

  Several new features from the upcoming C2X revision of the ISO C standard
  are supported with -std=3Dc2x and -std=3Dgnu2x. Some of these are also su=
pported
  as extensions when compiling for older language versions.

  Several C++20 features have been implemented and the libstdc++ runtime
  library has improved experimental C++2a support.

  Caveat: The ABI of passing and returning certain C++ classes by value
  changed on targets including AArch64, ARM, PowerPC ELFv2 in -std=3Dc++17
  and -std=3Dc++20 modes.

  -fanalyzer enables a new static analysis pass and associated warnings,
  which is more time-consuming, but detects various common errors such as
  double-free bugs.  This is still work in progress, yet definitely worth
  a try!

  Extended characters in identifiers may now be specified directly in the
  input encoding (UTF-8 by default) for the C family of languages, so you
  can write "const int na?ve_? =3D 3;".

  The __has_builtin built-in preprocessor operator can be used to query
  support for built-in functions and __builtin_roundeven has been added.

  On the Fortran side, the default buffer size for I/O using unformatted
  files has been increased to 1048576 (and can now be set at run time),
  mismatches between actual and dummy argument lists in a single file are
  now rejected with an error (which can be disabled via the new optoins
  -fallow-argument-mismatch), the handling of a BOZ literal constant has
  been reworked to provide better conformance to the Fortran 2008 and 2018
  standards, and more.

  Optimization-wise, -fallocation-dce removes unneeded pairs of new and
  delete operators and -fprofile-partial-training, -fprofile-reproducible,
  and -fprofile-prefix-path allow for more control over the use of profiles.

  The inter-procedural optimizers (IPO) have seen many improvements: The
  inter-procedural scalar replacement of aggregates (IPA-SRA) pass now
  operates at link time and can remove computing/returning unused return
  values; -finline-functions is now enabled at -O2 and was retuned; inliner
  heuristics and function cloning use value-range information to predict
  the effectivity of individual transformations; and more.

  Similarly many improvements around link-time optimizations (LTO): A new
  binary lto-dump shows various information about LTO bytecode object files;
  the parallel phase of LTO automatically detects a running make's jobserve=
r;
  LTO bytecode can be compressed with the zstd algorithm; profile maintenan=
ce
  during compilation and hot/cold code partitioning has been improved.

  Version 2.6 of the OpenACC specification is now supported by the C, C++ a=
nd
  Fortran compilers. GCC 10 adds a number of newly implemented OpenMP 5.0
  features on top of the GCC 9 release such as conditional lastprivate clau=
se,
  scan and loop directives, order(concurrent) and use_device_addr clauses
  support, if clause on simd construct or partial support for the declare
  variant directive, getting closer to full support of the OpenMP 5.0 stand=
ard.

  A new warning -Wstring-compare, enabled by -Wextra, warns about equality
  and inequality expressions between zero and the result of a call to either
  strcmp and strncmp in some cases. -Wzero-length-bounds, enabled by
  -Warray-bounds, warns about accesses to elements of zero-length arrays
  that might overlap other members of the same object.

  Numerous enhancements to existing warnings, e.g. -Warray-bounds detects
  more out-of-bounds accesses to member arrays as well as accesses to eleme=
nts
  of zero-length arrays, -Wformat-overflow makes full use of string length
  information computed by the strlen optimization pass, -Wrestrict detects
  overlapping accesses to dynamically allocated objects, -Wreturn-local-addr
  diagnoses more instances of return statements returning addresses of
  automatic variables, -Wstringop-overflow detects more out-of-bounds stores
  to member arrays including zero-length arrays, dynamically allocated
  bjects and variable length arrays, as well as more instances of reads
  of unterminated character arrays by string built-in functions,
  -Warith-conversion re-enables warnings from -Wconversion, -Wfloat-convers=
ion,
  and -Wsign-conversion that are now off by default for an expression where=
 the
  result of an arithmetic operation will not fit in the target type due to
  promotion, but the operands of the expression do fit in the target type.

  All architectures have seen improvements, and aarch64 notably has seen
  several related to the Scalable Vector Extension (SVE).

  The automatic template instantiation at link time (-frepo) has been
  removed (finally).

  Offloading to Heterogeneous System Architecture Intermediate Language
  (HSAIL) has been deprecated and will likely be removed in a future releas=
e.

  PR:           246700

Changes:
  head/lang/gcc10/
  head/lang/gcc10/Makefile
  head/lang/gcc10/distinfo

--=20
You are receiving this mail because:
You are on the CC list for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-246700-7788-ZVm0oQohzf>