diff options
author | Ranjit Mathew <rmathew@hotmail.com> | 2005-02-02 18:41:25 +0000 |
---|---|---|
committer | Ranjit Mathew <rmathew@gcc.gnu.org> | 2005-02-02 18:41:25 +0000 |
commit | 55967ba27baba17402c3dcebddd041b38627804c (patch) | |
tree | caae1b5ae397fc4f102588dae2c3d31a23ad6361 /gcc/java | |
parent | e64e51097f2a18ec35a728178a0d2e20ed262215 (diff) | |
download | gcc-55967ba27baba17402c3dcebddd041b38627804c.zip gcc-55967ba27baba17402c3dcebddd041b38627804c.tar.gz gcc-55967ba27baba17402c3dcebddd041b38627804c.tar.bz2 |
re PR java/15543 ("jv-scan --complexity" segfaults)
PR java/15543
* parse-scan.y (formal_parameter): Use $2 (type) instead of $$
(modifiers) when square brackets are present in a declaration for
a final paramter.
* jv-scan.c (main): Set input_filename and input_line.
From-SVN: r94598
Diffstat (limited to 'gcc/java')
-rw-r--r-- | gcc/java/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/java/jv-scan.c | 2 | ||||
-rw-r--r-- | gcc/java/parse-scan.y | 4 |
3 files changed, 13 insertions, 3 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index aad92c7..d871246 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,11 @@ +2005-02-02 Ranjit Mathew <rmathew@hotmail.com> + + PR java/15543 + * parse-scan.y (formal_parameter): Use $2 (type) instead of $$ + (modifiers) when square brackets are present in a declaration for + a final paramter. + * jv-scan.c (main): Set input_filename and input_line. + 2005-02-01 Tom Tromey <tromey@redhat.com> PR java/19742: @@ -8,7 +16,7 @@ * jcf-write.c (generate_bytecode_insns): Implement RSHIFT_EXPR of unsigned types using iushr and lushr JVM bytecodes. -2005-02-02 Ranjit Mathew <rmathew@hotmail.com> +2005-02-01 Ranjit Mathew <rmathew@hotmail.com> PR java/19738 * gjavah.c (jni_print_float): Do not emit floating-point diff --git a/gcc/java/jv-scan.c b/gcc/java/jv-scan.c index 3c55d59..5f90ee9 100644 --- a/gcc/java/jv-scan.c +++ b/gcc/java/jv-scan.c @@ -237,6 +237,8 @@ main (int argc, char **argv) if (encoding == NULL || *encoding == '\0') encoding = DEFAULT_ENCODING; + input_filename = filename; + input_line = 0; java_init_lex (finput, encoding); ctxp->filename = filename; yyparse (); diff --git a/gcc/java/parse-scan.y b/gcc/java/parse-scan.y index f3f5faa..189ee72 100644 --- a/gcc/java/parse-scan.y +++ b/gcc/java/parse-scan.y @@ -515,10 +515,10 @@ formal_parameter: if (bracket_count) { int i; - char *n = xmalloc (bracket_count + 1 + strlen ($$)); + char *n = xmalloc (bracket_count + 1 + strlen ($2)); for (i = 0; i < bracket_count; ++i) n[i] = '['; - strcpy (n + bracket_count, $$); + strcpy (n + bracket_count, $2); $$ = n; } else |