On Tue, 30 Aug 2022 12:08:09 GMT, Daniel Jeliński <djelin...@openjdk.org> wrote:
> Fix compilation with Zc:preprocessor enabled. > > The flag itself will be enabled in > [JDK-8247283](https://bugs.openjdk.org/browse/JDK-8247283); I enabled the > flag using instructions found in Magnus's comment on that issue. > > Windows 10 SDK version 2104 (10.0.20348.0) is required for successful > compilation. Compilation fails with a warning (treated as error by default) > with older versions of Windows 10 SDK. > > I verified that the compilation completes successfully with this patch, both > in debug and in release mode, both with and without Zc:preprocessor. FWIW, here's the test that I used: #include <stdio.h> #define PRINTERR(res) \ PRINT(res, " " ## #res ## " in file " __FILE__); #define PRINT(res, msg) \ printf("- " ## msg ## " val=%d\n", res); int main() { for (int i = 0; i < 2; i++) { PRINTERR(i); } } Output: - i in file test.c val=0 - i in file test.c val=1 removing `##` does not change the output. ------------- PR: https://git.openjdk.org/jdk/pull/10080