Here's the test run.  No regressions.

BTW, there are some differences between runs.  I _think_ this is due to
running them in separate days, and having run 'make install' in between,
which seems to have made some tests that would normally fail now succeed
but that's unrelated to the feature, and in other runs that I've run
immediately, those differences don't appear.  They started appearing
when I ran 'make install', which I suspect had some effect on them,
even if it shouldn't (because 'make check' is supposed to not be
affected by the system, IMO).  Anyway, here it goes.



alx@debian:/srv/alx/src/gnu/gcc/len$ cat /home/alx/tmp/rt 
alx@debian:/srv/alx/src/gnu/gcc/len$ git log --oneline gnu/master^..len22
c44ef4a2c75 (HEAD -> len, tag: len22, alx/len) c: Add -Wpedantic diagno>
418f81175e7 c: Add <stdcountof.h>
1c983c3baa7 c: Add _Countof operator
90c6ccebd76 (gnu/trunk, gnu/master, gnu/HEAD) RISC-V: Drop riscv_ext_fl>
alx@debian:/srv/alx/src/gnu/gcc/len$ git reset gnu/master --h
HEAD is now at 90c6ccebd76 RISC-V: Drop riscv_ext_flag_table in favor of 
riscv_ext_info_t data
alx@debian:/srv/alx/src/gnu/gcc/len$ mkdir ../len22
alx@debian:/srv/alx/src/gnu/gcc/len$ cd ../len22
alx@debian:/srv/alx/src/gnu/gcc/len22$ /bin/time ../len/configure 
--disable-multilib --prefix=/opt/local/gnu/gcc/countof22 |& ts -s | tail -n 3; 
echo $?
00:00:01 config.status: creating Makefile
00:00:01 1.59user 0.57system 0:01.78elapsed 122%CPU (0avgtext+0avgdata 
26812maxresident)k
00:00:01 0inputs+8056outputs (0major+280314minor)pagefaults 0swaps
0
alx@debian:/srv/alx/src/gnu/gcc/len22$ /bin/time make -j12 bootstrap |& ts -s | 
tail -n 3; echo $?
00:32:17 make[1]: Leaving directory '/srv/alx/src/gnu/gcc/len22'
00:32:17 16769.95user 436.07system 32:16.93elapsed 888%CPU (0avgtext+0avgdata 
1491560maxresident)k
00:32:17 0inputs+31383912outputs (856major+112120780minor)pagefaults 0swaps
0
alx@debian:/srv/alx/src/gnu/gcc/len22$ /bin/time make check |& ts -s | tail -n 
3; echo $?
07:30:54 make[1]: Leaving directory '/srv/alx/src/gnu/gcc/len22'
07:30:54 23876.26user 3393.05system 7:30:54elapsed 100%CPU (0avgtext+0avgdata 
1041556maxresident)k
07:30:54 700720inputs+21152256outputs (2963major+1060028942minor)pagefaults 
0swaps
0
alx@debian:/srv/alx/src/gnu/gcc/len22$ cd ../len
alx@debian:/srv/alx/src/gnu/gcc/len$ git merge --ff-only len22
Updating 90c6ccebd76..c44ef4a2c75
Fast-forward
 gcc/Makefile.in                               |   1 +
 gcc/c-family/c-common.cc                      |  26 ++++
 gcc/c-family/c-common.def                     |   3 +
 gcc/c-family/c-common.h                       |   2 +
 gcc/c/c-decl.cc                               |  22 +++-
 gcc/c/c-parser.cc                             |  63 +++++++--
 gcc/c/c-tree.h                                |   4 +
 gcc/c/c-typeck.cc                             | 115 +++++++++++++++-
 gcc/doc/extend.texi                           |  30 +++++
 gcc/ginclude/stdcountof.h                     |  31 +++++
 gcc/testsuite/gcc.dg/countof-compat.c         |   8 ++
 gcc/testsuite/gcc.dg/countof-compile.c        | 124 ++++++++++++++++++
 gcc/testsuite/gcc.dg/countof-no-compat.c      |   5 +
 .../gcc.dg/countof-pedantic-errors.c          |   8 ++
 gcc/testsuite/gcc.dg/countof-pedantic.c       |   8 ++
 gcc/testsuite/gcc.dg/countof-stdcountof.c     |  25 ++++
 gcc/testsuite/gcc.dg/countof-vla.c            |  35 +++++
 gcc/testsuite/gcc.dg/countof-vmt.c            |  21 +++
 gcc/testsuite/gcc.dg/countof-zero-compile.c   |  38 ++++++
 gcc/testsuite/gcc.dg/countof-zero.c           |  32 +++++
 gcc/testsuite/gcc.dg/countof.c                | 121 +++++++++++++++++
 21 files changed, 698 insertions(+), 24 deletions(-)
 create mode 100644 gcc/ginclude/stdcountof.h
 create mode 100644 gcc/testsuite/gcc.dg/countof-compat.c
 create mode 100644 gcc/testsuite/gcc.dg/countof-compile.c
 create mode 100644 gcc/testsuite/gcc.dg/countof-no-compat.c
 create mode 100644 gcc/testsuite/gcc.dg/countof-pedantic-errors.c
 create mode 100644 gcc/testsuite/gcc.dg/countof-pedantic.c
 create mode 100644 gcc/testsuite/gcc.dg/countof-stdcountof.c
 create mode 100644 gcc/testsuite/gcc.dg/countof-vla.c
 create mode 100644 gcc/testsuite/gcc.dg/countof-vmt.c
 create mode 100644 gcc/testsuite/gcc.dg/countof-zero-compile.c
 create mode 100644 gcc/testsuite/gcc.dg/countof-zero.c
 create mode 100644 gcc/testsuite/gcc.dg/countof.c
alx@debian:/srv/alx/src/gnu/gcc/len$ cd ..
alx@debian:/srv/alx/src/gnu/gcc$ mv len22/ len22_b4
alx@debian:/srv/alx/src/gnu/gcc$ mkdir len22
alx@debian:/srv/alx/src/gnu/gcc$ cd len22
alx@debian:/srv/alx/src/gnu/gcc/len22$ /bin/time ../len/configure 
--disable-multilib --prefix=/opt/local/gnu/gcc/countof22 |& ts -s | tail -n 3; 
echo $?
00:00:01 config.status: creating Makefile
00:00:01 1.51user 0.56system 0:01.71elapsed 120%CPU (0avgtext+0avgdata 
26792maxresident)k
00:00:01 0inputs+8056outputs (0major+278567minor)pagefaults 0swaps
0
alx@debian:/srv/alx/src/gnu/gcc/len22$ /bin/time make -j12 bootstrap |& ts -s | 
tail -n 3; echo $?
00:31:34 make[1]: Leaving directory '/srv/alx/src/gnu/gcc/len22'
00:31:34 17016.93user 422.52system 31:34.56elapsed 920%CPU (0avgtext+0avgdata 
1491208maxresident)k
00:31:34 0inputs+31416288outputs (567major+112073730minor)pagefaults 0swaps
0
alx@debian:/srv/alx/src/gnu/gcc/len22$ /bin/time make check |& ts -s | tail -n 
3; echo $?
06:45:55 make[1]: Leaving directory '/srv/alx/src/gnu/gcc/len22'
06:45:55 21372.00user 3206.73system 6:45:54elapsed 100%CPU (0avgtext+0avgdata 
1041984maxresident)k
06:45:55 2373464inputs+21171544outputs (8250major+1061062398minor)pagefaults 
0swaps
0
alx@debian:~/src/gnu/gcc/len22$ find -type f | grep '\.sum$' | while read f; do 
diff -u ../len22_b4/$f <(cat $f | sed s,/home/,/srv/,); done
--- ../len22_b4/./gcc/testsuite/objc/objc.sum   2025-05-13 14:22:51.748236998 
+0200
+++ /dev/fd/63  2025-05-16 00:28:55.103842979 +0200
@@ -1,4 +1,4 @@
-Test run by alx on Tue May 13 14:22:02 2025
+Test run by alx on Thu May 15 20:13:12 2025
 Native configuration is x86_64-pc-linux-gnu
 
                === objc tests ===
--- ../len22_b4/./gcc/testsuite/g++/g++.sum     2025-05-13 13:50:08.360564526 
+0200
+++ /dev/fd/63  2025-05-16 00:28:55.107842984 +0200
@@ -1,4 +1,4 @@
-Test run by alx on Tue May 13 13:01:57 2025
+Test run by alx on Thu May 15 18:51:11 2025
 Native configuration is x86_64-pc-linux-gnu
 
                === g++ tests ===
@@ -145913,9 +145913,27 @@
 PASS: g++.dg/warn/uninit-pr82800.C  -std=gnu++17 (test for excess errors)
 PASS: g++.dg/warn/uninit-pr82800.C  -std=gnu++26  (test for bogus messages, 
line 14)
 PASS: g++.dg/warn/uninit-pr82800.C  -std=gnu++26 (test for excess errors)
-UNSUPPORTED: g++.dg/warn/uninit-pr93100.C  -std=gnu++17
-UNSUPPORTED: g++.dg/warn/uninit-pr93100.C  -std=gnu++98
-UNSUPPORTED: g++.dg/warn/uninit-pr93100.C  -std=gnu++26
+PASS: g++.dg/warn/uninit-pr93100.C  -std=gnu++17  (test for warnings, line 13)
+PASS: g++.dg/warn/uninit-pr93100.C  -std=gnu++17  (test for warnings, line 20)
+PASS: g++.dg/warn/uninit-pr93100.C  -std=gnu++17  (test for warnings, line 31)
+PASS: g++.dg/warn/uninit-pr93100.C  -std=gnu++17  (test for warnings, line 38)
+PASS: g++.dg/warn/uninit-pr93100.C  -std=gnu++17  (test for warnings, line 49)
+PASS: g++.dg/warn/uninit-pr93100.C  -std=gnu++17  (test for warnings, line 56)
+PASS: g++.dg/warn/uninit-pr93100.C  -std=gnu++17 (test for excess errors)
+PASS: g++.dg/warn/uninit-pr93100.C  -std=gnu++98  (test for warnings, line 13)
+PASS: g++.dg/warn/uninit-pr93100.C  -std=gnu++98  (test for warnings, line 20)
+PASS: g++.dg/warn/uninit-pr93100.C  -std=gnu++98  (test for warnings, line 31)
+PASS: g++.dg/warn/uninit-pr93100.C  -std=gnu++98  (test for warnings, line 38)
+PASS: g++.dg/warn/uninit-pr93100.C  -std=gnu++98  (test for warnings, line 49)
+PASS: g++.dg/warn/uninit-pr93100.C  -std=gnu++98  (test for warnings, line 56)
+PASS: g++.dg/warn/uninit-pr93100.C  -std=gnu++98 (test for excess errors)
+PASS: g++.dg/warn/uninit-pr93100.C  -std=gnu++26  (test for warnings, line 13)
+PASS: g++.dg/warn/uninit-pr93100.C  -std=gnu++26  (test for warnings, line 20)
+PASS: g++.dg/warn/uninit-pr93100.C  -std=gnu++26  (test for warnings, line 31)
+PASS: g++.dg/warn/uninit-pr93100.C  -std=gnu++26  (test for warnings, line 38)
+PASS: g++.dg/warn/uninit-pr93100.C  -std=gnu++26  (test for warnings, line 49)
+PASS: g++.dg/warn/uninit-pr93100.C  -std=gnu++26  (test for warnings, line 56)
+PASS: g++.dg/warn/uninit-pr93100.C  -std=gnu++26 (test for excess errors)
 PASS: g++.dg/warn/unit-1.C  -std=gnu++17  (test for warnings, line 8)
 PASS: g++.dg/warn/unit-1.C  -std=gnu++17 (test for excess errors)
 PASS: g++.dg/warn/unit-1.C  -std=gnu++98  (test for warnings, line 8)
@@ -253049,10 +253067,10 @@
 
                === g++ Summary ===
 
-# of expected passes           248638
+# of expected passes           248659
 # of unexpected failures       10
 # of unexpected successes      3
 # of expected failures         2294
-# of unsupported tests         2033
+# of unsupported tests         2030
 /srv/alx/src/gnu/gcc/len22/gcc/xg++  version 16.0.0 20250513 (experimental) 
(GCC) 
 
--- ../len22_b4/./gcc/testsuite/gcc/gcc.sum     2025-05-13 13:01:57.374979956 
+0200
+++ /dev/fd/63  2025-05-16 00:28:55.195843098 +0200
@@ -1,4 +1,4 @@
-Test run by alx on Tue May 13 11:20:06 2025
+Test run by alx on Thu May 15 17:21:01 2025
 Native configuration is x86_64-pc-linux-gnu
 
                === gcc tests ===
@@ -81360,6 +81360,43 @@
 PASS: gcc.dg/conv-2.c (test for excess errors)
 PASS: gcc.dg/conv-3.c (test for excess errors)
 PASS: gcc.dg/conv-3.c execution test
+PASS: gcc.dg/countof-compat.c  (test for warnings, line 8)
+PASS: gcc.dg/countof-compat.c (test for excess errors)
+PASS: gcc.dg/countof-compile.c  (test for errors, line 23)
+PASS: gcc.dg/countof-compile.c  (test for errors, line 27)
+PASS: gcc.dg/countof-compile.c  (test for errors, line 38)
+PASS: gcc.dg/countof-compile.c  (test for errors, line 46)
+PASS: gcc.dg/countof-compile.c  (test for errors, line 64)
+PASS: gcc.dg/countof-compile.c  (test for errors, line 67)
+PASS: gcc.dg/countof-compile.c  (test for errors, line 70)
+PASS: gcc.dg/countof-compile.c  (test for errors, line 82)
+PASS: gcc.dg/countof-compile.c  (test for errors, line 83)
+PASS: gcc.dg/countof-compile.c  (test for errors, line 84)
+PASS: gcc.dg/countof-compile.c  (test for errors, line 85)
+PASS: gcc.dg/countof-compile.c  (test for errors, line 86)
+PASS: gcc.dg/countof-compile.c  (test for errors, line 87)
+PASS: gcc.dg/countof-compile.c  (test for errors, line 88)
+PASS: gcc.dg/countof-compile.c  (test for errors, line 89)
+PASS: gcc.dg/countof-compile.c  (test for errors, line 90)
+PASS: gcc.dg/countof-compile.c  (test for errors, line 94)
+PASS: gcc.dg/countof-compile.c  (test for errors, line 114)
+PASS: gcc.dg/countof-compile.c  (test for errors, line 123)
+PASS: gcc.dg/countof-compile.c (test for excess errors)
+PASS: gcc.dg/countof-no-compat.c (test for excess errors)
+PASS: gcc.dg/countof-pedantic-errors.c  (test for errors, line 8)
+PASS: gcc.dg/countof-pedantic-errors.c (test for excess errors)
+PASS: gcc.dg/countof-pedantic.c  (test for warnings, line 8)
+PASS: gcc.dg/countof-pedantic.c (test for excess errors)
+PASS: gcc.dg/countof-stdcountof.c (test for excess errors)
+PASS: gcc.dg/countof-stdcountof.c execution test
+PASS: gcc.dg/countof-vla.c (test for excess errors)
+PASS: gcc.dg/countof-vmt.c (test for excess errors)
+PASS: gcc.dg/countof-vmt.c execution test
+PASS: gcc.dg/countof-zero-compile.c (test for excess errors)
+PASS: gcc.dg/countof-zero.c (test for excess errors)
+PASS: gcc.dg/countof-zero.c execution test
+PASS: gcc.dg/countof.c (test for excess errors)
+PASS: gcc.dg/countof.c execution test
 PASS: gcc.dg/cr-decimal-dig-1.c (test for excess errors)
 PASS: gcc.dg/cr-decimal-dig-2.c (test for excess errors)
 PASS: gcc.dg/cr-decimal-dig-3.c (test for excess errors)
@@ -91957,7 +91994,7 @@
 PASS: gcc.dg/pr91195.c  (test for bogus messages, line 14)
 PASS: gcc.dg/pr91195.c (test for excess errors)
 PASS: gcc.dg/pr91269.c (test for excess errors)
-UNSUPPORTED: gcc.dg/pr91441.c
+PASS: gcc.dg/pr91441.c (test for excess errors)
 PASS: gcc.dg/pr91570.c (test for excess errors)
 PASS: gcc.dg/pr91720.c (test for excess errors)
 PASS: gcc.dg/pr91720.c execution test
@@ -92166,10 +92203,10 @@
 PASS: gcc.dg/pr96239.c scan-tree-dump-times optimized " r>> 8;" 1
 PASS: gcc.dg/pr96239.c scan-tree-dump-times optimized " = __builtin_bswap64 " 1
 PASS: gcc.dg/pr96239.c scan-tree-dump-not optimized " >> 
(8|16|24|32|40|48|56);"
-UNSUPPORTED: gcc.dg/pr96260.c
+PASS: gcc.dg/pr96260.c (test for excess errors)
 PASS: gcc.dg/pr96298.c (test for excess errors)
 PASS: gcc.dg/pr96298.c execution test
-UNSUPPORTED: gcc.dg/pr96307.c
+PASS: gcc.dg/pr96307.c (test for excess errors)
 PASS: gcc.dg/pr96335.c (test for excess errors)
 PASS: gcc.dg/pr96370.c (test for excess errors)
 PASS: gcc.dg/pr96377-1.c  at line 2 (test for warnings, line )
@@ -96504,7 +96541,13 @@
 PASS: gcc.dg/uninit-pr90394-1-gimple.c  (test for warnings, line 9)
 PASS: gcc.dg/uninit-pr90394-1-gimple.c (test for excess errors)
 PASS: gcc.dg/uninit-pr90394.c (test for excess errors)
-UNSUPPORTED: gcc.dg/uninit-pr93100.c
+PASS: gcc.dg/uninit-pr93100.c  (test for warnings, line 16)
+PASS: gcc.dg/uninit-pr93100.c  (test for warnings, line 26)
+PASS: gcc.dg/uninit-pr93100.c  (test for warnings, line 38)
+PASS: gcc.dg/uninit-pr93100.c  (test for warnings, line 48)
+PASS: gcc.dg/uninit-pr93100.c  (test for warnings, line 61)
+PASS: gcc.dg/uninit-pr93100.c  (test for warnings, line 71)
+PASS: gcc.dg/uninit-pr93100.c (test for excess errors)
 PASS: gcc.dg/uninit-pr95136.c  (test for warnings, line 10)
 PASS: gcc.dg/uninit-pr95136.c  (test for warnings, line 12)
 PASS: gcc.dg/uninit-pr95136.c  (test for warnings, line 17)
@@ -98880,11 +98923,11 @@
 PASS: c-c++-common/Wbidi-chars-ranges.c  -Wc++-compat   at line 23 (test for 
warnings, line 22)
 PASS: c-c++-common/Wbidi-chars-ranges.c  -Wc++-compat   at line 39 (test for 
warnings, line 38)
 PASS: c-c++-common/Wbidi-chars-ranges.c  -Wc++-compat   at line 48 (test for 
warnings, line 47)
-FAIL: c-c++-common/Wbidi-chars-ranges.c  -Wc++-compat   expected multiline 
pattern lines 13-17
+PASS: c-c++-common/Wbidi-chars-ranges.c  -Wc++-compat   expected multiline 
pattern lines 13-17
 PASS: c-c++-common/Wbidi-chars-ranges.c  -Wc++-compat   expected multiline 
pattern lines 26-31
 PASS: c-c++-common/Wbidi-chars-ranges.c  -Wc++-compat   expected multiline 
pattern lines 42-43
 PASS: c-c++-common/Wbidi-chars-ranges.c  -Wc++-compat   expected multiline 
pattern lines 51-52
-FAIL: c-c++-common/Wbidi-chars-ranges.c  -Wc++-compat  (test for excess errors)
+PASS: c-c++-common/Wbidi-chars-ranges.c  -Wc++-compat  (test for excess errors)
 PASS: c-c++-common/Wbool-compare-1.c  -Wc++-compat   (test for warnings, line 
19)
 PASS: c-c++-common/Wbool-compare-1.c  -Wc++-compat   (test for warnings, line 
20)
 PASS: c-c++-common/Wbool-compare-1.c  -Wc++-compat   (test for warnings, line 
21)
@@ -216929,10 +216972,10 @@
 
                === gcc Summary ===
 
-# of expected passes           211519
-# of unexpected failures       9
+# of expected passes           211568
+# of unexpected failures       7
 # of unexpected successes      2
 # of expected failures         1479
-# of unsupported tests         3731
+# of unsupported tests         3727
 /srv/alx/src/gnu/gcc/len22/gcc/xgcc  version 16.0.0 20250513 (experimental) 
(GCC) 
 
--- ../len22_b4/./gcc/testsuite/gfortran/gfortran.sum   2025-05-13 
14:22:02.185557817 +0200
+++ /dev/fd/63  2025-05-16 00:28:55.267843192 +0200
@@ -1,4 +1,4 @@
-Test run by alx on Tue May 13 13:50:08 2025
+Test run by alx on Thu May 15 19:40:50 2025
 Native configuration is x86_64-pc-linux-gnu
 
                === gfortran tests ===
--- ../len22_b4/./x86_64-pc-linux-gnu/libstdc++-v3/testsuite/libstdc++.sum      
2025-05-13 18:36:46.021382946 +0200
+++ /dev/fd/63  2025-05-16 00:28:55.283843213 +0200
@@ -1,4 +1,4 @@
-Test run by alx on Tue May 13 14:23:14 2025
+Test run by alx on Thu May 15 20:14:26 2025
 Native configuration is x86_64-pc-linux-gnu
 
                === libstdc++ tests ===
@@ -14391,8 +14391,10 @@
 PASS: 29_atomics/atomic_float/1.cc  -std=gnu++26 execution test
 PASS: 29_atomics/atomic_float/95282.cc  -std=gnu++20 (test for excess errors)
 PASS: 29_atomics/atomic_float/95282.cc  -std=gnu++26 (test for excess errors)
-UNSUPPORTED: 29_atomics/atomic_float/compare_exchange_padding.cc  -std=gnu++20
-UNSUPPORTED: 29_atomics/atomic_float/compare_exchange_padding.cc  -std=gnu++26
+PASS: 29_atomics/atomic_float/compare_exchange_padding.cc  -std=gnu++20 (test 
for excess errors)
+PASS: 29_atomics/atomic_float/compare_exchange_padding.cc  -std=gnu++20 
execution test
+PASS: 29_atomics/atomic_float/compare_exchange_padding.cc  -std=gnu++26 (test 
for excess errors)
+PASS: 29_atomics/atomic_float/compare_exchange_padding.cc  -std=gnu++26 
execution test
 PASS: 29_atomics/atomic_float/constinit.cc  -std=gnu++20 (test for excess 
errors)
 PASS: 29_atomics/atomic_float/constinit.cc  -std=gnu++26 (test for excess 
errors)
 PASS: 29_atomics/atomic_float/requirements.cc  -std=gnu++20 (test for excess 
errors)
@@ -19286,6 +19288,6 @@
 
                === libstdc++ Summary ===
 
-# of expected passes           18342
+# of expected passes           18346
 # of expected failures         131
-# of unsupported tests         799
+# of unsupported tests         797
--- ../len22_b4/./x86_64-pc-linux-gnu/libitm/testsuite/libitm.sum       
2025-05-13 18:50:56.432974329 +0200
+++ /dev/fd/63  2025-05-16 00:28:55.291843222 +0200
@@ -1,4 +1,4 @@
-Test run by alx on Tue May 13 18:50:54 2025
+Test run by alx on Fri May 16 00:06:49 2025
 Native configuration is x86_64-pc-linux-gnu
 
                === libitm tests ===
--- ../len22_b4/./x86_64-pc-linux-gnu/libgomp/testsuite/libgomp.sum     
2025-05-13 18:50:54.376984988 +0200
+++ /dev/fd/63  2025-05-16 00:28:55.295843228 +0200
@@ -1,4 +1,4 @@
-Test run by alx on Tue May 13 18:37:03 2025
+Test run by alx on Thu May 15 23:52:30 2025
 Native configuration is x86_64-pc-linux-gnu
 
                === libgomp tests ===
--- ../len22_b4/./x86_64-pc-linux-gnu/libatomic/testsuite/libatomic.sum 
2025-05-13 18:50:57.936966534 +0200
+++ /dev/fd/63  2025-05-16 00:28:55.307843245 +0200
@@ -1,4 +1,4 @@
-Test run by alx on Tue May 13 18:50:56 2025
+Test run by alx on Fri May 16 00:06:51 2025
 Native configuration is x86_64-pc-linux-gnu
 
                === libatomic tests ===

-- 
<https://www.alejandro-colomar.es/>

Attachment: signature.asc
Description: PGP signature

Reply via email to