libgcj/7292: java.lang.Character.toString(char) should be static
jmr@fulcrummicro.com
jmr@fulcrummicro.com
Fri Jul 12 13:36:00 GMT 2002
>Number: 7292
>Category: libgcj
>Synopsis: java.lang.Character.toString(char) should be static
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Jul 12 13:36:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator: Jesse Rosenstock
>Release: 3.2 20020710 (experimental)
>Organization:
>Environment:
System: Linux churchill 2.4.3-12 #1 Fri Jun 8 15:05:56 EDT 2001 i686 unknown
Architecture: i686
host: i686-pc-linux-gnu
build: i686-pc-linux-gnu
target: i686-pc-linux-gnu
configured with: ./configure --prefix=/home/user/jmr/app/gcc
>Description:
java.lang.Character.toString(char) should be static, but it isn't.
>How-To-Repeat:
Create C.java:
public class C {
void f() {
Character.toString('x');
}
}
gcj -v C.java gives:
Reading specs from /home/user/jmr/app/gcc/lib/gcc-lib/i686-pc-linux-gnu/3.2/specs
Reading specs from /home/user/jmr/app/gcc/lib/gcc-lib/i686-pc-linux-gnu/3.2/../../../libgcj.spec
rename spec lib to liborig
Configured with: ./configure --prefix=/home/user/jmr/app/gcc
Thread model: single
gcc version 3.2 20020710 (experimental)
/home/user/jmr/app/gcc/lib/gcc-lib/i686-pc-linux-gnu/3.2/jc1 C.java -fno-use-divide-subroutine -fuse-boehm-gc -fnon-call-exceptions -fkeep-inline-functions -quiet -dumpbase C.java -g1 -version -o /tmp/ccR1HymH.s
GNU Java version 3.2 20020710 (experimental) (i686-pc-linux-gnu)
compiled by GNU C version 2.96 20000731 (Red Hat Linux 7.1 2.96-85).
Class path starts here:
/home/user/jmr/gcj_test/char/
/home/user/jmr/app/gcc/share/java/libgcj-3.2.jar/ (system) (zip)
C.java: In class `C':
C.java: In method `C.f()':
C.java:3: error: Can't make static reference to method `java.lang.String java.lang.Character.toString(char)' in class `java.lang.Character'.
Character.toString('x');
^
1 error
This works with javac, and according to the sun javadoc, that
method should be static.
Workaround is to use String.valueOf(char) instead.
>Fix:
*** Character.java.orig Fri Jul 12 13:20:44 2002
--- Character.java Fri Jul 12 13:20:58 2002
***************
*** 1488,1494 ****
* @return a String containing the character
* @since 1.4
*/
! public String toString(char ch)
{
// This assumes that String.valueOf(char) can create a single-character
// String more efficiently than through the public API.
--- 1488,1494 ----
* @return a String containing the character
* @since 1.4
*/
! public static String toString(char ch)
{
// This assumes that String.valueOf(char) can create a single-character
// String more efficiently than through the public API.
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the Gcc-prs
mailing list