Hi Joseph,
I've rebased on top of trunk. The conflict was with RID_STATIC_ASSERT,
but nothing important.
I've tested again for regressions, and all's good.
alx@devuan:~/src/gnu/gcc/countof$ git log --oneline
gnu/master^..countof2
6c2034f3c38a (HEAD -> countof, tag: countof2) c: Refactor
c_parser_unary_expression()
7197d8062fdd (gnu/trunk, gnu/master, gnu/HEAD, master) aarch64: Add
support for preserve_none function attribute [PR target/118328]
alx@devuan:~/src/gnu/gcc/countof$ git reset gnu/master --hard
HEAD is now at 7197d8062fdd aarch64: Add support for preserve_none
function attribute [PR target/118328]
alx@devuan:~/src/gnu/gcc/countof$ mkdir ../countof2
alx@devuan:~/src/gnu/gcc/countof$ cd ../countof2/
alx@devuan:~/src/gnu/gcc/countof2$ set -o pipefail
alx@devuan:~/src/gnu/gcc/countof2$ ../countof/configure
--disable-multilib --prefix=/opt/local/gnu/gcc/countof2 |& ts -s | tail -n1; \
echo $?; \
make -j24 bootstrap |& ts -s | tail -n1; \
echo $?; \
make -j24 check |& ts -s | tail -n1; \
echo $?;
00:00:01 config.status: creating Makefile
0
00:22:29 make[1]: Leaving directory '/srv/alx/src/gnu/gcc/countof2'
0
00:34:58 make[1]: Leaving directory '/srv/alx/src/gnu/gcc/countof2'
0
alx@devuan:~/src/gnu/gcc/countof2$ cd ../countof
alx@devuan:~/src/gnu/gcc/countof$ git merge --ff-only countof2
Updating 7197d8062fdd..6c2034f3c38a
Fast-forward
gcc/c/c-parser.cc | 107 +++++++++++++++++++---------------------------
1 file changed, 45 insertions(+), 62 deletions(-)
alx@devuan:~/src/gnu/gcc/countof$ cd ..
alx@devuan:~/src/gnu/gcc$ mv countof2/ countof2_b4
alx@devuan:~/src/gnu/gcc$ mkdir countof2
alx@devuan:~/src/gnu/gcc$ cd countof2
alx@devuan:~/src/gnu/gcc/countof2$ ../countof/configure
--disable-multilib --prefix=/opt/local/gnu/gcc/countof2 |& ts -s | tail -n1; \
echo $?; \
make -j24 bootstrap |& ts -s | tail -n1; \
echo $?; \
make -j24 check |& ts -s | tail -n1; \
echo $?;
00:00:01 config.status: creating Makefile
0
00:22:16 make[1]: Leaving directory '/srv/alx/src/gnu/gcc/countof2'
0
00:36:41 make[1]: Leaving directory '/srv/alx/src/gnu/gcc/countof2'
0
alx@devuan:~/src/gnu/gcc/countof2$ find -type f | grep '\.sum$' | while
read f; do diff -u "../countof2_b4/$f" "$f"; done;
--- ../countof2_b4/./x86_64-pc-linux-gnu/libitm/testsuite/libitm.sum
2025-11-08 09:48:32.874926361 +0100
+++ ./x86_64-pc-linux-gnu/libitm/testsuite/libitm.sum 2025-11-08
21:59:43.966179199 +0100
@@ -1,4 +1,4 @@
-Test run by alx on Sat Nov 8 09:48:30 2025
+Test run by alx on Sat Nov 8 21:59:41 2025
Native configuration is x86_64-pc-linux-gnu
=== libitm tests ===
---
../countof2_b4/./x86_64-pc-linux-gnu/libatomic/testsuite/libatomic.sum
2025-11-08 09:48:31.883718097 +0100
+++ ./x86_64-pc-linux-gnu/libatomic/testsuite/libatomic.sum
2025-11-08 21:59:43.064786639 +0100
@@ -1,4 +1,4 @@
-Test run by alx on Sat Nov 8 09:48:30 2025
+Test run by alx on Sat Nov 8 21:59:41 2025
Native configuration is x86_64-pc-linux-gnu
=== libatomic tests ===
--- ../countof2_b4/./x86_64-pc-linux-gnu/libgomp/testsuite/libgomp.sum
2025-11-08 09:51:04.185810748 +0100
+++ ./x86_64-pc-linux-gnu/libgomp/testsuite/libgomp.sum 2025-11-08
22:02:18.723575721 +0100
@@ -1,4 +1,4 @@
-Test run by alx on Sat Nov 8 09:48:30 2025
+Test run by alx on Sat Nov 8 21:59:41 2025
Native configuration is x86_64-pc-linux-gnu
=== libgomp tests ===
---
../countof2_b4/./x86_64-pc-linux-gnu/libstdc++-v3/testsuite/libstdc++.sum
2025-11-08 10:23:27.012449772 +0100
+++ ./x86_64-pc-linux-gnu/libstdc++-v3/testsuite/libstdc++.sum
2025-11-08 22:36:22.043566505 +0100
@@ -1,4 +1,4 @@
-Test run by alx on Sat Nov 8 09:48:31 2025
+Test run by alx on Sat Nov 8 21:59:42 2025
Native configuration is x86_64-pc-linux-gnu
=== libstdc++ tests ===
--- ../countof2_b4/./gcc/testsuite/objc/objc.sum 2025-11-08
09:48:55.924754054 +0100
+++ ./gcc/testsuite/objc/objc.sum 2025-11-08 22:00:17.414631505
+0100
@@ -1,4 +1,4 @@
-Test run by alx on Sat Nov 8 09:48:31 2025
+Test run by alx on Sat Nov 8 21:59:42 2025
Native configuration is x86_64-pc-linux-gnu
=== objc tests ===
--- ../countof2_b4/./gcc/testsuite/g++/g++.sum 2025-11-08
10:04:49.203617382 +0100
+++ ./gcc/testsuite/g++/g++.sum 2025-11-08 22:12:33.437330698 +0100
@@ -1,4 +1,4 @@
-Test run by alx on Sat Nov 8 09:48:31 2025
+Test run by alx on Sat Nov 8 21:59:42 2025
Native configuration is x86_64-pc-linux-gnu
=== g++ tests ===
--- ../countof2_b4/./gcc/testsuite/gcc/gcc.sum 2025-11-08
10:08:13.828764978 +0100
+++ ./gcc/testsuite/gcc/gcc.sum 2025-11-08 22:19:55.279233480 +0100
@@ -1,4 +1,4 @@
-Test run by alx on Sat Nov 8 09:48:31 2025
+Test run by alx on Sat Nov 8 21:59:42 2025
Native configuration is x86_64-pc-linux-gnu
=== gcc tests ===
--- ../countof2_b4/./gcc/testsuite/gfortran/gfortran.sum
2025-11-08 10:01:26.845874170 +0100
+++ ./gcc/testsuite/gfortran/gfortran.sum 2025-11-08
22:07:42.861454732 +0100
@@ -1,4 +1,4 @@
-Test run by alx on Sat Nov 8 09:48:31 2025
+Test run by alx on Sat Nov 8 21:59:42 2025
Native configuration is x86_64-pc-linux-gnu
=== gfortran tests ===
See the range-diff below.
Have a lovely night!
Alex
Alejandro Colomar (1):
c: Refactor c_parser_unary_expression()
gcc/c/c-parser.cc | 107 +++++++++++++++++++---------------------------
1 file changed, 45 insertions(+), 62 deletions(-)
Range-diff against v1:
1: 3a44208d2b2f < -: ------------ doc: Move _Countof under 'Other Extensions
to C Syntax'
2: 693d2f075c97 ! 1: 6c2034f3c38a c: Refactor c_parser_unary_expression()
@@ gcc/c/c-parser.cc: c_parser_unary_expression (c_parser *parser)
- case RID_TRANSACTION_RELAXED:
- return c_parser_transaction_expression (parser,
- c_parser_peek_token (parser)->keyword);
+- case RID_STATIC_ASSERT:
+- c_parser_static_assert_declaration_no_semi (parser);
+- pedwarn_c23 (op_loc, OPT_Wpedantic,
+- "ISO C does not support static assertions in "
+- "expressions before C2Y");
+- ret.value = void_node;
+- set_c_expr_source_range (&ret, op_loc, op_loc);
+- ret.m_decimal = 0;
+- return ret;
- default:
- return c_parser_postfix_expression (parser);
- }
@@ gcc/c/c-parser.cc: c_parser_unary_expression (c_parser *parser)
+ case RID_TRANSACTION_ATOMIC:
+ case RID_TRANSACTION_RELAXED:
+ return c_parser_transaction_expression (parser, rid);
++ case RID_STATIC_ASSERT:
++ c_parser_static_assert_declaration_no_semi (parser);
++ pedwarn_c23 (op_loc, OPT_Wpedantic,
++ "ISO C does not support static assertions in "
++ "expressions before C2Y");
++ ret.value = void_node;
++ set_c_expr_source_range (&ret, op_loc, op_loc);
++ ret.m_decimal = 0;
++ return ret;
+ default:
+ return c_parser_postfix_expression (parser);
+ }
--
2.51.0