On Mon, 23 Dec 2024 21:28:41 GMT, Kim Barrett <kbarr...@openjdk.org> wrote:
>> SendaoYan has updated the pull request with a new target base due to a merge >> or a rebase. The incremental webrev excludes the unrelated changes brought >> in by the merge/rebase. The pull request contains five additional commits >> since the last revision: >> >> - Merge branch 'openjdk:master' into jbs8345757 >> - rename dprintf to debug_printf and make it variadic >> - add comments // GNU, POSIX.1-2008 >> - Merge branch 'openjdk:master' into jbs8345757 >> - 8345757: [ASAN] clang17 report dprintf macro redefined > > src/java.smartcardio/share/native/libj2pcsc/pcsc.c line 43: > >> 41: >> 42: #ifdef J2PCSC_DEBUG >> 43: #define debug_printf(format, ...) printf(format, ##__VA_ARGS__) > > `##__VA_ARGS__` is a gcc extension that is also supported by clang and MSVC++ > (for MSVC++, maybe only with recent versions or necessary flags that we're > using?). The standard way to accomplish this sort of thing is `__VA_OPT__`, > but that's a C++20/C23 feature, so not available to us. It seems we're already > using that extension in over 50 places in the JDK (nearly a dozon in HotSpot). > So okay. > > Though I think `debug_printf(...) printf(__VA_ARGS__)` instead would work in > this case. It's not quite as nicely self-documenting though. Thanks for the detailed explanation and analysis. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/22630#discussion_r1896286428