Skip to content

Commit 9bd481a

Browse files
committed
GCC: bump to 15.3.0-alice1
1 parent 3f27331 commit 9bd481a

1 file changed

Lines changed: 14 additions & 1 deletion

File tree

gcc-toolchain.sh

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package: GCC-Toolchain
22
version: "%(tag_basename)s"
3-
tag: v14.2.0-alice2
3+
tag: v15.3.0-alice2
44
license: GPL-3.0
55
source: https://github.com/alisw/gcc-toolchain
66
prepend_path:
@@ -15,6 +15,7 @@ prefer_system_check: |
1515
set -e
1616
which gfortran || { echo "gfortran missing"; exit 1; }
1717
case $REQUESTED_VERSION in
18+
v15*) MIN_GCC_VERSION=150300 ;;
1819
v14*) MIN_GCC_VERSION=140200 ;;
1920
v13*) MIN_GCC_VERSION=130200 ;;
2021
v12*) MIN_GCC_VERSION=120100 ;;
@@ -96,6 +97,17 @@ rsync -a gcc/gmp/ gmp
9697
rsync -a gcc/isl/ isl
9798
rsync -a gcc/mpc/ mpc
9899

100+
# isl 0.27 ships C++17 self-tests (isl_test_cpp17, isl_test_cpp17-checked) that
101+
# break the in-tree GCC build: AX_CXX_COMPILE_STDCXX_17 sets HAVE_CXX17=1 when
102+
# the host compiler accepts C++17 "by default" but adds no -std switch, then the
103+
# TUs get compiled with __cplusplus < 201703L so the C++17-only members
104+
# (id::try_user, the std::any ctor) are invisible. These tests are not needed to
105+
# build libisl for GCC, so drop them from both isl copies before autoreconf
106+
# regenerates the Makefiles.
107+
for islmf in gcc/isl/Makefile.am isl/Makefile.am; do
108+
[ -f "$islmf" ] && perl -ni -e 'print unless /^if HAVE_CXX17$/ .. /^endif$/' "$islmf"
109+
done
110+
99111
pushd gcc
100112
[ -d mpfr ] && (cd mpfr && autoreconf -ivf)
101113
[ -d mpc ] && (cd mpc && autoreconf -ivf)
@@ -215,6 +227,7 @@ mkdir -p build-isl
215227
mkdir -p build-mpc
216228

217229
pushd build-gmp
230+
CFLAGS="-O2 -pedantic -fomit-frame-pointer -std=gnu17" \
218231
../gmp/configure --prefix="$INSTALLROOT/libexec/extra" \
219232
--disable-shared \
220233
--enable-static

0 commit comments

Comments
 (0)