Suggested backports of JDK 7 langtools fixes to OpenJDK 6
Andrew John Hughes
gnu_andrew at member.fsf.org
Wed Mar 3 08:29:10 PST 2010
On 3 March 2010 00:26, Joseph D. Darcy <Joe.Darcy at sun.com> wrote:
> Andrew John Hughes wrote:
>>
>> 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?
>>
>>
>
> Yes, approved to push assuming the tests pass running under "jtreg -es -esa
> ..."
>
> Thanks,
>
> -Joe
>
We don't seem to have such options:
/mnt/builder/icedtea6-hg/bootstrap/jdk1.6.0/bin/java -jar
test/jtreg.jar -v1 -a -ignore:quiet \
-w:test/langtools/JTwork -r:test/langtools/JTreport \
-s -jdk:`pwd`/openjdk/build/linux-amd64/j2sdk-image \
-es -esa \
`pwd`/openjdk/langtools/test \
| tee test/check-langtools.log
Error: Invalid option: -es
--
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