On Mon, 12 May 2025 07:54:23 GMT, Alexey Ushakov <a...@openjdk.org> wrote:
>> There is a trailing comma problem when passing no extra args. I didn't >> figure out how to solve it without `__VA_OPT__` or compiler-specific tricks, >> so I moved the string into variadic part, so that it always has at least one >> parameter. > > I think that the benefits (having an arbitrary number of arguments) outweigh > the lack of a check for the string argument type. So, I'd let's put some > comments here about future use of __VA_OPT__ and integrate this change. I think we still have the same benefits, and the first argument has to be string… It wasn't enforced at the macro level, but it was suggested by the name of the argument. https://github.com/openjdk/jdk/blob/867aee60dd12c4ea232aaf03f14a45a3d0f91851/src/java.desktop/share/native/libawt/java2d/Trace.c#L38C38-L38C44 The functions that implement traces, `J2dTraceImpl`, still require that the first argument is a string, therefore we should get a compilation error if the first parameter isn't a string. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/24949#discussion_r2084536439