java/2299: Problem with String Arrays and +=

Martin Kahlert martin.kahlert@infineon.com
Fri Mar 16 02:18:00 GMT 2001


>Number:         2299
>Category:       java
>Synopsis:       Use of += for String arrays produces Segfault during compilation
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    unassigned
>State:          open
>Class:          ice-on-legal-code
>Submitter-Id:   net
>Arrival-Date:   Fri Mar 16 02:16:01 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     Martin Kahlert
>Release:        3.0 20010312 (prerelease)
>Organization:
Infineon AG
>Environment:
System: Linux keksy 2.2.18 #5 SMP Wed Jan 24 09:24:42 CET 2001 i686 unknown
Architecture: i686

	
host: i686-pc-linux-gnu
build: i686-pc-linux-gnu
target: i686-pc-linux-gnu
configured with: ../configure --prefix=/sw/gcc-3 --enable-languages=c++,f77,java --enable-threads=posix
>Description:
	The += operator for string arrays does not work. 
        It works for strings.
        s[0] = s[0] + string works, too, though this should be equivalent to s[0] += string

        This error report is meant to replace the report
        java/2008: ICE in gcj (no optimization), 
        because it is a much simpler testcase.
        Sorry, i don't know how to do that myself.
>How-To-Repeat:
cat buggy.java
public class buggy
{
 public static void main(String[] args)
    {
     String s[] = new String[1];

     s[0] =  "";
     s[0] += "";
    }
}
gcj -c buggy.java
buggy.java: In class `buggy':
buggy.java: In method `buggy.main(java.lang.String[])':
buggy.java:8: Internal error: Segmentation fault
Please submit a full bug report, with preprocessed source if appropriate.
See <URL: http://www.gnu.org/software/gcc/bugs.html > for instructions.

>Fix:
	Workaround: Use s[0] = s[0] + "" instead of s[0] += ""
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the Gcc-bugs mailing list