From d7146f6d335b360c5c9fb736cf49c7af939b77d7 Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Wed, 7 Dec 2022 15:53:48 +0100 Subject: [PATCH] java/openjdk8: fix build with clang 15 During an exp-run for llvm 15 (see bug 265425), it turned out that java/openjdk8 failed to build with clang 15: /wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u352-b08.1/jdk/src/share/bin/splashscreen_stubs.c:64:30: error: incompatible pointer to integer conversion returning 'void *' from a function with result type 'int' [-Wint-conversion] INVOKE(SplashLoadMemory, NULL)(pdata, size); ^~~~ /usr/include/sys/_null.h:34:14: note: expanded from macro 'NULL' #define NULL ((void *)0) ^~~~~~~~~~~ /wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u352-b08.1/jdk/src/share/bin/splashscreen_stubs.c:60:39: note: expanded from macro 'INVOKE' #define INVOKE(name,def) _INVOKE(name,def,return) ^~~ /wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u352-b08.1/jdk/src/share/bin/splashscreen_stubs.c:57:25: note: expanded from macro '_INVOKE' if (!proc) { return def; } \ ^~~ /wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u352-b08.1/jdk/src/share/bin/splashscreen_stubs.c:68:28: error: incompatible pointer to integer conversion returning 'void *' from a function with result type 'int' [-Wint-conversion] INVOKE(SplashLoadFile, NULL)(filename); ^~~~ /usr/include/sys/_null.h:34:14: note: expanded from macro 'NULL' #define NULL ((void *)0) ^~~~~~~~~~~ /wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u352-b08.1/jdk/src/share/bin/splashscreen_stubs.c:60:39: note: expanded from macro 'INVOKE' #define INVOKE(name,def) _INVOKE(name,def,return) ^~~ /wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u352-b08.1/jdk/src/share/bin/splashscreen_stubs.c:57:25: note: expanded from macro '_INVOKE' if (!proc) { return def; } \ ^~~ 2 errors generated. Indeed, instead of the pointer value NULL, the integer value 0 should be used. PR: 268223 Approved by: portmgr (tcberner) MFH: 2022Q4 --- ...patch-jdk_src_share_bin_splashscreen__stubs.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 java/openjdk8/files/patch-jdk_src_share_bin_splashscreen__stubs.c diff --git a/java/openjdk8/files/patch-jdk_src_share_bin_splashscreen__stubs.c b/java/openjdk8/files/patch-jdk_src_share_bin_splashscreen__stubs.c new file mode 100644 index 000000000000..80019e780130 --- /dev/null +++ b/java/openjdk8/files/patch-jdk_src_share_bin_splashscreen__stubs.c @@ -0,0 +1,16 @@ +--- jdk/src/share/bin/splashscreen_stubs.c.orig 2022-07-31 16:21:00 UTC ++++ jdk/src/share/bin/splashscreen_stubs.c +@@ -61,11 +61,11 @@ int DoSplashLoadMemory(void* pdata, int size) { + #define INVOKEV(name) _INVOKE(name, ,;) + + int DoSplashLoadMemory(void* pdata, int size) { +- INVOKE(SplashLoadMemory, NULL)(pdata, size); ++ INVOKE(SplashLoadMemory, 0)(pdata, size); + } + + int DoSplashLoadFile(const char* filename) { +- INVOKE(SplashLoadFile, NULL)(filename); ++ INVOKE(SplashLoadFile, 0)(filename); + } + + void DoSplashInit(void) {