[multiple changes]
authorAlexandre Petit-Bianco <apbianco@gcc.gnu.org>
Thu, 19 Nov 1998 12:13:39 +0000 (04:13 -0800)
committerAlexandre Petit-Bianco <apbianco@gcc.gnu.org>
Thu, 19 Nov 1998 12:13:39 +0000 (04:13 -0800)
Thu Nov 19 11:16:55 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
* jcf-parse.c (jcf_parse_source): Function returned type is
  void. Added prototype.
(jcf_parse): Function returned type is void.
(yyparse): Remove call to fclose on the last parsed file.
* java-tree.h (jcf_parse): Changed jcf_parse prototype.
Wed Nov 18 14:21:48 1998  Anthony Green  <green@cygnus.com>
* jcf-parse.c (yyparse): Open class file in binary mode.
Fixes a show-stopper and includes a missing patch.

From-SVN: r23715

gcc/java/ChangeLog
gcc/java/java-tree.h
gcc/java/jcf-parse.c

index 6c8456c..4a9a7e0 100644 (file)
@@ -1,3 +1,12 @@
+Thu Nov 19 11:16:55 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * jcf-parse.c (jcf_parse_source): Function returned type is
+       void. Added prototype.
+       (jcf_parse): Function returned type is void.
+       (yyparse): Remove call to fclose on the last parsed file.
+
+       * java-tree.h (jcf_parse): Changed jcf_parse prototype.
+
 Wed Nov 18 23:54:53 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
        * class.c (unmangle_classname): Set QUALIFIED_P when appropriate.
@@ -115,6 +124,10 @@ Wed Nov 18 23:54:53 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        (purge_unchecked_exceptions): Use IS_UNCHECKED_EXCEPTION_P instead
        of IS_UNCHECKED_EXPRESSION_P.
        
+Wed Nov 18 14:21:48 1998  Anthony Green  <green@cygnus.com>
+
+       * jcf-parse.c (yyparse): Open class file in binary mode.
+
 Sun Nov 15 17:14:17 1998  Per Bothner  <bothner@cygnus.com>
 
        * jvgenmain.c:  Need to #include "gansidecl.h" (to get PROTO).
index 72bc026..4554638 100644 (file)
@@ -473,7 +473,7 @@ extern tree get_constant PROTO ((struct JCF*, int));
 extern tree get_name_constant PROTO ((struct JCF*, int));
 extern tree get_class_constant PROTO ((struct JCF*, int));
 extern tree parse_signature PROTO ((struct JCF *jcf, int sig_index));
-extern int jcf_parse PROTO ((struct JCF*));
+extern void jcf_parse PROTO ((struct JCF*));
 extern tree add_field PROTO ((tree, tree, tree, int));
 extern tree add_method PROTO ((tree, int, tree, tree));
 extern tree add_method_1 PROTO ((tree, int, tree, tree));
index 8b7e29c..8a01b2c 100644 (file)
@@ -72,6 +72,7 @@ static tree give_name_to_class PROTO ((JCF *jcf, int index));
 void parse_zip_file_entries PROTO (());
 void process_zip_dir PROTO (());
 static void parse_source_file PROTO ((tree));
+static void jcf_parse_source PROTO ((JCF *));
 
 /* Handle "SourceFile" attribute. */
 
@@ -513,7 +514,7 @@ load_class (class_or_name, verbose)
 
 /* Parse a source file when JCF refers to a source file.  */
 
-int
+void
 jcf_parse_source (jcf)
      JCF *jcf;
 {
@@ -536,7 +537,7 @@ jcf_parse_source (jcf)
 
 /* Parse the .class file JCF. */
 
-int
+void
 jcf_parse (jcf)
      JCF* jcf;
 {
@@ -752,7 +753,7 @@ yyparse ()
       
       /* Set jcf up and open a new file */
       JCF_ZERO (main_jcf);
-      main_jcf->read_state = fopen (IDENTIFIER_POINTER (name), "r");
+      main_jcf->read_state = fopen (IDENTIFIER_POINTER (name), "rb");
       if (main_jcf->read_state == NULL)
        pfatal_with_name (IDENTIFIER_POINTER (name));
       
@@ -784,10 +785,6 @@ yyparse ()
        }
     }
 
-  if (main_jcf->read_state && fclose (main_jcf->read_state))
-    fatal ("failed to close input file `%s' - yyparse",
-          (main_jcf->filename ? main_jcf->filename : "<unknown>"));
-
   java_expand_classes ();
   if (!java_report_errors () && !flag_emit_class_files)
     emit_register_classes ();