JDK-6627364 : javac needs Float and Double on the bootclasspath even when not directly used
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.
javac needs Float and Double on the classpath, even when float and double values are not being used.
Will consider synthesizing the classes if they are not available on the bootclasspath.
Float and Double are required when checking if the unboxing conversion JLS 3, 5.1.7.
The difficulty here is that checking for unboxing is part of the third phase of method resolution, JLS3 15.12.2, and 22.214.171.124, so even overload resolution may indirectly use Float and Double.
Should work to have empty classes for Float and Double on the bootclasspath for compilation.
The problem occurs in the unboxing code, where the compiler looks to see if a target type is a subtype of any of the box types.