Re: [r17-457 Regression] FAIL: g++.dg/reflect/bases_of5.C -std=c++26 (test for excess errors) on Linux/x86_64
Marek Polacek via Gcc-regression <[email protected]>
| Newsgroups | gmane.comp.gcc.regression,gmane.comp.gcc.patches |
|---|---|
| Message-ID | <[email protected]> |
On Tue, May 12, 2026 at 01:43:20PM +0800, Haochen Jiang wrote: > On Linux/x86_64, > > 7199cf12773b1429c19cdd5b69950b2f09470e64 is the first bad commit > commit 7199cf12773b1429c19cdd5b69950b2f09470e64 > Author: Marek Polacek <[email protected]> > Date: Thu May 7 16:38:34 2026 -0400 > > c++/reflection: fixes for comparing reflections [PR125208] > > caused > > FAIL: g++.dg/reflect/bases_of5.C -std=c++26 (test for excess errors) Fixed: gcc/testsuite/ChangeLog: * g++.dg/reflect/bases_of5.C: Use decltype (sizeof 0) instead of unsigned long. --- gcc/testsuite/g++.dg/reflect/bases_of5.C | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/testsuite/g++.dg/reflect/bases_of5.C b/gcc/testsuite/g++.dg/reflect/bases_of5.C index 1c713b22cda..a8549a0d97e 100644 --- a/gcc/testsuite/g++.dg/reflect/bases_of5.C +++ b/gcc/testsuite/g++.dg/reflect/bases_of5.C @@ -6,14 +6,14 @@ namespace std { template <class _E> struct initializer_list { typedef _E *const_iterator; _E *_M_array; - unsigned long _M_len; + decltype (sizeof 0) _M_len; constexpr long size() { return _M_len; } constexpr const_iterator begin() { return _M_array; } constexpr const_iterator end() { return begin() + size(); } }; template <typename> struct allocator_traits; } // namespace std -constexpr void *operator new(unsigned long, void *__p) { return __p; } +constexpr void *operator new(decltype (sizeof 0), void *__p) { return __p; } namespace std { template <typename _Tp, typename... _Args> constexpr void _Construct(_Tp *__p, _Args... __args) { base-commit: a202c707bea3ff021b44aa00c0570798a30aae31 -- 2.54.0