Suggested backports of JDK 7 langtools fixes to OpenJDK 6
Andrew John Hughes
gnu_andrew at member.fsf.org
Tue Mar 2 13:03:09 PST 2010
On 2 March 2010 19:54, Joseph D. Darcy <Joe.Darcy at sun.com> wrote:
> Andrew John Hughes wrote:
>>
>> On 2 March 2010 04:06, Joe Darcy <Joe.Darcy at sun.com> wrote:
>>
>>>
>>> Hello.
>>>
>>> In addition to the JDK 7 fix for
>>>
>>> 6511613: javac unexpectedly doesn't fail in some cases if an annotation
>>> processor specified
>>>
>>> which Jon has already backported to OpenJDK 6, in my estimation some
>>> other
>>> recent fixes to langtools in JDK 7 would be fine backports to OpenJDK 6
>>> too:
>>>
>>> 6927797: langtools/test/tools/javac/EarlyAssert.java fails when run with
>>> assertions enabled (-ea)
>>> 6926703: apt tests should run with assertions enabled
>>>
>>> I would gladly let someone else have the honor of doing the backport;
>>> otherwise, I'll prepare the backports myself as time permits.
>>>
>>> -Joe
>>>
>>>
>>
>> I don't know if it's an honour or not, but I've backported and pushed
>> both fixes. All langtools tests passed with the new changesets.
>>
>
> Thanks. There is a small merge issue. I should have mentioned, the goal
> was that after these two changesets were included, the langtools regression
> tests would all pass when run with assertions (-ea) and system assertions
> (-esa) enabled, which is now true of JDK 7 langtools.
>
> The difference between the EarlyAssert tests in OpenJDK 6 and JDK 7 reveals
> the issue:
>
> 31,32c31
> < * @compile -source 1.4 EarlyAssert.java
> < * @run main EarlyAssert
> ---
>> * @run main EarlyAssertWrapper
>
> The new EarlyAssertWrapper was added to call EarlyAssert with assertions
> explicitly disabled. The OpenJDK 6 and JDK 7 versions of the files differed
> before this changeset because the changeset for 6843761: "Update langtools
> tests to remove unncessary -source and -target options" was applied in JDK
> 7.
>
> If the patch for 6843761 applies cleanly other than to EarlyAssert.java,
> that is one way to address the issue under an existing bug id. Otherwise,
> just EarlyAssert.java can be updated.
>
That's nearly the case:
$ hg export -R ../../jdk7/langtools 288|hg import -
applying patch from stdin
patching file test/tools/javac/EarlyAssert.java
Hunk #1 FAILED at 26
1 out of 1 hunks FAILED -- saving rejects to file
test/tools/javac/EarlyAssert.java.rej
patching file test/tools/javac/generics/InheritanceConflict.java
Hunk #1 succeeded at 29 with fuzz 2 (offset 0 lines).
patching file test/tools/javac/generics/InheritanceConflict2.java
Hunk #1 succeeded at 29 with fuzz 2 (offset 0 lines).
abort: patch failed to apply
The fuzziness on InheritanceConflict occurs because of:
changeset: 23:d032d5090fd5
user: mcimadamore
date: Wed Apr 09 13:41:45 2008 +0100
summary: 5009937: hiding versus generics versus binary compatibility
The bug itself seems to be hidden :-(
Even with the fuzziness, the desire effect of removing -1.5 is
achieved on both files.
With the merged EarlyAssert.java as above, here is the webrev:
http://cr.openjdk.java.net/~andrew/6843761/webrev.01/
Ok to push?
> -Joe
>
>
--
Andrew :-)
Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)
Support Free Java!
Contribute to GNU Classpath and the OpenJDK
http://www.gnu.org/software/classpath
http://openjdk.java.net
PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8
More information about the jdk6-dev
mailing list