Define JNIEXPORT as visibility default with GCC? (original) (raw)

David DeHaven david.dehaven at oracle.com
Fri Apr 12 08:22:36 PDT 2013


I totally agree that the current usage of JNIEXPORT in typedefs in AWT and 2D code is a bug.

My concern, however, is about other code that mistakenly adapted the same pattern. After this fix its compilation will fail. Yup. Any code that was using JNIEXPORT inappropriately will fail to compile. All changes are incompatible changes. But ... it's only a source incompatibility, only in native code, and trivial for users to fix. (It would be even better if the semantics of JNIEXPORT were documented somewhere...) Just like the JDK native code needs porting whenever a new release of gcc comes out.

Martin's right, this is a concern that's beyond our scope and the problem is easily solvable (the documentation issue aside..). Besides, it's going into 8 which will give it a chance to incubate before it gets out into the wild on production systems, right?

(and I have a patch that will depend on Martin's patch coming shortly... so anything to get this through will help :)

I did find at least a couple places in JavaFX 8.0 where it's being misused. Those should be easy to clean up though, I can file an issue and handle it. I haven't checked JavaFX 2.x yet, but that's not a concern until this gets backported.

-DrD-



More information about the jdk8-dev mailing list