gcj overoptimizes "final" declarations
Roland Illig
news@rolands.linux-site.net
Sun Sep 15 18:20:00 GMT 2002
$ cat Fib.java
public class Fib
{
static private final int fib(int n)
{
if (n < 2)
return n;
return fib(n-1) + fib(n-2);
}
public static void main(String[] args)
{
System.out.println(fib(Integer.parseInt(args[0])));
}
}
$ gcj -O2 -Wall -W --main=Fib -o Fib.gcc Fib.java
$ gcj -O3 -Wall -W --main=Fib -o Fib.gcc Fib.java
/tmp/ccaFOF35.o: In function `Fib::main(JArray<java::lang::String *> *)':
/tmp/ccaFOF35.o(.text+0x5b): undefined reference to `Fib::fib(int)'
collect2: ld returned 1 exit status
More information about the Gcc-bugs
mailing list