On Wed, 28 Jan 2026 at 10:25 +0000, Jonathan Wakely wrote:
On Tue, 27 Jan 2026 at 00:33 +0000, Iain Sandoe wrote:
diff --git a/libstdc++-v3/src/experimental/Makefile.am
b/libstdc++-v3/src/experimental/Makefile.am
index e6d41cf66eb2..e428aef23c04 100644
--- a/libstdc++-v3/src/experimental/Makefile.am
+++ b/libstdc++-v3/src/experimental/Makefile.am
@@ -39,10 +39,16 @@ endif
headers =
sources = \
- contract.cc
+ contract26.cc
# vpath % $(top_srcdir)/src/experimental
+
+contract26.lo: contract26.cc
+ $(LTCXXCOMPILE) -std=gnu++26 -fcontracts -c $<
+contract26.o: contract26.cc
+ $(CXXCOMPILE) -std=gnu++26 -fcontracts -c $<
+
libstdc__exp_la_SOURCES = $(sources)
libstdc__exp_la_LIBADD = \
diff --git a/libstdc++-v3/src/experimental/Makefile.in
b/libstdc++-v3/src/experimental/Makefile.in
index 8cb0acd4e68b..a9248197f8c7 100644
--- a/libstdc++-v3/src/experimental/Makefile.in
+++ b/libstdc++-v3/src/experimental/Makefile.in
@@ -152,7 +152,7 @@ am__installdirs = "$(DESTDIR)$(toolexeclibdir)"
LTLIBRARIES = $(toolexeclib_LTLIBRARIES)
@ENABLE_FILESYSTEM_TS_TRUE@am__DEPENDENCIES_1 =
$(top_builddir)/src/filesystem/libstdc++fsconvenience.la
@ENABLE_BACKTRACE_TRUE@am__DEPENDENCIES_2 =
$(top_builddir)/src/libbacktrace/libstdc++_libbacktrace.la
-am__objects_1 = contract.lo
+am__objects_1 = contract26.lo
am_libstdc__exp_la_OBJECTS = $(am__objects_1)
libstdc__exp_la_OBJECTS = $(am_libstdc__exp_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
@@ -458,10 +458,8 @@ toolexeclib_LTLIBRARIES = libstdc++exp.la
@ENABLE_BACKTRACE_TRUE@backtrace_lib =
$(top_builddir)/src/libbacktrace/libstdc++_libbacktrace.la
headers =
sources = \
- contract.cc
+ contract26.cc
-
-# vpath % $(top_srcdir)/src/experimental
libstdc__exp_la_SOURCES = $(sources)
libstdc__exp_la_LIBADD = \
$(top_builddir)/src/c++23/libc++23convenience.la \
@@ -480,7 +478,7 @@ libstdc__exp_la_DEPENDENCIES = \
# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden
# as the occasion calls for it.
AM_CXXFLAGS = \
- -std=gnu++17 -nostdinc++ \
+ -std=gnu++20 -nostdinc++ \
$(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \
$(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \
$(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS) \
I'm not sure where this change came from, it looks like a remnant from
some earlier change to src/experimental/Makefile.am which was
reverted, but the Makefile.in wasn't regenerated.
I'll fix it now.
Actually ... we probably *should* change that file to use gnu++20 now,
but we should do it in Makefile.am instead :)