>> 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-