re PR java/15543 ("jv-scan --complexity" segfaults)
authorRanjit Mathew <rmathew@hotmail.com>
Wed, 2 Feb 2005 18:41:25 +0000 (18:41 +0000)
committerRanjit Mathew <rmathew@gcc.gnu.org>
Wed, 2 Feb 2005 18:41:25 +0000 (18:41 +0000)
        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

gcc/java/ChangeLog
gcc/java/jv-scan.c
gcc/java/parse-scan.y

index aad92c7f08d633f6d69f08d563fd100b25840492..d8712467451706d2dd001c2bdf794650aa6b9b11 100644 (file)
@@ -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
index 3c55d5961563b2f81ccca353631a94bee3c11b82..5f90ee93392d00c531de5ca8cc51a598f7ca14b2 100644 (file)
@@ -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 ();
index f3f5faae4572025a05a2a4e60840d63520a64275..189ee728e124fdf176e67eba66b820ade010f854 100644 (file)
@@ -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