GCC, the GNU Compiler Collection, supports a number of languages.
This port installs the C, C++, and Fortran front ends as gcc17, g++17,
and gfortran17, respectively.
===> The following configuration options are available for gcc17-devel-17.0.0.s20261004:
GRAPHITE=off: Support for Graphite loop optimizations
====> Options available for the radio BOOTSTRAP: you can only select none or one of them
LTO_BOOTSTRAP=off: Build using a full LTO bootstrap
STANDARD_BOOTSTRAP=on: Build using a full bootstrap without LTO
===> Use 'make config' to modify these settings
lang/gcc17-devel: fix build after base d08296c7ab0d
After base d08296c7ab0d7bb259bf7b8cdf9ffb819c1929ab ("libc: Implement
qualifier-preserving standard library functions"), lang/gcc17-devel
fails to build with an error like:
In file included from
/wrkdirs/usr/ports/lang/gcc17-devel/work/.build/gcc/include-fixed/stdio.h:52,
from cp-demangle.c:109:
/wrkdirs/usr/ports/lang/gcc17-devel/work/gcc-17-20260727/libstdc++-v3/../include/libiberty.h:225:14:
error: expected identifier or '(' before '_Generic'
225 | extern void *memrchr(const void *, int, size_t);
| ^~~~~~~
This is because memrchr is now a macro, similar to the other functions
in <string.h>, and libiberty.h attempts to incorrectly redeclare it.
(Only the first 15 lines of the commit message are shown above )
lang/gcc17-devel: Fix build on arm64
GCC upstream has removed conditional definitions for some constants,
defining them directly with the same values used on Linux. However,
FreeBSD values for the same constants are different. Then revert
upstream commit.
Co-authored-by: Mark Millard <marklmi26-fbsd@yahoo.com>
PR: 294062
Reported by: Luke Yasuda <jing@jing.rocks>
lang/gcc17-devel: Add port
GCC, the GNU Compiler Collection, supports a number of languages.
This port installs the C, C++, and Fortran front ends as gcc17, g++17,
and gfortran17, respectively.
This is the first snapshot from trunk with the GCC 17 designation.
It largely is a copy of lang/gcc16-devel.