JDK-8201226 : missing JNIEXPORT / JNICALL at some places in function declarations/implementations
  • Type: Bug
  • Component: core-libs
  • Affected Version: 11
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: windows
  • CPU: x86
  • Submitted: 2018-04-06
  • Updated: 2019-01-28
  • Resolved: 2018-04-20
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 11
11 b11Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Description
At a number  of places in the coding  ,   the  JNIEXPORT and/or   JNICALL modifiers   do not match  when one compares  the declaration and
 implementation of functions.
While this still works on most platforms, it fails on Windows 32 bit and leads to errors like this one :

e:/priv/openjdk/repos/jdk/src/java.desktop/share/native/libmlib_image/mlib_ImageConvKernelConvert.c(87) : error C2373: 'j2d_mlib_ImageConvKernelConvert' : redefinition; different type modifiers
        e:\priv\openjdk\repos\jdk\src\java.desktop\share\native\libmlib_image\mlib_image_proto.h(2630) : see declaration of 'j2d_mlib_ImageConvKernelConvert'

(there are quite a few of these e.g. in mlib  / splashscreen etc.)
The error seems to be related to the mapfile-removal  recently done in jdk/jdk .