aboutsummaryrefslogtreecommitdiff
path: root/gcc/java
diff options
context:
space:
mode:
authorRanjit Mathew <rmathew@hotmail.com>2005-02-02 18:41:25 +0000
committerRanjit Mathew <rmathew@gcc.gnu.org>2005-02-02 18:41:25 +0000
commit55967ba27baba17402c3dcebddd041b38627804c (patch)
treecaae1b5ae397fc4f102588dae2c3d31a23ad6361 /gcc/java
parente64e51097f2a18ec35a728178a0d2e20ed262215 (diff)
downloadgcc-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/ChangeLog10
-rw-r--r--gcc/java/jv-scan.c2
-rw-r--r--gcc/java/parse-scan.y4
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