java.lang.Error running build from ecj compiler
Deneau, Tom
tom.deneau at amd.com
Thu Mar 20 19:52:05 UTC 2014
Widening beyond just Doug and Gilles...
I was cleaning up warnings from a webrev using the following sequence:
(My webrev was based off of 5f5e2711dc24 although I'm not sure that matters)
mx clean
mx eclipseinit # has a side effect of preparing the annotation processor jars
mx build --vm server --vmbuild product --jdt /path/to/ecj-4.3.2.jar --jdt-warning-as-error
mx checkstyle
repeat build...
So eventually I got a build with no compiler errors or warnings.
Then I wanted to run our junit tests, I used the ecj produced bytecodes
and I got
java.lang.Error: Unresolved compilation problem:
The method getId() from the type Node is deprecated
at com.oracle.graal.phases.common.GuardLoweringPhase$LowerGuards.lowerToIf(GuardLoweringPhase.java:153)
at com.oracle.graal.phases.common.GuardLoweringPhase$LowerGuards.processNode(GuardLoweringPhase.java:144)
at com.oracle.graal.phases.graph.ScheduledNodeIterator.processNodes(ScheduledNodeIterator.java:63)
at com.oracle.graal.phases.common.GuardLoweringPhase.processBlock(GuardLoweringPhase.java:200)
at com.oracle.graal.phases.common.GuardLoweringPhase.run(GuardLoweringPhase.java:188)
at com.oracle.graal.phases.common.GuardLoweringPhase.run(GuardLoweringPhase.java:1)
I went back and did a javac build using
mx clean
mx build --vm server --vmbuild product
This javac build ran the junits fine.
I can see that Node.getId() was indeed marked @Deprecated, and that GuardLoweringPhase had a @SuppressWarnings("deprecation") before it's call to getId()
Is this just because --jdt-warning-as-error is fighting against @SuppressWarnings here or it this a problem in the ecj compiler?
-- Tom
More information about the graal-dev
mailing list