RFR: 8145471: javac changes for enhanced deprecation
tim.bell at oracle.com
Wed Oct 19 21:47:43 UTC 2016
make/CompileJavaModules.gmk no comments
make/common/SetupJavaCompilers.gmk no comments
Thumbs up on the build changes.
On 10/18/16 17:00, Jonathan Gibbons wrote:
> You're correct, the change in make/CompileJavaModules.gmk is not
> necessary. Well spotted.
> The changes to the other make/ file are still necessary for the time
> being, to suppress warnings until the sources can be updated with
> appropriate use of @SuppressWarnings.
> The use of the literal "true" in TypeEnter is definitely undesirable,
> and I think you are correct in that there does not seem to be an easy
> fix without changing how javac handles deprecation. Generally, I think
> that this would mean that we would mean we would have to defer all
> deprecation reporting until after annotation processing, when we can
> reliably determine the evaluation of the @Deprecated annotation, and
> therefore which sort of warning to generate. This is complicated by the
> fact that the conditions for deprecated warnings and removal warnings
> are slightly different. I will file a JBS entry.
> -- Jon
> On 10/18/2016 06:58 AM, Jan Lahoda wrote:
>> Overall, seem OK to me. Two comments:
>> -is the change in make/CompileJavaModules.gmk really needed given the
>> adjusted JAVAC_WARNINGS in make/common/SetupJavaCompilers.gmk?
>> -the reliance on literal "true" in TypeEnter seems suspicious to me.
>> What if the value of the attribute is a compile-time constant? I
>> suspect this may be non-trivial to fix, so no strict need to fix that
>> under this patch, but I think we should have a good idea how we want
>> this fixed, and there should be a JBS entry filled for that.
>> On 18.10.2016 00:10, Jonathan Gibbons wrote:
>>> Repeat, with subject line.
>>> -- Jon
>>> On 10/17/2016 03:03 PM, Jonathan Gibbons wrote:
>>>> Compiler folk, build folk,
>>>> Please review this update for javac and some build files, for JEP 277.
>>>> The work supports the enhanced Deprecation attribute, and generates a
>>>> new warning when items are referenced that are declared with
>>>> @Deprecated(forRemoval=true), in line with the proposals in JEP 277.
>>>> The warnings are on by default, and can be suppressed with
>>>> -Xlint:-removal or @SuppressWarnings("removal"). Because the warnings
>>>> are on by default, and because the warnings currently show up when
>>>> building JDK, some minor build changes are temporarily required to
>>>> suppress the warnings that get generated during the build.
>>>> -- Jon
>>>> JEP: http://openjdk.java.net/jeps/277
>>>> JBS: https://bugs.openjdk.java.net/browse/JDK-8145471
>>>> Webrev: http://cr.openjdk.java.net/~jjg/8145471/webrev.01/
More information about the build-dev