Re: [PATCH] scripts/unifdef: avoid constexpr keyword

From: Tony Finch
Date: Thu Mar 21 2024 - 11:54:13 EST


Arnd Bergmann <arnd@xxxxxxxxxx> wrote:
>
> Starting with c23, 'constexpr' is a keyword in C like in C++ and cannot
> be used as an identifier:

So it is! Can you please incorporate the fixup patch below? Other than
that, LGTM.

Reviewed-By: Tony Finch <dot@xxxxxxxx>

PS. I've been reviewing some other details of C23 recently. According to
the Editor's Report https://open-std.org/jtc1/sc22/wg14/www/docs/n3221.htm
the working draft that is closest to the official C23 Draft International
Standard is https://open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf
(There were significant changes and fixes even quite late in the process
so don't rely on earlier versions - I encoutered a bug when I did!)


--- scripts/unifdef.c
+++ scripts/unifdef.c
@@ -819,7 +819,7 @@ static const struct ops {
/*
* Function for evaluating the innermost parts of expressions,
* viz. !expr (expr) number defined(symbol) symbol
- * We reset the constexpr flag in the last two cases.
+ * We reset the constexpression flag in the last two cases.
*/
static Linetype
eval_unary(const struct ops *ops, int *valp, const char **cpp)


--
Tony Finch <dot@xxxxxxxx> https://dotat.at/
South Utsire: Variable 2 to 4 becoming south or southwest 5 to 7.
Moderate or rough. Rain or showers. Moderate or good, occasionally
poor.