Re: [r16-7292 Regression] FAIL: g++.dg/concepts/expression.C -std=gnu++17 (test for excess errors) on Linux/x86_64

Nathan Myers <[email protected]>
Newsgroups gmane.comp.gcc.regression,gmane.comp.gcc.patches
Message-ID <[email protected]>
On 2/6/26 2:29 AM, Haochen Jiang wrote:
> On Linux/x86_64,
> 
> 3f7905550483408a2c4c5096a1adc8d7e863eb12 is the first bad commit
> commit 3f7905550483408a2c4c5096a1adc8d7e863eb12
> Author: Nathan Myers <[email protected]>
> Date:   Mon Sep 22 23:52:52 2025 -0400
> 
>      libstdc++: container erasure overloads (P2077) [PR117404]
> 
> caused
> 
> FAIL: g++.dg/concepts/expression.C  -std=gnu++17 (test for excess errors)
> 
> with GCC configured with
> 
> ../../gcc/configure --prefix=/export/users3/haochenj/src/gcc-bisect/master/master/r16-7292/usr --enable-clocale=gnu --with-system-zlib --with-demangler-in-ld --with-fpmath=sse --enable-languages=c,c++,fortran --enable-cet --without-isl --enable-libmpx x86_64-linux --disable-bootstrap
> 
> To reproduce:
> 
> $ cd {build_dir}/gcc && make check RUNTESTFLAGS="dg.exp=g++.dg/concepts/expression.C --target_board='unix{-m32}'"
> $ cd {build_dir}/gcc && make check RUNTESTFLAGS="dg.exp=g++.dg/concepts/expression.C --target_board='unix{-m32\ -march=cascadelake}'"
> $ cd {build_dir}/gcc && make check RUNTESTFLAGS="dg.exp=g++.dg/concepts/expression.C --target_board='unix{-m64}'"
> $ cd {build_dir}/gcc && make check RUNTESTFLAGS="dg.exp=g++.dg/concepts/expression.C --target_board='unix{-m64\ -march=cascadelake}'"
> 
> (Please directly reply to this email for question about this report.)
> (If you met problems with cascadelake related, disabling AVX512F in command line might save that.)
> (However, please make sure that there is no potential problems with AVX512.)
Fixed in 786e316de5c25a3fddeaa2003f6efb64fb5ab4a9  2026-02-06 03:25:21

     libstdc++: fix C++17 regression in concept __heterogeneous_key

     The commit 3f7905550483408a2c4c5096a1adc8d7e863eb12 defined a
     concept using a name not defined in C++17. This is fixed by
     using an older name.

     https://gcc.gnu.org/pipermail/gcc-patches/2026-February/707814.html

     libstdc++-v3/ChangeLog
     	* include/bits/stl_function.h (__heterogeneous_key): Use
     	C++17-defined remove_cvref<>::type instead.

Nathan Myers
[email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.