On 20/12/2007, Robert Schuster <[EMAIL PROTECTED]> wrote:
>
> Hi,
> when configuring classpath with --with-ecj=something there is still a
> test being run to check whether 'javac' exists and whether it is Java5
> compatible.
>
> I think the correct behavior would be:
>   a) test whether the supplied command (may ecj or whatever) is available
>   b) test whether this executable can compile Java5 code
>
> There should be no test for other compilers if I explicitly provide one.


Good point.  It is also confusing that ecj is still used even if a 'javac'
is found and is 1.5 compatible.  We should only do the former test if the
ecj one fails (to reflect how Makefile.am works) and test 1.5 compatibility
for both.

I've filed this as PR34578:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34578

Additionally the current test for Java5 compatibility is IMHO wrong. To
> compile Java5 code one needs a suitable compiler and class library. If a
> Java5-capable compiler is running on a pre-Java5 class library (e.g. ecj
> on gcj 4.2.1) the current test fails.
>
> A better test would IMHO be to compile the following source:
>
> package java.lang;
>
> public class Object
> {
>   static <T> void foo()
>   {
>   }
> }
>
> with
>
> <javac-to-be-tested> -source 1.5 -bootclasspath . -d .
> java/lang/Object.java
>
> and check the results.



I agree; the current one depends on java.util.List being generic where it
shouldn't, although I think a  clearer test would be a simple enumeration
which would achieve the same goal.

Filed as PR34579: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34579

File some bugs?



Yes; done :)

Regards
> Robert
>
>
>
Thanks for reporting this,
-- 
Andrew :-)

Help end the Java Trap!
Contribute to GNU Classpath and the OpenJDK
http://www.gnu.org/software/classpath
http://openjdk.java.net
  • test for javac Robert Schuster
    • Re: test for javac Andrew John Hughes

Reply via email to