]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Warning fixes:
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>
Sat, 23 Jan 1999 20:47:03 +0000 (20:47 +0000)
committerKaveh Ghazi <ghazi@gcc.gnu.org>
Sat, 23 Jan 1999 20:47:03 +0000 (20:47 +0000)
        * Makefile.in (parse.o): Depend on $(CONFIG_H) and
        $(srcdir)/../system.h.
        (class.o): Depend on $(PARSE_H) and $(srcdir)/../output.h.
        (jcf-parse.o): Depend on $(srcdir)/../toplev.h.
        (jcf-write.o): Likewise.
        (jv-scan.o): Depend on $(CONFIG_H) and $(srcdir)/../system.h.
        (mangle.o): Depend on $(srcdir)/../toplev.h.
        (parse-scan.o): Depend on $(CONFIG_H) and $(srcdir)/../system.h.
        (zextract.o): Depend on $(CONFIG_H) and $(srcdir)/../system.h.
        * class.c: Include output.h and parse.h.
        (mangled_classname): Add the `const' keyword to a char*.
        (find_named_method): Hide unused function definition.
        (build_utf8_ref): Change type of variable `c' to unsigned char.
        Use ISALPHA/ISDIGIT instead of isalpha/isdigit.
        (build_class_ref): Add the `const' keyword to a char*.
        (layout_class_method): Remove unused variable `buf'.
        * decl.c (find_local_variable): Remove unused variable `rtl'.
        (pushdecl): Likewise for variables `different_binding_level' and
        `oldglobal'.
        (pushlevel): Mark parameter `unused' with ATTRIBUTE_UNUSED.
        (maybe_build_cleanup): Likewise for parameter `decl'.
        * except.c (expand_start_java_handler): Mark parameter `range'
        with ATTRIBUTE_UNUSED.
        * expr.c: Include except.h.
        (pop_type): Remove unused variable `i'.
        (pop_value): Likewise for variables `n_words' and `i'.
        (expand_java_arrayload): Likewise for variable `convert'.
        (java_lang_expand_expr): Likewise for variables `op0', `type',
        `mode', `unsignedp', `node' and `elements'.
        (expand_byte_code): Likewise for variables `prev_eh_ranges' and
        `eh_ranges'.
        (process_jvm_instruction): Add a `const' qualifier to a char*.
        * gjavah.c (output_directory): Add the `const' keyword to a char*.
        (temp_directory): Likewise.
        (print_c_decl): Likewise.
        (print_method_info): Likewise.
        (decode_signature_piece): Likewise.
        (print_mangled_classname): Likewise.
        * java-except.h: Provide prototypes for maybe_start_try,
        maybe_end_try and add_handler.
        * java-tree.h (mangled_classname): Add the `const' keyword to a char*.
        (parse_error_context): Likewise.  Also add ATTRIBUTE_PRINTF_2.
        (pushdecl_top_level, alloc_class_constant, unicode_mangling_length,
        init_expr_processing, push_super_field, init_class_processing,
        can_widen_reference_to, class_depth, verify_jvm_instructions,
        maybe_pushlevels, maybe_poplevels, process_jvm_instruction,
        set_local_type, merge_type_state, push_type, load_type_state,
        add_interface, find_in_current_zip, append_gpp_mangled_classtype,
        emit_unicode_mangled_name): Add prototypes.
        * jcf-dump.c (print_constant): Add the `const' keyword to a char*.
        (print_signature_type): Use ISDIGIT, not isdigit.
        (print_signature): Remove unused variable `j'.
        * jcf-io.c (jcf_filbuf_from_stdio): Cast the result of `fread' to
        int when comparing against one.
        * jcf-parse.c: Include toplev.h.
        * jcf-write.c: Likewise.  Don't include <string.h> or <sys/stat.h>.
        (localvar_free): Remove unused variable `i'.
        (generate_bytecode_conditional): Likewise for variable `kind'.
        * jv-scan.c: Include config.h and system.h.  Remove redundant
        OS header and gansidecl.h includes.
        (warning): Add the `const' keyword to a char*.  Also add
        ATTRIBUTE_PRINTF_1 to the prototype.  Check ANSI_PROTOTYPES, not
        __STDC__, when determining whether to use ANSI-isms.
        (fatal): Likewise.  Also add ATTRIBUTE_UNUSED.
        (xmalloc): Don't redundantly prototype here.
        (main): Remove unused parameter `envp'.  Also fix the arguments
        passed to function `fatal' to match the format specifier.
        * lang.c (java_tree_code_name): Add the `const' keyword to a char*.
        * mangle.c: Include toplev.h.
        (emit_unicode_mangled_name): Declare parameter `len'.
        * parse.y (parse_warning_context): Add the `const' keyword to a
        char*.  Also add ATTRIBUTE_PRINTF_2 to the prototype.  Check
        `ANSI_PROTOTYPES' not `__STDC__' for whether to use ANSI-isms.
        (issue_warning_error_from_context): Add the `const' keyword to
        a char*.
        (parse_error_context): Likewise.  Also check `ANSI_PROTOTYPES'
        not `__STDC__' for whether to use ANSI-isms.
        * typeck.c (incomplete_type_error): Mark parameters `value' and
        `type' with ATTRIBUTE_UNUSED.
        (parse_signature_type): Use ISDIGIT, not isdigit.
        * verify.c (check_pending_block): Add the `const' keyword to a char*.
        (verify_jvm_instructions): Likewise.  Remove unused variables
        `field_name' and `default_val'.
        * zextract.c: Include config.h and system.h.  Remove redundant
        OS header includes.
        * zipfile.h: Prototype `read_zip_archive'.

From-SVN: r24835

22 files changed:
gcc/java/ChangeLog
gcc/java/Makefile.in
gcc/java/class.c
gcc/java/decl.c
gcc/java/except.c
gcc/java/expr.c
gcc/java/gjavah.c
gcc/java/java-except.h
gcc/java/java-tree.h
gcc/java/jcf-dump.c
gcc/java/jcf-io.c
gcc/java/jcf-parse.c
gcc/java/jcf-write.c
gcc/java/jv-scan.c
gcc/java/lang.c
gcc/java/mangle.c
gcc/java/parse.c
gcc/java/parse.y
gcc/java/typeck.c
gcc/java/verify.c
gcc/java/zextract.c
gcc/java/zipfile.h

index 9c4a281874ac9afd688054e12621b7cfa6a53164..9b67b0ab46e4e21c18a00596071f704ce592e34f 100644 (file)
@@ -1,3 +1,111 @@
+Sat Jan 23 23:02:43 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * Makefile.in (parse.o): Depend on $(CONFIG_H) and
+       $(srcdir)/../system.h.
+       (class.o): Depend on $(PARSE_H) and $(srcdir)/../output.h.
+       (jcf-parse.o): Depend on $(srcdir)/../toplev.h.
+       (jcf-write.o): Likewise.
+       (jv-scan.o): Depend on $(CONFIG_H) and $(srcdir)/../system.h.
+       (mangle.o): Depend on $(srcdir)/../toplev.h.
+       (parse-scan.o): Depend on $(CONFIG_H) and $(srcdir)/../system.h.
+       (zextract.o): Depend on $(CONFIG_H) and $(srcdir)/../system.h.
+
+       * class.c: Include output.h and parse.h.
+       (mangled_classname): Add the `const' keyword to a char*.
+       (find_named_method): Hide unused function definition.
+       (build_utf8_ref): Change type of variable `c' to unsigned char.
+       Use ISALPHA/ISDIGIT instead of isalpha/isdigit.
+       (build_class_ref): Add the `const' keyword to a char*.
+       (layout_class_method): Remove unused variable `buf'.
+
+       * decl.c (find_local_variable): Remove unused variable `rtl'.
+       (pushdecl): Likewise for variables `different_binding_level' and
+       `oldglobal'.
+       (pushlevel): Mark parameter `unused' with ATTRIBUTE_UNUSED.
+       (maybe_build_cleanup): Likewise for parameter `decl'.
+
+       * except.c (expand_start_java_handler): Mark parameter `range'
+       with ATTRIBUTE_UNUSED.
+
+       * expr.c: Include except.h.
+       (pop_type): Remove unused variable `i'.
+       (pop_value): Likewise for variables `n_words' and `i'.
+       (expand_java_arrayload): Likewise for variable `convert'.
+       (java_lang_expand_expr): Likewise for variables `op0', `type',
+       `mode', `unsignedp', `node' and `elements'.
+       (expand_byte_code): Likewise for variables `prev_eh_ranges' and
+       `eh_ranges'.
+       (process_jvm_instruction): Add a `const' qualifier to a char*.
+
+       * gjavah.c (output_directory): Add the `const' keyword to a char*.
+       (temp_directory): Likewise.
+       (print_c_decl): Likewise.
+       (print_method_info): Likewise.
+       (decode_signature_piece): Likewise.
+       (print_mangled_classname): Likewise.
+
+       * java-except.h: Provide prototypes for maybe_start_try,
+       maybe_end_try and add_handler.
+
+       * java-tree.h (mangled_classname): Add the `const' keyword to a char*.
+       (parse_error_context): Likewise.  Also add ATTRIBUTE_PRINTF_2.
+       (pushdecl_top_level, alloc_class_constant, unicode_mangling_length,
+       init_expr_processing, push_super_field, init_class_processing,
+       can_widen_reference_to, class_depth, verify_jvm_instructions,
+       maybe_pushlevels, maybe_poplevels, process_jvm_instruction,
+       set_local_type, merge_type_state, push_type, load_type_state,
+       add_interface, find_in_current_zip, append_gpp_mangled_classtype,
+       emit_unicode_mangled_name): Add prototypes.
+
+       * jcf-dump.c (print_constant): Add the `const' keyword to a char*.
+       (print_signature_type): Use ISDIGIT, not isdigit.
+       (print_signature): Remove unused variable `j'.
+
+       * jcf-io.c (jcf_filbuf_from_stdio): Cast the result of `fread' to
+       int when comparing against one.
+
+       * jcf-parse.c: Include toplev.h.
+
+       * jcf-write.c: Likewise.  Don't include <string.h> or <sys/stat.h>.
+       (localvar_free): Remove unused variable `i'.
+       (generate_bytecode_conditional): Likewise for variable `kind'.
+
+       * jv-scan.c: Include config.h and system.h.  Remove redundant
+       OS header and gansidecl.h includes.
+       (warning): Add the `const' keyword to a char*.  Also add
+       ATTRIBUTE_PRINTF_1 to the prototype.  Check ANSI_PROTOTYPES, not
+       __STDC__, when determining whether to use ANSI-isms.
+       (fatal): Likewise.  Also add ATTRIBUTE_UNUSED.
+       (xmalloc): Don't redundantly prototype here.
+       (main): Remove unused parameter `envp'.  Also fix the arguments
+       passed to function `fatal' to match the format specifier.
+
+       * lang.c (java_tree_code_name): Add the `const' keyword to a char*.
+
+       * mangle.c: Include toplev.h.
+       (emit_unicode_mangled_name): Declare parameter `len'.
+
+       * parse.y (parse_warning_context): Add the `const' keyword to a
+       char*.  Also add ATTRIBUTE_PRINTF_2 to the prototype.  Check
+       `ANSI_PROTOTYPES' not `__STDC__' for whether to use ANSI-isms.
+       (issue_warning_error_from_context): Add the `const' keyword to
+       a char*.
+       (parse_error_context): Likewise.  Also check `ANSI_PROTOTYPES'
+       not `__STDC__' for whether to use ANSI-isms.
+
+       * typeck.c (incomplete_type_error): Mark parameters `value' and
+       `type' with ATTRIBUTE_UNUSED.
+       (parse_signature_type): Use ISDIGIT, not isdigit.
+
+       * verify.c (check_pending_block): Add the `const' keyword to a char*.
+       (verify_jvm_instructions): Likewise.  Remove unused variables
+       `field_name' and `default_val'.
+       
+       * zextract.c: Include config.h and system.h.  Remove redundant
+       OS header includes.
+       
+       * zipfile.h: Prototype `read_zip_archive'.
+
 Thu Jan 21 16:00:06 1999  Andrew Haley  <aph@cygnus.com>
 
        * typeck.c (convert): Allow conversions to void type: some
index 73359a9348c056cea39b6e616dbeb9fedb5f940d..adf3ce71002bdab495d7c4fe4f433648f385442c 100644 (file)
@@ -273,13 +273,14 @@ clean:  mostlyclean
 
 force:
 
-parse.o: $(PARSE_C) jcf-reader.c
+parse.o: $(PARSE_C) jcf-reader.c $(CONFIG_H) $(srcdir)/../system.h
 jcf-dump.o: jcf-reader.c jcf.h javaop.h javaop.def
 gjavah.o: jcf-reader.c jcf.h javaop.h
 buffer.o : buffer.c $(CONFIG_H) buffer.h $(srcdir)/../gansidecl.h \
   $(srcdir)/../system.h $(srcdir)/../toplev.h
-class.o : class.c $(CONFIG_H) $(JAVA_TREE_H) $(RTL_H) jcf.h \
-  $(srcdir)/../gansidecl.h $(srcdir)/../toplev.h $(srcdir)/../system.h
+class.o : class.c $(CONFIG_H) $(JAVA_TREE_H) $(RTL_H) jcf.h $(PARSE_H) \
+  $(srcdir)/../gansidecl.h $(srcdir)/../toplev.h $(srcdir)/../system.h \
+  $(srcdir)/../output.h
 constants.o : constants.c $(CONFIG_H) $(JAVA_TREE_H) jcf.h \
   $(srcdir)/../toplev.h $(srcdir)/../system.h
 decl.o : decl.c $(CONFIG_H) $(JAVA_TREE_H) jcf.h \
@@ -294,16 +295,20 @@ expr.o : expr.c $(CONFIG_H) $(JAVA_TREE_H) jcf.h $(srcdir)/../real.h \
 jcf-depend.o: jcf-depend.c $(CONFIG_H) $(srcdir)/../system.h jcf.h
 jcf-io.o: jcf-io.c $(CONFIG_H) $(srcdir)/../system.h
 jcf-parse.o : jcf-parse.c $(CONFIG_H) $(JAVA_TREE_H) $(srcdir)/../flags.h \
-  $(srcdir)/../input.h java-except.h $(srcdir)/../system.h
+  $(srcdir)/../input.h java-except.h $(srcdir)/../system.h \
+  $(srcdir)/../toplev.h
 jcf-write.o : jcf-write.c $(CONFIG_H) $(JAVA_TREE_H) jcf.h $(RTL_H) \
-  java-opcodes.h parse.h buffer.h $(srcdir)/../system.h
+  java-opcodes.h parse.h buffer.h $(srcdir)/../system.h $(srcdir)/../toplev.h
+jv-scan.o : $(CONFIG_H) $(srcdir)/../system.h
 jvgenmain.o : jvgenmain.c $(CONFIG_H) $(srcdir)/../system.h
 lang.o : lang.c $(CONFIG_H) $(JAVA_TREE_H) jcf.h $(srcdir)/../input.h \
   $(srcdir)/../toplev.h $(srcdir)/../system.h
-mangle.o : mangle.c $(CONFIG_H) jcf.h $(srcdir)/../system.h
+mangle.o : mangle.c $(CONFIG_H) jcf.h $(srcdir)/../system.h \
+  $(srcdir)/../toplev.h
+parse-scan.o : $(CONFIG_H) $(srcdir)/../system.h
 typeck.o : typeck.c $(CONFIG_H) $(JAVA_TREE_H) jcf.h convert.h \
   $(srcdir)/../toplev.h $(srcdir)/../system.h
 verify.o : verify.c $(CONFIG_H) $(JAVA_TREE_H) jcf.h javaop.h java-opcodes.h \
   java-except.h $(srcdir)/../toplev.h $(srcdir)/../system.h
-zextract.o: zextract.c zipfile.h
+zextract.o: zextract.c $(CONFIG_H) $(srcdir)/../system.h zipfile.h
 
index 66beab85d13bcf54769f741e27d59399b2e2b90c..2ee7726c475e5dca41ad9e633b1c983e877b4e15 100644 (file)
@@ -33,6 +33,8 @@ The Free Software Foundation is independent of Sun Microsystems, Inc.  */
 #include "jcf.h"
 #include "obstack.h"
 #include "toplev.h"
+#include "output.h"
+#include "parse.h"
 
 static tree mangle_class_field PROTO ((tree class));
 
@@ -95,8 +97,8 @@ identifier_subst (old_id, prefix, old_char, new_char, suffix)
 
 tree
 mangled_classname (prefix, type)
-     char *prefix;
-     tree type;
+  const char *prefix;
+  tree type;
 {
   tree ident = TYPE_NAME (type);
   if (TREE_CODE (ident) != IDENTIFIER_NODE)
@@ -354,6 +356,7 @@ add_interface (this_class, interface_class)
   add_interface_do (basetype_vec, interface_class, i);
 }
 
+#if 0
 /* Return the address of a pointer to the first FUNCTION_DECL
    in the list (*LIST) whose DECL_NAME is NAME. */
 
@@ -366,6 +369,7 @@ find_named_method (list, name)
     list = &TREE_CHAIN (*list);
   return list;
 }
+#endif
 
 tree
 build_java_method_type (fntype, this_class, access_flags)
@@ -566,10 +570,10 @@ build_utf8_ref (name)
   buf_ptr = &buf[strlen (buf)];
   while (--name_len >= 0)
     {
-      char c = *name_ptr++;
+      unsigned char c = *name_ptr++;
       if (c & 0x80)
        continue;
-      if (!isalpha(c) && !isdigit(c))
+      if (!ISALPHA(c) && !ISDIGIT(c))
        c = '_';
       *buf_ptr++ = c;
       if (buf_ptr >= buf + 50)
@@ -639,7 +643,7 @@ build_class_ref (type)
          char buffer[25];
          if (flag_emit_class_files)
            {
-             char *prim_class_name;
+             const char *prim_class_name;
              tree prim_class;
              if (type == char_type_node)
                prim_class_name = "java.lang.Character";
@@ -1499,7 +1503,6 @@ layout_class_method (this_class, super_class, method_decl, dtable_count)
      tree this_class, super_class, method_decl, dtable_count;
 {
   char *ptr;
-  char buf[8];
   char *asm_name;
   tree arg, arglist, t;
   int method_name_needs_escapes = 0;
index 5f93a06882166dbe6dfde3332eb8e4f53ac641d3..48430ed8acd54360dc72d925110c8aa22a39d989 100644 (file)
@@ -113,7 +113,6 @@ find_local_variable (index, type, pc)
      tree type;
      int pc;
 {
-  struct rtx_def *rtl = NULL;
   tree decl = TREE_VEC_ELT (decl_map, index);
   tree best = NULL_TREE;
   while (decl != NULL_TREE)
@@ -888,7 +887,6 @@ pushdecl (x)
     {
       char *file;
       int line;
-      int different_binding_level = 0;
 
       t = lookup_name_current_level (name);
       if (t != 0 && t == error_mark_node)
@@ -928,7 +926,6 @@ pushdecl (x)
        {
          /* Here to install a non-global value.  */
          tree oldlocal = IDENTIFIER_LOCAL_VALUE (name);
-         tree oldglobal = IDENTIFIER_GLOBAL_VALUE (name);
          IDENTIFIER_LOCAL_VALUE (name) = x;
 
 #if 0
@@ -1047,7 +1044,7 @@ make_binding_level ()
 
 void
 pushlevel (unused)
-     int unused;
+  int unused ATTRIBUTE_UNUSED;
 {
   register struct binding_level *newlevel = NULL_BINDING_LEVEL;
 
@@ -1378,7 +1375,7 @@ copy_lang_decl (node)
 
 tree
 maybe_build_cleanup (decl)
-     tree decl;
+  tree decl ATTRIBUTE_UNUSED;
 {
   /* There are no cleanups in Java (I think).  */
   return NULL_TREE;
index caa2a313c64dfd1dd0c9d6563c8bd7fd30a81972..460909fc62d9fbf79c41709666e733b201391458 100644 (file)
@@ -184,7 +184,7 @@ add_handler (start_pc, end_pc, handler, type)
 /* if there are any handlers for this range, issue start of region */
 void
 expand_start_java_handler (range)
-     struct eh_range *range;
+  struct eh_range *range ATTRIBUTE_UNUSED;
 {
   expand_eh_region_start ();
 }
index ab3d2f3eac6eb4ee1319d767e414e4cecfa4b921..77cd45e80881fffea97b110a10aefae4608bbbd1 100644 (file)
@@ -37,6 +37,7 @@ The Free Software Foundation is independent of Sun Microsystems, Inc.  */
 #include "java-except.h"
 #include "parse.h"
 #include "toplev.h"
+#include "except.h"
 
 static tree operand_type[59];
 extern struct obstack permanent_obstack;
@@ -242,7 +243,6 @@ pop_type (type)
      tree type;
 {
   int n_words;
-  int i;
   tree t;
   if (TREE_CODE (type) == RECORD_TYPE)
     type = promote_type (type);
@@ -356,8 +356,6 @@ tree
 pop_value (type)
      tree type;
 {
-  int n_words = 1 + TYPE_IS_WIDE (type);
-  int i;
   type = pop_type (type);
   if (quick_stack)
     {
@@ -846,7 +844,6 @@ expand_java_arrayload (lhs_type_node )
     tree lhs_type_node;
 {
   tree load_node;
-  int convert;
   tree index_node = pop_value (int_type_node);
   tree array_node = pop_value (ptr_type_node);
 
@@ -1747,18 +1744,14 @@ java_lang_expand_expr (exp, target, tmode, modifier)
      enum machine_mode tmode;
      enum expand_modifier modifier;
 {
-  register rtx op0;
-  tree type = TREE_TYPE (exp);
-  register enum machine_mode mode = TYPE_MODE (type);
-  int unsignedp = TREE_UNSIGNED (type);
-  tree node, current;
+  tree current;
   int has_finally_p;
 
   switch (TREE_CODE (exp))
     {
     case NEW_ARRAY_INIT:
       {
-       rtx tmp, elements;
+       rtx tmp;
        tree array_type = TREE_TYPE (TREE_TYPE (exp));
        tree element_type = TYPE_ARRAY_ELEMENT (array_type);
        tree data_fld = TREE_CHAIN (TREE_CHAIN (TYPE_FIELDS (array_type)));
@@ -1942,8 +1935,6 @@ expand_byte_code (jcf, method)
   int i;
   int saw_index;
   unsigned char *linenumber_pointer;
-  struct eh_range *prev_eh_ranges = NULL_EH_RANGE;
-  struct eh_range *eh_ranges;
 
 #undef RET /* Defined by config/i386/i386.h */
 #undef AND /* Causes problems with opcodes for iand and land. */
@@ -2190,7 +2181,7 @@ process_jvm_instruction (PC, byte_ops, length)
      unsigned char* byte_ops;
      long length;
 { 
-  char *opname; /* Temporary ??? */
+  const char *opname; /* Temporary ??? */
   int oldpc = PC; /* PC at instruction start. */
 
   /* If the instruction is at the beginning of a exception handler,
index 0745a1eb57ee52308e0d464c021344bc7487adde..7e20d697ee81a888d8238870edf74658e3912658 100644 (file)
@@ -42,10 +42,10 @@ FILE *out = NULL;
 static int found_error = 0;
 
 /* Directory to place resulting files in. Set by -d option. */
-char *output_directory = "";
+const char *output_directory = "";
 
 /* Directory to place temporary file.  Set by -td option.  Currently unused. */
-char *temp_directory = "/tmp";
+const char *temp_directory = "/tmp";
 
 /* Number of friend functions we have to declare.  */
 static int friend_count;
@@ -100,7 +100,7 @@ static struct method_name *method_name_list;
 
 static void print_field_info PROTO ((FILE *, JCF*, int, int, JCF_u2));
 static void print_method_info PROTO ((FILE *, JCF*, int, int, JCF_u2));
-static void print_c_decl PROTO ((FILE*, JCF*, int, int, JCF_u2, int, char *));
+static void print_c_decl PROTO ((FILE*, JCF*, int, int, JCF_u2, int, const char *));
 static void decompile_method PROTO ((FILE *, JCF *, int));
 
 JCF_u2 current_field_name;
@@ -423,7 +423,7 @@ DEFUN(print_method_info, (stream, jcf, name_index, sig_index, flags),
 {
   unsigned char *str;
   int length, is_init = 0;
-  char *override = NULL;
+  const char *override = NULL;
 
   method_declared = 0;
   method_access = flags;
@@ -557,7 +557,7 @@ decode_signature_piece (stream, signature, limit, need_space)
      unsigned char *signature, *limit;
      int *need_space;
 {
-  char *ctype;
+  const char *ctype;
 
   switch (signature[0])
     {
@@ -649,7 +649,7 @@ DEFUN(print_c_decl, (stream, jcf, name_index, signature_index, flags, is_init,
                     name_override),
       FILE* stream AND JCF* jcf
       AND int name_index AND int signature_index AND JCF_u2 flags
-      AND int is_init AND char *name_override)
+      AND int is_init AND const char *name_override)
 {
   if (JPOOL_TAG (jcf, signature_index) != CONSTANT_Utf8)
     {
@@ -734,7 +734,7 @@ DEFUN(print_c_decl, (stream, jcf, name_index, signature_index, flags, is_init,
 
 void
 DEFUN(print_mangled_classname, (stream, jcf, prefix, index),
-      FILE *stream AND JCF *jcf AND char *prefix AND int index)
+      FILE *stream AND JCF *jcf AND const char *prefix AND int index)
 {
   int name_index = JPOOL_USHORT1 (jcf, index);
   fputs (prefix, stream);
index 576096f8270292c18e8a564b0351f69085ab4fa4..30516f2fe61c75f135ac51096a416b91031728a5 100644 (file)
@@ -65,3 +65,9 @@ extern void method_init_exceptions PROTO ((void));
 
 extern void emit_handlers PROTO ((void));
 
+extern void maybe_start_try PROTO ((int));
+
+extern void maybe_end_try PROTO ((int));
+
+extern int add_handler PROTO ((int, int, tree, tree));
+
index c945dffb7e974d36ef9ddadedc25ce3fce01d0da..2d713e95cc031f2c6972677c70512f56ac1c74ab 100644 (file)
@@ -512,7 +512,7 @@ extern tree find_stack_slot PROTO ((int index, tree type));
 extern tree build_prim_array_type PROTO ((tree, HOST_WIDE_INT));
 extern tree build_java_array_type PROTO ((tree, HOST_WIDE_INT));
 extern int is_compiled_class PROTO ((tree));
-extern tree mangled_classname PROTO ((char*, tree));
+extern tree mangled_classname PROTO ((const char*, tree));
 extern tree lookup_label PROTO ((int));
 extern tree pop_type PROTO ((tree));
 extern void pop_argument_types PROTO ((tree));
@@ -561,13 +561,35 @@ extern void emit_register_classes PROTO (());
 extern void lang_init_source PROTO ((int));
 extern void write_classfile PROTO ((tree));
 extern char *print_int_node PROTO ((tree));
-extern void parse_error_context VPROTO ((tree cl, char *msg, ...));
+extern void parse_error_context PVPROTO ((tree cl, const char *, ...))
+  ATTRIBUTE_PRINTF_2;
 extern tree build_primtype_type_ref PROTO ((char *));
 extern tree java_get_real_method_name PROTO ((tree));
 extern void finish_class PROTO ((tree));
 extern void java_layout_seen_class_methods PROTO (());
 extern void check_for_initialization PROTO ((tree));
 
+extern tree pushdecl_top_level PROTO ((tree));
+extern int alloc_class_constant PROTO ((tree));
+extern int unicode_mangling_length PROTO ((char *, int));
+extern void init_expr_processing PROTO ((void));
+extern void push_super_field PROTO ((tree, tree));
+extern void init_class_processing PROTO ((void));
+extern int can_widen_reference_to PROTO ((tree, tree));
+extern int class_depth PROTO ((tree));
+extern int verify_jvm_instructions PROTO ((struct JCF *, unsigned char *, long));
+extern void maybe_pushlevels PROTO ((int));
+extern void maybe_poplevels PROTO ((int));
+extern int process_jvm_instruction PROTO ((int, unsigned char *, long));
+extern void set_local_type PROTO ((int, tree));
+extern int merge_type_state PROTO ((tree));
+extern void push_type PROTO ((tree));
+extern void load_type_state PROTO ((tree));
+extern void add_interface PROTO ((tree, tree));
+extern int find_in_current_zip PROTO ((char *, int, struct JCF **));
+extern void append_gpp_mangled_classtype PROTO ((struct obstack *, char *));
+extern void emit_unicode_mangled_name PROTO ((struct obstack *, char *, int));
+
 /* Access flags etc for a method (a FUNCTION_DECL): */
 
 #define METHOD_PUBLIC(DECL) DECL_LANG_FLAG_1 (DECL)
index cb962cb8b1d118d7c8b6e1f7e8600771f4ca3181..6f29b6501af2a2a21948045a203c5a7cd074e2bd 100644 (file)
@@ -364,7 +364,7 @@ DEFUN(print_constant, (out, jcf, index, verbosity),
 {
   int j, n;
   jlong num;
-  char *str;
+  const char *str;
   int kind = JPOOL_TAG (jcf, index);
   switch (kind)
     {
@@ -518,7 +518,7 @@ DEFUN(print_signature_type, (stream, ptr, limit),
     {
     case '[':
       array_size = -1;
-      for ((*ptr)++; (*ptr) < limit && isdigit (**ptr); (*ptr)++)
+      for ((*ptr)++; (*ptr) < limit && ISDIGIT (**ptr); (*ptr)++)
        {
          int digit = 
            array_size = (array_size < 0 ? 0 : 10 * array_size) + *(*ptr) - '0';
@@ -578,7 +578,6 @@ DEFUN(print_signature, (stream, jcf, signature_index, int options),
     print_constant_terse (out, jcf, signature_index, CONSTANT_Utf8);
   else
     {
-      int j;
       const unsigned char *str = JPOOL_UTF_DATA (jcf, signature_index);
       int length = JPOOL_UTF_LENGTH (jcf, signature_index);
       const unsigned char *limit;
index 9dd6853e6dfdb9ed147632b7aba4c89aaf57f720..8cea2ab095fb7473fb33caf56fa1561a6c4ff928 100644 (file)
@@ -79,7 +79,7 @@ DEFUN(jcf_filbuf_from_stdio, (jcf, count),
   count -= jcf->read_end - jcf->read_ptr;
   if (count <= 0)
     return 0;
-  if (fread (jcf->read_end, 1, count, file) != count)
+  if ((int) fread (jcf->read_end, 1, count, file) != count)
     jcf_unexpected_eof (jcf, count);
   jcf->read_end += count;
   return 0;
index b3144d3e79279494ffbd4a44b3a2f9fe9e74a9b4..240f638cc6c776c8b609a3abf27d2ee245b958be 100644 (file)
@@ -32,6 +32,7 @@ The Free Software Foundation is independent of Sun Microsystems, Inc.  */
 #include "java-except.h"
 #include "input.h"
 #include "java-tree.h"
+#include "toplev.h"
 
 /* A CONSTANT_Utf8 element is converted to an IDENTIFIER_NODE at parse time. */
 #define JPOOL_UTF(JCF, INDEX) CPOOL_UTF(&(JCF)->cpool, INDEX)
index e082dd16a5aae1d440070c9f5de2162110b3d7fe..2897e427d73b17d7c4a84af005ca77960c9f3c05 100644 (file)
@@ -23,7 +23,6 @@ The Free Software Foundation is independent of Sun Microsystems, Inc.  */
 
 #include "config.h"
 #include "system.h"
-#include <string.h>
 #include "tree.h"
 #include "java-tree.h"
 #include "jcf.h"
@@ -33,8 +32,7 @@ The Free Software Foundation is independent of Sun Microsystems, Inc.  */
 #include "java-opcodes.h"
 #include "parse.h" /* for BLOCK_EXPR_BODY */
 #include "buffer.h"
-
-#include <sys/stat.h>
+#include "toplev.h"
 
 #ifndef DIR_SEPARATOR
 #define DIR_SEPARATOR '/'
@@ -550,7 +548,6 @@ localvar_free (decl, state)
   register struct localvar_info **ptr = &localvar_buffer [index];
   register struct localvar_info *info = *ptr;
   int wide = TYPE_IS_WIDE (TREE_TYPE (decl));
-  int i;
 
   info->end_label = end_label;
 
@@ -1054,7 +1051,6 @@ generate_bytecode_conditional (exp, true_label, false_label,
      int true_branch_first;
      struct jcf_partial *state;
 {
-  int kind;
   tree exp0, exp1, type;
   int save_SP = state->code_SP;
   enum java_opcode op, negop;
index fcf807e832c96ac4caaba21c8ccc13b40ead9783..661ca85b793b2bd4b9721c05dbb3a04c2ae45dfb 100644 (file)
@@ -19,22 +19,15 @@ along with GNU CC; see the file COPYING.  If not, write to
 the Free Software Foundation, 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
-#include <stdio.h>
-#include <stdlib.h>
-#ifdef __STDC__
-#include <stdarg.h>
-#else
-#include <varargs.h>
-#endif
+#include "config.h"
+#include "system.h"
 
-#include "gansidecl.h"         /* Definitions of PROTO and VPROTO */
 #include "obstack.h"           /* We use obstacks in lex.c */
 
-void fatal VPROTO((char *s, ...));
-void warning VPROTO((char *s, ...));
+void fatal VPROTO((const char *s, ...)) ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN;
+void warning VPROTO((const char *s, ...)) ATTRIBUTE_PRINTF_1;
 void gcc_obstack_init PROTO ((struct obstack *obstack));
 extern void reset_report PROTO ((void));
-extern PTR xmalloc PROTO((size_t));
 
 #define JC1_LITE
 #include "parse.h"
@@ -55,10 +48,9 @@ int flag_list_filename = 0;
 
 /* jc1-lite main entry point */
 int
-main (argc, argv, envp)
-     int argc;
-     char **argv;
-     char **envp;
+main (argc, argv)
+  int argc;
+  char **argv;
 {
   int i = 1;
   char *output_file = NULL;
@@ -109,10 +101,10 @@ main (argc, argv, envp)
   /* Check on bad usage */
   if (flag_find_main && flag_dump_class)
     fatal ("Options `--print-main' and `--list-class' can't be turned on "
-          "at the same time", argv [0]);
+          "at the same time");
 
   if (output_file && !(out = fopen (output_file, "w")))
-    fatal ("Can't open output file `%s'", argv [0], output_file);
+    fatal ("Can't open output file `%s'", output_file);
 
   ft = ftell (out);
 
@@ -134,7 +126,7 @@ main (argc, argv, envp)
            reset_report ();
          }
        else
-         fatal ("File not found `%s'", argv [0], argv [i]);
+         fatal ("File not found `%s'", argv [i]);
       }
 
   /* Flush and close */
@@ -150,17 +142,17 @@ main (argc, argv, envp)
    functions */
 
 void
-fatal VPROTO((char *s, ...))
+fatal VPROTO((const char *s, ...))
 {
-#ifndef __STDC__
-  char *s;
+#ifndef ANSI_PROTOTYPES
+  const char *s;
 #endif
   va_list ap;
 
   VA_START (ap, s);
 
-#ifndef __STDC__
-  s = va_arg (ap, char *);
+#ifndef ANSI_PROTOTYPES
+  s = va_arg (ap, const char *);
 #endif
 
   fprintf (stderr, "%s: error: ", exec_name);
@@ -171,17 +163,17 @@ fatal VPROTO((char *s, ...))
 }
 
 void
-warning VPROTO((char *s, ...))
+warning VPROTO((const char *s, ...))
 {
-#ifndef __STDC__
-  char *s;
+#ifndef ANSI_PROTOTYPES
+  const char *s;
 #endif
   va_list ap;
 
   VA_START (ap, s);
 
-#ifndef __STDC__
-  s = va_arg (ap, char *);
+#ifndef ANSI_PROTOTYPES
+  s = va_arg (ap, const char *);
 #endif
 
   fprintf (stderr, "%s: warning: ", exec_name);
index 5a407c7f2615f22faaef71396503f52270f8bfab..82b47279d34bbaa94559e095c040f50d39204f5c 100644 (file)
@@ -65,7 +65,7 @@ int java_tree_code_length[] = {
    Used for printing out the tree and error messages.  */
 #define DEFTREECODE(SYM, NAME, TYPE, LEN) NAME,
 
-char *java_tree_code_name[] = {
+const char *java_tree_code_name[] = {
   "@@dummy",
 #include "java-tree.def"
 };
index 08f587a6c9681f95f23213bdb50452ed84429eb5..a6d48e933fd2bf5715d353dee662b31d036aea51 100644 (file)
@@ -29,6 +29,7 @@ The Free Software Foundation is independent of Sun Microsystems, Inc.  */
 #include "system.h"
 #include "jcf.h"
 #include "obstack.h"
+#include "toplev.h"
 
 /* Assuming (NAME, LEN) is a Utf8-encoding string, calculate
    the length of the string as mangled (a la g++) including Unicode escapes.
@@ -70,6 +71,7 @@ void
 emit_unicode_mangled_name (obstack, name, len)
      struct obstack *obstack;
      char *name;
+     int len;
 {
   unsigned char *ptr;
   unsigned char *limit = (unsigned char *)name + len;
index a57e019813655bfb6dd65cf58e8b2b96bb37e860..934bf4f9a7b8e109f2eb92a27c5ce6bdfc001569 100644 (file)
@@ -162,8 +162,9 @@ static tree lookup_java_method2 PROTO ((tree, tree, int));
 static tree method_header PROTO ((int, tree, tree, tree));
 static void fix_method_argument_names PROTO ((tree ,tree));
 static tree method_declarator PROTO ((tree, tree));
-static void parse_warning_context VPROTO ((tree cl, char *msg, ...));
-static void issue_warning_error_from_context PROTO ((tree, char *msg, va_list));
+static void parse_warning_context PVPROTO ((tree cl, const char *msg, ...))
+  ATTRIBUTE_PRINTF_2;
+static void issue_warning_error_from_context PROTO ((tree, const char *msg, va_list));
 static tree parse_jdk1_1_error PROTO ((char *));
 static void complete_class_report_errors PROTO ((jdep *));
 static int process_imports PROTO ((void));
@@ -361,7 +362,7 @@ static tree wfl_to_string = NULL_TREE;
 /* The "java.lang" import qualified name.  */
 static tree java_lang_id = NULL_TREE;
 
-#line 289 "./parse.y"
+#line 290 "./parse.y"
 typedef union {
   tree node;
   int sub_token;
@@ -665,56 +666,56 @@ static const short yyrhs[] = {   123,
 
 #if YYDEBUG != 0
 static const short yyrline[] = { 0,
-   439,   445,   447,   448,   449,   450,   451,   455,   457,   460,
-   462,   463,   466,   468,   471,   475,   479,   483,   489,   491,
-   493,   495,   500,   502,   505,   509,   514,   519,   521,   522,
-   523,   524,   525,   526,   527,   530,   535,   541,   543,   546,
-   549,   551,   555,   557,   560,   587,   589,   593,   606,   608,
-   612,   619,   620,   622,   632,   637,   652,   656,   659,   662,
-   665,   667,   669,   671,   675,   677,   679,   681,   685,   687,
-   689,   696,   702,   707,   711,   714,   718,   720,   723,   725,
-   726,   727,   731,   733,   734,   736,   741,   744,   754,   757,
-   759,   763,   766,   773,   779,   787,   789,   791,   793,   795,
-   799,   801,   805,   812,   813,   817,   820,   822,   824,   826,
-   828,   830,   832,   834,   841,   844,   846,   855,   857,   861,
-   866,   871,   875,   880,   882,   884,   891,   893,   895,   899,
-   902,   904,   908,   910,   911,   916,   921,   927,   935,   942,
-   945,   948,   952,   955,   959,   968,   970,   972,   977,   984,
-   992,   994,   998,  1006,  1017,  1021,  1024,  1027,  1030,  1033,
-  1036,  1039,  1042,  1044,  1048,  1054,  1059,  1061,  1065,  1068,
-  1072,  1074,  1077,  1079,  1080,  1082,  1086,  1090,  1096,  1101,
-  1104,  1106,  1110,  1116,  1120,  1125,  1128,  1132,  1137,  1145,
-  1147,  1150,  1152,  1154,  1158,  1162,  1165,  1169,  1171,  1172,
-  1173,  1174,  1175,  1185,  1187,  1188,  1189,  1190,  1193,  1195,
-  1196,  1197,  1198,  1199,  1200,  1201,  1202,  1203,  1204,  1207,
-  1212,  1223,  1230,  1234,  1245,  1255,  1261,  1267,  1273,  1275,
-  1281,  1283,  1289,  1291,  1293,  1295,  1297,  1301,  1303,  1304,
-  1305,  1306,  1307,  1308,  1311,  1314,  1316,  1318,  1322,  1327,
-  1332,  1338,  1348,  1354,  1356,  1358,  1365,  1368,  1370,  1372,
-  1376,  1378,  1381,  1385,  1387,  1390,  1397,  1403,  1405,  1407,
-  1411,  1419,  1422,  1424,  1426,  1430,  1435,  1444,  1449,  1452,
-  1459,  1461,  1463,  1467,  1470,  1479,  1486,  1488,  1492,  1505,
-  1507,  1513,  1519,  1523,  1525,  1529,  1532,  1534,  1538,  1541,
-  1543,  1545,  1549,  1552,  1554,  1556,  1560,  1563,  1565,  1567,
-  1571,  1577,  1579,  1583,  1590,  1592,  1594,  1596,  1600,  1608,
-  1611,  1613,  1615,  1619,  1621,  1628,  1636,  1653,  1655,  1657,
-  1661,  1667,  1672,  1674,  1677,  1679,  1681,  1683,  1684,  1685,
-  1686,  1690,  1692,  1694,  1699,  1701,  1703,  1705,  1707,  1711,
-  1714,  1719,  1721,  1726,  1727,  1728,  1729,  1730,  1732,  1734,
-  1736,  1738,  1740,  1744,  1746,  1749,  1755,  1760,  1764,  1767,
-  1769,  1771,  1775,  1777,  1779,  1781,  1785,  1788,  1792,  1798,
-  1800,  1808,  1835,  1837,  1841,  1846,  1854,  1858,  1861,  1863,
-  1874,  1885,  1890,  1899,  1901,  1905,  1908,  1910,  1915,  1920,
-  1925,  1932,  1934,  1935,  1936,  1939,  1944,  1949,  1951,  1952,
-  1954,  1956,  1957,  1959,  1963,  1966,  1970,  1973,  1977,  1979,
-  1981,  1983,  1984,  1986,  1990,  1999,  2001,  2003,  2016,  2018,
-  2024,  2026,  2028,  2032,  2034,  2039,  2044,  2049,  2051,  2053,
-  2057,  2059,  2064,  2069,  2071,  2075,  2077,  2082,  2087,  2092,
-  2094,  2096,  2100,  2102,  2107,  2112,  2117,  2122,  2124,  2126,
-  2128,  2130,  2132,  2136,  2138,  2143,  2148,  2150,  2154,  2156,
-  2161,  2165,  2167,  2172,  2176,  2178,  2183,  2187,  2189,  2194,
-  2198,  2200,  2205,  2209,  2211,  2216,  2222,  2224,  2228,  2230,
-  2233,  2236,  2244,  2246,  2247,  2250,  2252,  2255,  2259
+   440,   446,   448,   449,   450,   451,   452,   456,   458,   461,
+   463,   464,   467,   469,   472,   476,   480,   484,   490,   492,
+   494,   496,   501,   503,   506,   510,   515,   520,   522,   523,
+   524,   525,   526,   527,   528,   531,   536,   542,   544,   547,
+   550,   552,   556,   558,   561,   588,   590,   594,   607,   609,
+   613,   620,   621,   623,   633,   638,   653,   657,   660,   663,
+   666,   668,   670,   672,   676,   678,   680,   682,   686,   688,
+   690,   697,   703,   708,   712,   715,   719,   721,   724,   726,
+   727,   728,   732,   734,   735,   737,   742,   745,   755,   758,
+   760,   764,   767,   774,   780,   788,   790,   792,   794,   796,
+   800,   802,   806,   813,   814,   818,   821,   823,   825,   827,
+   829,   831,   833,   835,   842,   845,   847,   856,   858,   862,
+   867,   872,   876,   881,   883,   885,   892,   894,   896,   900,
+   903,   905,   909,   911,   912,   917,   922,   928,   936,   943,
+   946,   949,   953,   956,   960,   969,   971,   973,   978,   985,
+   993,   995,   999,  1007,  1018,  1022,  1025,  1028,  1031,  1034,
+  1037,  1040,  1043,  1045,  1049,  1055,  1060,  1062,  1066,  1069,
+  1073,  1075,  1078,  1080,  1081,  1083,  1087,  1091,  1097,  1102,
+  1105,  1107,  1111,  1117,  1121,  1126,  1129,  1133,  1138,  1146,
+  1148,  1151,  1153,  1155,  1159,  1163,  1166,  1170,  1172,  1173,
+  1174,  1175,  1176,  1186,  1188,  1189,  1190,  1191,  1194,  1196,
+  1197,  1198,  1199,  1200,  1201,  1202,  1203,  1204,  1205,  1208,
+  1213,  1224,  1231,  1235,  1246,  1256,  1262,  1268,  1274,  1276,
+  1282,  1284,  1290,  1292,  1294,  1296,  1298,  1302,  1304,  1305,
+  1306,  1307,  1308,  1309,  1312,  1315,  1317,  1319,  1323,  1328,
+  1333,  1339,  1349,  1355,  1357,  1359,  1366,  1369,  1371,  1373,
+  1377,  1379,  1382,  1386,  1388,  1391,  1398,  1404,  1406,  1408,
+  1412,  1420,  1423,  1425,  1427,  1431,  1436,  1445,  1450,  1453,
+  1460,  1462,  1464,  1468,  1471,  1480,  1487,  1489,  1493,  1506,
+  1508,  1514,  1520,  1524,  1526,  1530,  1533,  1535,  1539,  1542,
+  1544,  1546,  1550,  1553,  1555,  1557,  1561,  1564,  1566,  1568,
+  1572,  1578,  1580,  1584,  1591,  1593,  1595,  1597,  1601,  1609,
+  1612,  1614,  1616,  1620,  1622,  1629,  1637,  1654,  1656,  1658,
+  1662,  1668,  1673,  1675,  1678,  1680,  1682,  1684,  1685,  1686,
+  1687,  1691,  1693,  1695,  1700,  1702,  1704,  1706,  1708,  1712,
+  1715,  1720,  1722,  1727,  1728,  1729,  1730,  1731,  1733,  1735,
+  1737,  1739,  1741,  1745,  1747,  1750,  1756,  1761,  1765,  1768,
+  1770,  1772,  1776,  1778,  1780,  1782,  1786,  1789,  1793,  1799,
+  1801,  1809,  1836,  1838,  1842,  1847,  1855,  1859,  1862,  1864,
+  1875,  1886,  1891,  1900,  1902,  1906,  1909,  1911,  1916,  1921,
+  1926,  1933,  1935,  1936,  1937,  1940,  1945,  1950,  1952,  1953,
+  1955,  1957,  1958,  1960,  1964,  1967,  1971,  1974,  1978,  1980,
+  1982,  1984,  1985,  1987,  1991,  2000,  2002,  2004,  2017,  2019,
+  2025,  2027,  2029,  2033,  2035,  2040,  2045,  2050,  2052,  2054,
+  2058,  2060,  2065,  2070,  2072,  2076,  2078,  2083,  2088,  2093,
+  2095,  2097,  2101,  2103,  2108,  2113,  2118,  2123,  2125,  2127,
+  2129,  2131,  2133,  2137,  2139,  2144,  2149,  2151,  2155,  2157,
+  2162,  2166,  2168,  2173,  2177,  2179,  2184,  2188,  2190,  2195,
+  2199,  2201,  2206,  2210,  2212,  2217,  2223,  2225,  2229,  2231,
+  2234,  2237,  2245,  2247,  2248,  2251,  2253,  2256,  2260
 };
 #endif
 
@@ -2250,7 +2251,7 @@ static const short yycheck[] = {     3,
 #define YYPURE 1
 
 /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
-#line 3 "/usr/cygnus/gnupro-98r2/share/bison.simple"
+#line 3 "/usr/local/gnu/share/bison.simple"
 
 /* Skeleton output parser for bison,
    Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
@@ -2443,7 +2444,7 @@ __yy_memcpy (char *to, char *from, int count)
 #endif
 #endif
 \f
-#line 196 "/usr/cygnus/gnupro-98r2/share/bison.simple"
+#line 196 "/usr/local/gnu/share/bison.simple"
 
 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
    into yyparse.  The argument should have type void *.
@@ -2748,66 +2749,66 @@ yyreduce:
   switch (yyn) {
 
 case 1:
-#line 441 "./parse.y"
+#line 442 "./parse.y"
 {;
     break;}
 case 18:
-#line 485 "./parse.y"
+#line 486 "./parse.y"
 { 
                  yyval.node = build_java_array_type (yyvsp[-2].node, -1);
                  CLASS_LOADED_P (yyval.node) = 1;
                ;
     break;}
 case 19:
-#line 490 "./parse.y"
+#line 491 "./parse.y"
 { yyval.node = build_unresolved_array_type (yyvsp[-2].node); ;
     break;}
 case 20:
-#line 492 "./parse.y"
+#line 493 "./parse.y"
 { yyval.node = build_unresolved_array_type (yyvsp[-2].node); ;
     break;}
 case 21:
-#line 494 "./parse.y"
+#line 495 "./parse.y"
 {RULE ("']' expected"); RECOVER;;
     break;}
 case 22:
-#line 496 "./parse.y"
+#line 497 "./parse.y"
 {RULE ("']' expected"); RECOVER;;
     break;}
 case 26:
-#line 511 "./parse.y"
+#line 512 "./parse.y"
 { yyval.node = make_qualified_name (yyvsp[-2].node, yyvsp[0].node, yyvsp[-1].operator.location); ;
     break;}
 case 28:
-#line 520 "./parse.y"
+#line 521 "./parse.y"
 {yyval.node = NULL;;
     break;}
 case 36:
-#line 532 "./parse.y"
+#line 533 "./parse.y"
 {
                  yyval.node = NULL;
                ;
     break;}
 case 37:
-#line 536 "./parse.y"
+#line 537 "./parse.y"
 {
                  yyval.node = NULL;
                ;
     break;}
 case 40:
-#line 548 "./parse.y"
+#line 549 "./parse.y"
 { ctxp->package = EXPR_WFL_NODE (yyvsp[-1].node); ;
     break;}
 case 41:
-#line 550 "./parse.y"
+#line 551 "./parse.y"
 {yyerror ("Missing name"); RECOVER;;
     break;}
 case 42:
-#line 552 "./parse.y"
+#line 553 "./parse.y"
 {yyerror ("';' expected"); RECOVER;;
     break;}
 case 45:
-#line 562 "./parse.y"
+#line 563 "./parse.y"
 {
                  tree name = EXPR_WFL_NODE (yyvsp[-1].node), node, last_name;
                  int   i = IDENTIFIER_LENGTH (name)-1;
@@ -2835,15 +2836,15 @@ case 45:
                ;
     break;}
 case 46:
-#line 588 "./parse.y"
+#line 589 "./parse.y"
 {yyerror ("Missing name"); RECOVER;;
     break;}
 case 47:
-#line 590 "./parse.y"
+#line 591 "./parse.y"
 {yyerror ("';' expected"); RECOVER;;
     break;}
 case 48:
-#line 595 "./parse.y"
+#line 596 "./parse.y"
 {
                  tree name = EXPR_WFL_NODE (yyvsp[-3].node);
                  /* Don't import java.lang.* twice. */
@@ -2857,15 +2858,15 @@ case 48:
                ;
     break;}
 case 49:
-#line 607 "./parse.y"
+#line 608 "./parse.y"
 {yyerror ("'*' expected"); RECOVER;;
     break;}
 case 50:
-#line 609 "./parse.y"
+#line 610 "./parse.y"
 {yyerror ("';' expected"); RECOVER;;
     break;}
 case 51:
-#line 614 "./parse.y"
+#line 615 "./parse.y"
 {
                  maybe_generate_finit ();
                  maybe_generate_clinit ();
@@ -2873,24 +2874,24 @@ case 51:
                ;
     break;}
 case 53:
-#line 621 "./parse.y"
+#line 622 "./parse.y"
 { yyval.node = NULL; ;
     break;}
 case 54:
-#line 623 "./parse.y"
+#line 624 "./parse.y"
 {
                  YYERROR_NOW;
                  yyerror ("Class or interface declaration expected");
                ;
     break;}
 case 55:
-#line 634 "./parse.y"
+#line 635 "./parse.y"
 {
                  yyval.value = (1 << yyvsp[0].value);
                ;
     break;}
 case 56:
-#line 638 "./parse.y"
+#line 639 "./parse.y"
 {
                  int acc = (1 << yyvsp[0].value);
                  if (yyval.value & acc)
@@ -2904,116 +2905,116 @@ case 56:
                ;
     break;}
 case 57:
-#line 654 "./parse.y"
+#line 655 "./parse.y"
 { create_class (yyvsp[-4].value, yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node); ;
     break;}
 case 58:
-#line 656 "./parse.y"
+#line 657 "./parse.y"
 { 
                  yyval.node = yyvsp[0].node;
                ;
     break;}
 case 59:
-#line 660 "./parse.y"
+#line 661 "./parse.y"
 { create_class (0, yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node); ;
     break;}
 case 60:
-#line 662 "./parse.y"
+#line 663 "./parse.y"
 {      
                  yyval.node = yyvsp[0].node;
                ;
     break;}
 case 61:
-#line 666 "./parse.y"
+#line 667 "./parse.y"
 {yyerror ("Missing class name"); RECOVER;;
     break;}
 case 62:
-#line 668 "./parse.y"
+#line 669 "./parse.y"
 {yyerror ("Missing class name"); RECOVER;;
     break;}
 case 63:
-#line 670 "./parse.y"
+#line 671 "./parse.y"
 {if (!ctxp->class_err) yyerror ("'{' expected"); DRECOVER(class1);;
     break;}
 case 64:
-#line 672 "./parse.y"
+#line 673 "./parse.y"
 {if (!ctxp->class_err) yyerror ("'{' expected"); RECOVER;;
     break;}
 case 65:
-#line 676 "./parse.y"
+#line 677 "./parse.y"
 { yyval.node = NULL; ;
     break;}
 case 66:
-#line 678 "./parse.y"
+#line 679 "./parse.y"
 { yyval.node = yyvsp[0].node; ;
     break;}
 case 67:
-#line 680 "./parse.y"
+#line 681 "./parse.y"
 {yyerror ("'{' expected"); ctxp->class_err=1;;
     break;}
 case 68:
-#line 682 "./parse.y"
+#line 683 "./parse.y"
 {yyerror ("Missing super class name"); ctxp->class_err=1;;
     break;}
 case 69:
-#line 686 "./parse.y"
+#line 687 "./parse.y"
 { yyval.node = NULL_TREE; ;
     break;}
 case 70:
-#line 688 "./parse.y"
+#line 689 "./parse.y"
 { yyval.node = yyvsp[0].node; ;
     break;}
 case 71:
-#line 690 "./parse.y"
+#line 691 "./parse.y"
 {
                  ctxp->class_err=1;
                  yyerror ("Missing interface name"); 
                ;
     break;}
 case 72:
-#line 698 "./parse.y"
+#line 699 "./parse.y"
 { 
                  ctxp->interface_number = 1;
                  yyval.node = build_tree_list (yyvsp[0].node, NULL_TREE);
                ;
     break;}
 case 73:
-#line 703 "./parse.y"
+#line 704 "./parse.y"
 { 
                  ctxp->interface_number++;
                  yyval.node = chainon (yyvsp[-2].node, build_tree_list (yyvsp[0].node, NULL_TREE));
                ;
     break;}
 case 74:
-#line 708 "./parse.y"
+#line 709 "./parse.y"
 {yyerror ("Missing interface name"); RECOVER;;
     break;}
 case 75:
-#line 713 "./parse.y"
+#line 714 "./parse.y"
 { yyval.node = ctxp->current_parsed_class; ;
     break;}
 case 76:
-#line 715 "./parse.y"
+#line 716 "./parse.y"
 { yyval.node = ctxp->current_parsed_class; ;
     break;}
 case 82:
-#line 728 "./parse.y"
+#line 729 "./parse.y"
 { yyval.node = parse_jdk1_1_error ("instance initializer"); ;
     break;}
 case 85:
-#line 735 "./parse.y"
+#line 736 "./parse.y"
 { yyval.node = parse_jdk1_1_error ("inner classe declaration"); ;
     break;}
 case 86:
-#line 737 "./parse.y"
+#line 738 "./parse.y"
 { yyval.node = parse_jdk1_1_error ("inner interface declaration"); ;
     break;}
 case 87:
-#line 743 "./parse.y"
+#line 744 "./parse.y"
 { register_fields (0, yyvsp[-2].node, yyvsp[-1].node); ;
     break;}
 case 88:
-#line 745 "./parse.y"
+#line 746 "./parse.y"
 {
                  check_modifiers 
                    ("Illegal modifier `%s' for field declaration",
@@ -3023,19 +3024,19 @@ case 88:
                ;
     break;}
 case 90:
-#line 758 "./parse.y"
+#line 759 "./parse.y"
 { yyval.node = chainon (yyvsp[-2].node, yyvsp[0].node); ;
     break;}
 case 91:
-#line 760 "./parse.y"
+#line 761 "./parse.y"
 {yyerror ("Missing term"); RECOVER;;
     break;}
 case 92:
-#line 765 "./parse.y"
+#line 766 "./parse.y"
 { yyval.node = build_tree_list (yyvsp[0].node, NULL_TREE); ;
     break;}
 case 93:
-#line 767 "./parse.y"
+#line 768 "./parse.y"
 { 
                  if (java_error_count)
                    yyvsp[0].node = NULL_TREE;
@@ -3044,7 +3045,7 @@ case 93:
                ;
     break;}
 case 94:
-#line 774 "./parse.y"
+#line 775 "./parse.y"
 {
                  yyerror ("Missing variable initializer");
                  yyval.node = build_tree_list (yyvsp[-2].node, NULL_TREE);
@@ -3052,7 +3053,7 @@ case 94:
                ;
     break;}
 case 95:
-#line 780 "./parse.y"
+#line 781 "./parse.y"
 {
                  yyerror ("';' expected");
                  yyval.node = build_tree_list (yyvsp[-3].node, NULL_TREE);
@@ -3060,85 +3061,85 @@ case 95:
                ;
     break;}
 case 97:
-#line 790 "./parse.y"
+#line 791 "./parse.y"
 { yyval.node = build_unresolved_array_type (yyvsp[-2].node); ;
     break;}
 case 98:
-#line 792 "./parse.y"
+#line 793 "./parse.y"
 {yyerror ("Invalid declaration"); DRECOVER(vdi);;
     break;}
 case 99:
-#line 794 "./parse.y"
+#line 795 "./parse.y"
 {yyerror ("']' expected"); DRECOVER(vdi);;
     break;}
 case 100:
-#line 796 "./parse.y"
+#line 797 "./parse.y"
 {yyerror ("Unbalanced ']'"); DRECOVER(vdi);;
     break;}
 case 103:
-#line 807 "./parse.y"
+#line 808 "./parse.y"
 {
                  current_function_decl = yyvsp[0].node;
                  source_start_java_method (current_function_decl);
                ;
     break;}
 case 104:
-#line 812 "./parse.y"
+#line 813 "./parse.y"
 { complete_method_declaration (yyvsp[0].node); ;
     break;}
 case 105:
-#line 814 "./parse.y"
+#line 815 "./parse.y"
 {YYNOT_TWICE yyerror ("'{' expected"); RECOVER;;
     break;}
 case 106:
-#line 819 "./parse.y"
+#line 820 "./parse.y"
 { yyval.node = method_header (0, yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node); ;
     break;}
 case 107:
-#line 821 "./parse.y"
+#line 822 "./parse.y"
 { yyval.node = method_header (0, void_type_node, yyvsp[-1].node, yyvsp[0].node); ;
     break;}
 case 108:
-#line 823 "./parse.y"
+#line 824 "./parse.y"
 { yyval.node = method_header (yyvsp[-3].value, yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node); ;
     break;}
 case 109:
-#line 825 "./parse.y"
+#line 826 "./parse.y"
 { yyval.node = method_header (yyvsp[-3].value, void_type_node, yyvsp[-1].node, yyvsp[0].node); ;
     break;}
 case 110:
-#line 827 "./parse.y"
+#line 828 "./parse.y"
 {RECOVER;;
     break;}
 case 111:
-#line 829 "./parse.y"
+#line 830 "./parse.y"
 {RECOVER;;
     break;}
 case 112:
-#line 831 "./parse.y"
+#line 832 "./parse.y"
 {yyerror ("Identifier expected"); RECOVER;;
     break;}
 case 113:
-#line 833 "./parse.y"
+#line 834 "./parse.y"
 {yyerror ("Identifier expected"); RECOVER;;
     break;}
 case 114:
-#line 835 "./parse.y"
+#line 836 "./parse.y"
 {
                  yyerror ("Invalid method declaration, return type required");
                  RECOVER;
                ;
     break;}
 case 115:
-#line 843 "./parse.y"
+#line 844 "./parse.y"
 { yyval.node = method_declarator (yyvsp[-2].node, NULL_TREE); ;
     break;}
 case 116:
-#line 845 "./parse.y"
+#line 846 "./parse.y"
 { yyval.node = method_declarator (yyvsp[-3].node, yyvsp[-1].node); ;
     break;}
 case 117:
-#line 847 "./parse.y"
+#line 848 "./parse.y"
 {
                  EXPR_WFL_LINECOL (wfl_operator) = yyvsp[-1].operator.location;
                  TREE_PURPOSE (yyvsp[-2].node) = 
@@ -3149,145 +3150,145 @@ case 117:
                ;
     break;}
 case 118:
-#line 856 "./parse.y"
+#line 857 "./parse.y"
 {yyerror ("')' expected"); DRECOVER(method_declarator);;
     break;}
 case 119:
-#line 858 "./parse.y"
+#line 859 "./parse.y"
 {yyerror ("']' expected"); RECOVER;;
     break;}
 case 120:
-#line 863 "./parse.y"
+#line 864 "./parse.y"
 {
                  ctxp->formal_parameter_number = 1;
                ;
     break;}
 case 121:
-#line 867 "./parse.y"
+#line 868 "./parse.y"
 {
                  ctxp->formal_parameter_number += 1;
                  yyval.node = chainon (yyvsp[-2].node, yyvsp[0].node);
                ;
     break;}
 case 122:
-#line 872 "./parse.y"
+#line 873 "./parse.y"
 {yyerror ("Missing formal parameter term"); RECOVER;;
     break;}
 case 123:
-#line 877 "./parse.y"
+#line 878 "./parse.y"
 {
                  yyval.node = build_tree_list (yyvsp[0].node, yyvsp[-1].node);
                ;
     break;}
 case 124:
-#line 881 "./parse.y"
+#line 882 "./parse.y"
 { yyval.node = parse_jdk1_1_error ("final parameters"); ;
     break;}
 case 125:
-#line 883 "./parse.y"
+#line 884 "./parse.y"
 {yyerror ("Missing identifier"); RECOVER;;
     break;}
 case 126:
-#line 885 "./parse.y"
+#line 886 "./parse.y"
 {
                  SOURCE_FRONTEND_DEBUG (("Modifiers: %d", yyvsp[-2].value));
                  yyerror ("Missing identifier"); RECOVER;
                ;
     break;}
 case 127:
-#line 892 "./parse.y"
+#line 893 "./parse.y"
 { yyval.node = NULL_TREE; ;
     break;}
 case 128:
-#line 894 "./parse.y"
+#line 895 "./parse.y"
 { yyval.node = yyvsp[0].node; ;
     break;}
 case 129:
-#line 896 "./parse.y"
+#line 897 "./parse.y"
 {yyerror ("Missing class type term"); RECOVER;;
     break;}
 case 130:
-#line 901 "./parse.y"
+#line 902 "./parse.y"
 { yyval.node = build_tree_list (yyvsp[0].node, yyvsp[0].node); ;
     break;}
 case 131:
-#line 903 "./parse.y"
+#line 904 "./parse.y"
 { yyval.node = tree_cons (yyvsp[0].node, yyvsp[0].node, yyvsp[-2].node); ;
     break;}
 case 132:
-#line 905 "./parse.y"
+#line 906 "./parse.y"
 {yyerror ("Missing class type term"); RECOVER;;
     break;}
 case 135:
-#line 912 "./parse.y"
+#line 913 "./parse.y"
 { yyval.node = NULL_TREE; ;
     break;}
 case 136:
-#line 918 "./parse.y"
+#line 919 "./parse.y"
 {
                  RULE ("STATIC_INITIALIZER");
                ;
     break;}
 case 137:
-#line 922 "./parse.y"
+#line 923 "./parse.y"
 {
                  RULE ("STATIC_INITIALIZER");
                ;
     break;}
 case 138:
-#line 929 "./parse.y"
+#line 930 "./parse.y"
 {
                  SOURCE_FRONTEND_DEBUG (("Modifiers: %d", yyvsp[0].value));
                ;
     break;}
 case 139:
-#line 937 "./parse.y"
+#line 938 "./parse.y"
 {
                  current_function_decl = yyvsp[0].node;
                  source_start_java_method (current_function_decl);
                ;
     break;}
 case 140:
-#line 942 "./parse.y"
+#line 943 "./parse.y"
 { complete_method_declaration (yyvsp[0].node); ;
     break;}
 case 141:
-#line 947 "./parse.y"
+#line 948 "./parse.y"
 { yyval.node = method_header (0, NULL_TREE, yyvsp[-1].node, yyvsp[0].node); ;
     break;}
 case 142:
-#line 949 "./parse.y"
+#line 950 "./parse.y"
 { yyval.node = method_header (yyvsp[-2].value, NULL_TREE, yyvsp[-1].node, yyvsp[0].node); ;
     break;}
 case 143:
-#line 954 "./parse.y"
+#line 955 "./parse.y"
 { yyval.node = method_declarator (yyvsp[-2].node, NULL_TREE); ;
     break;}
 case 144:
-#line 956 "./parse.y"
+#line 957 "./parse.y"
 { yyval.node = method_declarator (yyvsp[-3].node, yyvsp[-1].node); ;
     break;}
 case 145:
-#line 964 "./parse.y"
+#line 965 "./parse.y"
 { 
                  BLOCK_EXPR_BODY (yyvsp[0].node) = empty_stmt_node;
                  yyval.node = yyvsp[0].node;
                ;
     break;}
 case 146:
-#line 969 "./parse.y"
+#line 970 "./parse.y"
 { yyval.node = yyvsp[0].node; ;
     break;}
 case 147:
-#line 971 "./parse.y"
+#line 972 "./parse.y"
 { yyval.node = yyvsp[0].node; ;
     break;}
 case 148:
-#line 973 "./parse.y"
+#line 974 "./parse.y"
 { yyval.node = yyvsp[0].node; ;
     break;}
 case 149:
-#line 979 "./parse.y"
+#line 980 "./parse.y"
 { 
                  yyval.node = build_method_invocation (yyvsp[-3].node, NULL_TREE); 
                  yyval.node = build_debugable_stmt (EXPR_WFL_LINECOL (yyvsp[-3].node), yyval.node);
@@ -3295,7 +3296,7 @@ case 149:
                ;
     break;}
 case 150:
-#line 985 "./parse.y"
+#line 986 "./parse.y"
 { 
                  yyval.node = build_method_invocation (yyvsp[-4].node, yyvsp[-2].node); 
                  yyval.node = build_debugable_stmt (EXPR_WFL_LINECOL (yyvsp[-4].node), yyval.node);
@@ -3303,15 +3304,15 @@ case 150:
                ;
     break;}
 case 151:
-#line 993 "./parse.y"
+#line 994 "./parse.y"
 {yyval.node = parse_jdk1_1_error ("explicit constructor invocation"); ;
     break;}
 case 152:
-#line 995 "./parse.y"
+#line 996 "./parse.y"
 {yyval.node = parse_jdk1_1_error ("explicit constructor invocation"); ;
     break;}
 case 153:
-#line 1000 "./parse.y"
+#line 1001 "./parse.y"
 {
                  tree wfl = build_wfl_node (this_identifier_node, 
                                             input_filename, 0, 0);
@@ -3320,7 +3321,7 @@ case 153:
                ;
     break;}
 case 154:
-#line 1007 "./parse.y"
+#line 1008 "./parse.y"
 {
                  tree wfl = build_wfl_node (super_identifier_node,
                                             input_filename, 0, 0);
@@ -3329,168 +3330,168 @@ case 154:
                ;
     break;}
 case 155:
-#line 1019 "./parse.y"
+#line 1020 "./parse.y"
 { create_interface (0, yyvsp[0].node, NULL_TREE); ;
     break;}
 case 156:
-#line 1021 "./parse.y"
+#line 1022 "./parse.y"
 {
                  yyval.node = yyvsp[0].node;
                ;
     break;}
 case 157:
-#line 1025 "./parse.y"
+#line 1026 "./parse.y"
 { create_interface (yyvsp[-2].value, yyvsp[0].node, NULL_TREE); ;
     break;}
 case 158:
-#line 1027 "./parse.y"
+#line 1028 "./parse.y"
 {
                  yyval.node = yyvsp[0].node;
                ;
     break;}
 case 159:
-#line 1031 "./parse.y"
+#line 1032 "./parse.y"
 { create_interface (0, yyvsp[-1].node, yyvsp[0].node); ;
     break;}
 case 160:
-#line 1033 "./parse.y"
+#line 1034 "./parse.y"
 {
                  yyval.node = yyvsp[0].node;
                ;
     break;}
 case 161:
-#line 1037 "./parse.y"
+#line 1038 "./parse.y"
 { create_interface (yyvsp[-3].value, yyvsp[-1].node, yyvsp[0].node); ;
     break;}
 case 162:
-#line 1039 "./parse.y"
+#line 1040 "./parse.y"
 {
                  yyval.node = yyvsp[0].node;
                ;
     break;}
 case 163:
-#line 1043 "./parse.y"
+#line 1044 "./parse.y"
 {yyerror ("(here)'{' expected"); RECOVER;;
     break;}
 case 164:
-#line 1045 "./parse.y"
+#line 1046 "./parse.y"
 {yyerror ("(there)'{' expected"); RECOVER;;
     break;}
 case 165:
-#line 1050 "./parse.y"
+#line 1051 "./parse.y"
 { 
                  ctxp->interface_number = 1;
                  yyval.node = build_tree_list (yyvsp[0].node, NULL_TREE);
                ;
     break;}
 case 166:
-#line 1055 "./parse.y"
+#line 1056 "./parse.y"
 { 
                  ctxp->interface_number++;
                  yyval.node = chainon (yyvsp[-2].node, build_tree_list (yyvsp[0].node, NULL_TREE));
                ;
     break;}
 case 167:
-#line 1060 "./parse.y"
+#line 1061 "./parse.y"
 {yyerror ("Invalid interface type"); RECOVER;;
     break;}
 case 168:
-#line 1062 "./parse.y"
+#line 1063 "./parse.y"
 {yyerror ("Missing term"); RECOVER;;
     break;}
 case 169:
-#line 1067 "./parse.y"
+#line 1068 "./parse.y"
 { yyval.node = NULL_TREE; ;
     break;}
 case 170:
-#line 1069 "./parse.y"
+#line 1070 "./parse.y"
 { yyval.node = NULL_TREE; ;
     break;}
 case 175:
-#line 1081 "./parse.y"
+#line 1082 "./parse.y"
 { yyval.node = parse_jdk1_1_error ("inner class declaration"); ;
     break;}
 case 176:
-#line 1083 "./parse.y"
+#line 1084 "./parse.y"
 { yyval.node = parse_jdk1_1_error ("inner interface declaration"); ;
     break;}
 case 178:
-#line 1092 "./parse.y"
+#line 1093 "./parse.y"
 { 
                  check_abstract_method_header (yyvsp[-1].node);
                  current_function_decl = NULL_TREE; /* FIXME ? */
                ;
     break;}
 case 179:
-#line 1097 "./parse.y"
+#line 1098 "./parse.y"
 {yyerror ("';' expected"); RECOVER;;
     break;}
 case 180:
-#line 1103 "./parse.y"
+#line 1104 "./parse.y"
 { yyval.node = build_new_array_init (yyvsp[-1].operator.location, NULL_TREE); ;
     break;}
 case 181:
-#line 1105 "./parse.y"
+#line 1106 "./parse.y"
 { yyval.node = build_new_array_init (yyvsp[-2].operator.location, yyvsp[-1].node); ;
     break;}
 case 182:
-#line 1107 "./parse.y"
+#line 1108 "./parse.y"
 { yyval.node = build_new_array_init (yyvsp[-3].operator.location, yyvsp[-2].node); ;
     break;}
 case 183:
-#line 1112 "./parse.y"
+#line 1113 "./parse.y"
 { 
                  yyval.node = tree_cons (maybe_build_array_element_wfl (yyvsp[0].node), 
                                  yyvsp[0].node, NULL_TREE);
                ;
     break;}
 case 184:
-#line 1117 "./parse.y"
+#line 1118 "./parse.y"
 {
                  yyval.node = tree_cons (maybe_build_array_element_wfl (yyvsp[0].node), yyvsp[0].node, yyvsp[-2].node);
                ;
     break;}
 case 185:
-#line 1121 "./parse.y"
+#line 1122 "./parse.y"
 {yyerror ("Missing term"); RECOVER;;
     break;}
 case 186:
-#line 1127 "./parse.y"
+#line 1128 "./parse.y"
 { yyval.node = empty_stmt_node; ;
     break;}
 case 187:
-#line 1129 "./parse.y"
+#line 1130 "./parse.y"
 { yyval.node = yyvsp[0].node; ;
     break;}
 case 188:
-#line 1134 "./parse.y"
+#line 1135 "./parse.y"
 { enter_block (); ;
     break;}
 case 189:
-#line 1139 "./parse.y"
+#line 1140 "./parse.y"
 { 
                  maybe_absorb_scoping_blocks ();
                  yyval.node = exit_block ();
                ;
     break;}
 case 193:
-#line 1153 "./parse.y"
+#line 1154 "./parse.y"
 { java_method_add_stmt (current_function_decl, yyvsp[0].node); ;
     break;}
 case 194:
-#line 1155 "./parse.y"
+#line 1156 "./parse.y"
 { parse_jdk1_1_error ("inner class declaration"); ;
     break;}
 case 196:
-#line 1164 "./parse.y"
+#line 1165 "./parse.y"
 { declare_local_variables (0, yyvsp[-1].node, yyvsp[0].node); ;
     break;}
 case 197:
-#line 1166 "./parse.y"
+#line 1167 "./parse.y"
 { declare_local_variables (yyvsp[-2].value, yyvsp[-1].node, yyvsp[0].node); ;
     break;}
 case 203:
-#line 1176 "./parse.y"
+#line 1177 "./parse.y"
 { 
                  /* If the for loop is unlabeled, we must return the
                     block it was defined it. It our last chance to
@@ -3500,11 +3501,11 @@ case 203:
                ;
     break;}
 case 220:
-#line 1209 "./parse.y"
+#line 1210 "./parse.y"
 { yyval.node = empty_stmt_node; ;
     break;}
 case 221:
-#line 1214 "./parse.y"
+#line 1215 "./parse.y"
 {
                  yyval.node = build_labeled_block (EXPR_WFL_LINECOL (yyvsp[-1].node), 
                                            EXPR_WFL_NODE (yyvsp[-1].node));
@@ -3514,7 +3515,7 @@ case 221:
                ;
     break;}
 case 222:
-#line 1225 "./parse.y"
+#line 1226 "./parse.y"
 { 
                  yyval.node = complete_labeled_statement (yyvsp[-1].node, yyvsp[0].node);
                  pop_labeled_block ();
@@ -3522,11 +3523,11 @@ case 222:
                ;
     break;}
 case 223:
-#line 1231 "./parse.y"
+#line 1232 "./parse.y"
 {yyerror ("':' expected"); RECOVER;;
     break;}
 case 224:
-#line 1236 "./parse.y"
+#line 1237 "./parse.y"
 { 
                  yyval.node = complete_labeled_statement (yyvsp[-1].node, yyvsp[0].node);
                  pop_labeled_block ();
@@ -3534,7 +3535,7 @@ case 224:
                ;
     break;}
 case 225:
-#line 1247 "./parse.y"
+#line 1248 "./parse.y"
 {
                  /* We have a statement. Generate a WFL around it so
                     we can debug it */
@@ -3545,7 +3546,7 @@ case 225:
                ;
     break;}
 case 226:
-#line 1256 "./parse.y"
+#line 1257 "./parse.y"
 {
                  if (ctxp->prevent_ese != lineno)
                    yyerror ("Invalid expression statement");
@@ -3553,7 +3554,7 @@ case 226:
                ;
     break;}
 case 227:
-#line 1262 "./parse.y"
+#line 1263 "./parse.y"
 {
                  if (ctxp->prevent_ese != lineno)
                    yyerror ("Invalid expression statement");
@@ -3561,7 +3562,7 @@ case 227:
                ;
     break;}
 case 228:
-#line 1268 "./parse.y"
+#line 1269 "./parse.y"
 {
                  if (ctxp->prevent_ese != lineno)
                    yyerror ("Invalid expression statement");
@@ -3569,11 +3570,11 @@ case 228:
                ;
     break;}
 case 229:
-#line 1274 "./parse.y"
+#line 1275 "./parse.y"
 {yyerror ("')' expected"); RECOVER;;
     break;}
 case 230:
-#line 1276 "./parse.y"
+#line 1277 "./parse.y"
 {
                  yyerror ("Constructor invocation must be first "
                           "thing in a constructor"); 
@@ -3581,11 +3582,11 @@ case 230:
                ;
     break;}
 case 231:
-#line 1282 "./parse.y"
+#line 1283 "./parse.y"
 {yyerror ("')' expected"); RECOVER;;
     break;}
 case 232:
-#line 1284 "./parse.y"
+#line 1285 "./parse.y"
 {
                  yyerror ("Constructor invocation must be first "
                           "thing in a constructor"); 
@@ -3593,57 +3594,57 @@ case 232:
                ;
     break;}
 case 233:
-#line 1290 "./parse.y"
+#line 1291 "./parse.y"
 {yyerror ("'(' expected"); RECOVER;;
     break;}
 case 234:
-#line 1292 "./parse.y"
+#line 1293 "./parse.y"
 {yyerror ("')' expected"); RECOVER;;
     break;}
 case 235:
-#line 1294 "./parse.y"
+#line 1295 "./parse.y"
 {yyerror ("')' expected"); RECOVER;;
     break;}
 case 236:
-#line 1296 "./parse.y"
+#line 1297 "./parse.y"
 {yyerror ("';' expected"); RECOVER;;
     break;}
 case 237:
-#line 1298 "./parse.y"
+#line 1299 "./parse.y"
 {yyerror ("';' expected"); RECOVER;;
     break;}
 case 245:
-#line 1313 "./parse.y"
+#line 1314 "./parse.y"
 { yyval.node = build_if_else_statement (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[0].node, NULL_TREE); ;
     break;}
 case 246:
-#line 1315 "./parse.y"
+#line 1316 "./parse.y"
 {yyerror ("'(' expected"); RECOVER;;
     break;}
 case 247:
-#line 1317 "./parse.y"
+#line 1318 "./parse.y"
 {yyerror ("Missing term"); RECOVER;;
     break;}
 case 248:
-#line 1319 "./parse.y"
+#line 1320 "./parse.y"
 {yyerror ("')' expected"); RECOVER;;
     break;}
 case 249:
-#line 1324 "./parse.y"
+#line 1325 "./parse.y"
 { yyval.node = build_if_else_statement (yyvsp[-5].operator.location, yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node); ;
     break;}
 case 250:
-#line 1329 "./parse.y"
+#line 1330 "./parse.y"
 { yyval.node = build_if_else_statement (yyvsp[-5].operator.location, yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node); ;
     break;}
 case 251:
-#line 1334 "./parse.y"
+#line 1335 "./parse.y"
 {
                  enter_block ();
                ;
     break;}
 case 252:
-#line 1338 "./parse.y"
+#line 1339 "./parse.y"
 { 
                  /* Make into "proper list" of COMPOUND_EXPRs.
                     I.e. make the last statment also have its own
@@ -3654,42 +3655,42 @@ case 252:
                ;
     break;}
 case 253:
-#line 1350 "./parse.y"
+#line 1351 "./parse.y"
 { 
                  yyval.node = build (SWITCH_EXPR, NULL_TREE, yyvsp[-1].node, NULL_TREE);
                  EXPR_WFL_LINECOL (yyval.node) = yyvsp[-2].operator.location;
                ;
     break;}
 case 254:
-#line 1355 "./parse.y"
+#line 1356 "./parse.y"
 {yyerror ("'(' expected"); RECOVER;;
     break;}
 case 255:
-#line 1357 "./parse.y"
+#line 1358 "./parse.y"
 {yyerror ("Missing term or ')'"); DRECOVER(switch_statement);;
     break;}
 case 256:
-#line 1359 "./parse.y"
+#line 1360 "./parse.y"
 {yyerror ("'{' expected"); RECOVER;;
     break;}
 case 257:
-#line 1367 "./parse.y"
+#line 1368 "./parse.y"
 { yyval.node = NULL_TREE; ;
     break;}
 case 258:
-#line 1369 "./parse.y"
+#line 1370 "./parse.y"
 { yyval.node = NULL_TREE; ;
     break;}
 case 259:
-#line 1371 "./parse.y"
+#line 1372 "./parse.y"
 { yyval.node = NULL_TREE; ;
     break;}
 case 260:
-#line 1373 "./parse.y"
+#line 1374 "./parse.y"
 { yyval.node = NULL_TREE; ;
     break;}
 case 266:
-#line 1392 "./parse.y"
+#line 1393 "./parse.y"
 { 
                  tree lab = build1 (CASE_EXPR, NULL_TREE, yyvsp[-1].node);
                  EXPR_WFL_LINECOL (lab) = yyvsp[-2].operator.location;
@@ -3697,7 +3698,7 @@ case 266:
                ;
     break;}
 case 267:
-#line 1398 "./parse.y"
+#line 1399 "./parse.y"
 { 
                  tree lab = build1 (DEFAULT_EXPR, NULL_TREE, NULL_TREE);
                  EXPR_WFL_LINECOL (lab) = yyvsp[-1].operator.location;
@@ -3705,61 +3706,61 @@ case 267:
                ;
     break;}
 case 268:
-#line 1404 "./parse.y"
+#line 1405 "./parse.y"
 {yyerror ("Missing or invalid constant expression"); RECOVER;;
     break;}
 case 269:
-#line 1406 "./parse.y"
+#line 1407 "./parse.y"
 {yyerror ("':' expected"); RECOVER;;
     break;}
 case 270:
-#line 1408 "./parse.y"
+#line 1409 "./parse.y"
 {yyerror ("':' expected"); RECOVER;;
     break;}
 case 271:
-#line 1413 "./parse.y"
+#line 1414 "./parse.y"
 { 
                  tree body = build_loop_body (yyvsp[-2].operator.location, yyvsp[-1].node, 0);
                  yyval.node = build_new_loop (body);
                ;
     break;}
 case 272:
-#line 1421 "./parse.y"
+#line 1422 "./parse.y"
 { yyval.node = complete_loop_body (0, NULL_TREE, yyvsp[0].node, 0); ;
     break;}
 case 273:
-#line 1423 "./parse.y"
+#line 1424 "./parse.y"
 {YYERROR_NOW; yyerror ("'(' expected"); RECOVER;;
     break;}
 case 274:
-#line 1425 "./parse.y"
+#line 1426 "./parse.y"
 {yyerror ("Missing term and ')' expected"); RECOVER;;
     break;}
 case 275:
-#line 1427 "./parse.y"
+#line 1428 "./parse.y"
 {yyerror ("')' expected"); RECOVER;;
     break;}
 case 276:
-#line 1432 "./parse.y"
+#line 1433 "./parse.y"
 { yyval.node = complete_loop_body (0, NULL_TREE, yyvsp[0].node, 0); ;
     break;}
 case 277:
-#line 1437 "./parse.y"
+#line 1438 "./parse.y"
 { 
                  tree body = build_loop_body (0, NULL_TREE, 1);
                  yyval.node = build_new_loop (body);
                ;
     break;}
 case 278:
-#line 1446 "./parse.y"
+#line 1447 "./parse.y"
 { yyval.node = complete_loop_body (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[-5].node, 1); ;
     break;}
 case 279:
-#line 1451 "./parse.y"
+#line 1452 "./parse.y"
 { yyval.node = complete_for_loop (EXPR_WFL_LINECOL (yyvsp[-4].node), yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node);;
     break;}
 case 280:
-#line 1453 "./parse.y"
+#line 1454 "./parse.y"
 { 
                  yyval.node = complete_for_loop (0, NULL_TREE, yyvsp[-2].node, yyvsp[0].node);
                  /* We have not condition, so we get rid of the EXIT_EXPR */
@@ -3768,23 +3769,23 @@ case 280:
                ;
     break;}
 case 281:
-#line 1460 "./parse.y"
+#line 1461 "./parse.y"
 {yyerror ("Invalid control expression"); RECOVER;;
     break;}
 case 282:
-#line 1462 "./parse.y"
+#line 1463 "./parse.y"
 {yyerror ("Invalid update expression"); RECOVER;;
     break;}
 case 283:
-#line 1464 "./parse.y"
+#line 1465 "./parse.y"
 {yyerror ("Invalid update expression"); RECOVER;;
     break;}
 case 284:
-#line 1469 "./parse.y"
+#line 1470 "./parse.y"
 { yyval.node = complete_for_loop (EXPR_WFL_LINECOL (yyvsp[-4].node), yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node);;
     break;}
 case 285:
-#line 1471 "./parse.y"
+#line 1472 "./parse.y"
 { 
                  yyval.node = complete_for_loop (0, NULL_TREE, yyvsp[-2].node, yyvsp[0].node);
                  /* We have not condition, so we get rid of the EXIT_EXPR */
@@ -3793,7 +3794,7 @@ case 285:
                ;
     break;}
 case 286:
-#line 1481 "./parse.y"
+#line 1482 "./parse.y"
 { 
                  /* This scope defined for local variable that may be
                      defined within the scope of the for loop */
@@ -3801,15 +3802,15 @@ case 286:
                ;
     break;}
 case 287:
-#line 1487 "./parse.y"
+#line 1488 "./parse.y"
 {yyerror ("'(' expected"); DRECOVER(for_1);;
     break;}
 case 288:
-#line 1489 "./parse.y"
+#line 1490 "./parse.y"
 {yyerror ("Invalid init statement"); RECOVER;;
     break;}
 case 289:
-#line 1494 "./parse.y"
+#line 1495 "./parse.y"
 { 
                  /* We now declare the loop body. The loop is
                      declared as a for loop. */
@@ -3822,11 +3823,11 @@ case 289:
                ;
     break;}
 case 290:
-#line 1506 "./parse.y"
+#line 1507 "./parse.y"
 { yyval.node = empty_stmt_node; ;
     break;}
 case 291:
-#line 1508 "./parse.y"
+#line 1509 "./parse.y"
 { 
                  /* Init statement recorded within the previously
                      defined block scope */
@@ -3834,7 +3835,7 @@ case 291:
                ;
     break;}
 case 292:
-#line 1514 "./parse.y"
+#line 1515 "./parse.y"
 { 
                  /* Local variable are recorded within the previously
                     defined block scope */
@@ -3842,94 +3843,94 @@ case 292:
                ;
     break;}
 case 293:
-#line 1520 "./parse.y"
+#line 1521 "./parse.y"
 {yyerror ("';' expected"); DRECOVER(for_init_1);;
     break;}
 case 294:
-#line 1524 "./parse.y"
+#line 1525 "./parse.y"
 {yyval.node = empty_stmt_node;;
     break;}
 case 295:
-#line 1526 "./parse.y"
+#line 1527 "./parse.y"
 { yyval.node = build_debugable_stmt (BUILD_LOCATION (), yyvsp[0].node); ;
     break;}
 case 296:
-#line 1531 "./parse.y"
+#line 1532 "./parse.y"
 { yyval.node = add_stmt_to_compound (NULL_TREE, NULL_TREE, yyvsp[0].node); ;
     break;}
 case 297:
-#line 1533 "./parse.y"
+#line 1534 "./parse.y"
 { yyval.node = add_stmt_to_compound (yyvsp[-2].node, NULL_TREE, yyvsp[0].node); ;
     break;}
 case 298:
-#line 1535 "./parse.y"
+#line 1536 "./parse.y"
 {yyerror ("Missing term"); RECOVER;;
     break;}
 case 299:
-#line 1540 "./parse.y"
+#line 1541 "./parse.y"
 { yyval.node = build_bc_statement (yyvsp[-1].operator.location, 1, NULL_TREE); ;
     break;}
 case 300:
-#line 1542 "./parse.y"
+#line 1543 "./parse.y"
 { yyval.node = build_bc_statement (yyvsp[-2].operator.location, 1, yyvsp[-1].node); ;
     break;}
 case 301:
-#line 1544 "./parse.y"
+#line 1545 "./parse.y"
 {yyerror ("Missing term"); RECOVER;;
     break;}
 case 302:
-#line 1546 "./parse.y"
+#line 1547 "./parse.y"
 {yyerror ("';' expected"); RECOVER;;
     break;}
 case 303:
-#line 1551 "./parse.y"
+#line 1552 "./parse.y"
 { yyval.node = build_bc_statement (yyvsp[-1].operator.location, 0, NULL_TREE); ;
     break;}
 case 304:
-#line 1553 "./parse.y"
+#line 1554 "./parse.y"
 { yyval.node = build_bc_statement (yyvsp[-2].operator.location, 0, yyvsp[-1].node); ;
     break;}
 case 305:
-#line 1555 "./parse.y"
+#line 1556 "./parse.y"
 {yyerror ("Missing term"); RECOVER;;
     break;}
 case 306:
-#line 1557 "./parse.y"
+#line 1558 "./parse.y"
 {yyerror ("';' expected"); RECOVER;;
     break;}
 case 307:
-#line 1562 "./parse.y"
+#line 1563 "./parse.y"
 { yyval.node = build_return (yyvsp[-1].operator.location, NULL_TREE); ;
     break;}
 case 308:
-#line 1564 "./parse.y"
+#line 1565 "./parse.y"
 { yyval.node = build_return (yyvsp[-2].operator.location, yyvsp[-1].node); ;
     break;}
 case 309:
-#line 1566 "./parse.y"
+#line 1567 "./parse.y"
 {yyerror ("Missing term"); RECOVER;;
     break;}
 case 310:
-#line 1568 "./parse.y"
+#line 1569 "./parse.y"
 {yyerror ("';' expected"); RECOVER;;
     break;}
 case 311:
-#line 1573 "./parse.y"
+#line 1574 "./parse.y"
 { 
                  yyval.node = build1 (THROW_EXPR, NULL_TREE, yyvsp[-1].node);
                  EXPR_WFL_LINECOL (yyval.node) = yyvsp[-2].operator.location;
                ;
     break;}
 case 312:
-#line 1578 "./parse.y"
+#line 1579 "./parse.y"
 {yyerror ("Missing term"); RECOVER;;
     break;}
 case 313:
-#line 1580 "./parse.y"
+#line 1581 "./parse.y"
 {yyerror ("';' expected"); RECOVER;;
     break;}
 case 314:
-#line 1585 "./parse.y"
+#line 1586 "./parse.y"
 { 
                  yyval.node = build (SYNCHRONIZED_EXPR, NULL_TREE, yyvsp[-2].node, yyvsp[0].node);
                  EXPR_WFL_LINECOL (yyval.node) = 
@@ -3937,53 +3938,53 @@ case 314:
                ;
     break;}
 case 315:
-#line 1591 "./parse.y"
+#line 1592 "./parse.y"
 {yyerror ("'{' expected"); RECOVER;;
     break;}
 case 316:
-#line 1593 "./parse.y"
+#line 1594 "./parse.y"
 {yyerror ("'(' expected"); RECOVER;;
     break;}
 case 317:
-#line 1595 "./parse.y"
+#line 1596 "./parse.y"
 {yyerror ("Missing term"); RECOVER;;
     break;}
 case 318:
-#line 1597 "./parse.y"
+#line 1598 "./parse.y"
 {yyerror ("Missing term"); RECOVER;;
     break;}
 case 319:
-#line 1602 "./parse.y"
+#line 1603 "./parse.y"
 {
                  if ((1 << yyvsp[0].value) != ACC_SYNCHRONIZED)
                    fatal ("synchronized was '%d' - yyparse", (1 << yyvsp[0].value));
                ;
     break;}
 case 320:
-#line 1610 "./parse.y"
+#line 1611 "./parse.y"
 { yyval.node = build_try_statement (yyvsp[-2].operator.location, yyvsp[-1].node, yyvsp[0].node, NULL_TREE); ;
     break;}
 case 321:
-#line 1612 "./parse.y"
+#line 1613 "./parse.y"
 { yyval.node = build_try_statement (yyvsp[-2].operator.location, yyvsp[-1].node, NULL_TREE, yyvsp[0].node); ;
     break;}
 case 322:
-#line 1614 "./parse.y"
+#line 1615 "./parse.y"
 { yyval.node = build_try_statement (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node); ;
     break;}
 case 323:
-#line 1616 "./parse.y"
+#line 1617 "./parse.y"
 {yyerror ("'{' expected"); DRECOVER (try_statement);;
     break;}
 case 325:
-#line 1622 "./parse.y"
+#line 1623 "./parse.y"
 { 
                  TREE_CHAIN (yyvsp[0].node) = yyvsp[-1].node;
                  yyval.node = yyvsp[0].node;
                ;
     break;}
 case 326:
-#line 1630 "./parse.y"
+#line 1631 "./parse.y"
 { 
                  java_method_add_stmt (current_function_decl, yyvsp[0].node);
                  exit_block ();
@@ -3991,7 +3992,7 @@ case 326:
                ;
     break;}
 case 327:
-#line 1638 "./parse.y"
+#line 1639 "./parse.y"
 { 
                  /* We add a block to define a scope for
                     formal_parameter (CCBP). The formal parameter is
@@ -4009,179 +4010,179 @@ case 327:
                ;
     break;}
 case 328:
-#line 1654 "./parse.y"
+#line 1655 "./parse.y"
 {yyerror ("'(' expected"); RECOVER;;
     break;}
 case 329:
-#line 1656 "./parse.y"
+#line 1657 "./parse.y"
 {yyerror ("Missing term or ')' expected"); DRECOVER (2);;
     break;}
 case 330:
-#line 1658 "./parse.y"
+#line 1659 "./parse.y"
 {yyerror ("')' expected"); DRECOVER (1);;
     break;}
 case 331:
-#line 1663 "./parse.y"
+#line 1664 "./parse.y"
 { 
                  yyval.node = build (FINALLY_EXPR, NULL_TREE,
                              create_label_decl (generate_name ()), yyvsp[0].node);
                ;
     break;}
 case 332:
-#line 1668 "./parse.y"
+#line 1669 "./parse.y"
 {yyerror ("'{' expected"); RECOVER; ;
     break;}
 case 336:
-#line 1680 "./parse.y"
+#line 1681 "./parse.y"
 { yyval.node = build_this (yyvsp[0].operator.location); ;
     break;}
 case 337:
-#line 1682 "./parse.y"
+#line 1683 "./parse.y"
 {yyval.node = yyvsp[-1].node;;
     break;}
 case 342:
-#line 1691 "./parse.y"
+#line 1692 "./parse.y"
 { yyval.node = parse_jdk1_1_error ("named class literals"); ;
     break;}
 case 343:
-#line 1693 "./parse.y"
+#line 1694 "./parse.y"
 { yyval.node = build_class_ref (yyvsp[-2].node); ;
     break;}
 case 344:
-#line 1695 "./parse.y"
+#line 1696 "./parse.y"
 { yyval.node = build_class_ref (void_type_node); ;
     break;}
 case 345:
-#line 1700 "./parse.y"
+#line 1701 "./parse.y"
 { yyval.node = parse_jdk1_1_error ("class literals"); ;
     break;}
 case 346:
-#line 1702 "./parse.y"
+#line 1703 "./parse.y"
 {yyerror ("')' expected"); RECOVER;;
     break;}
 case 347:
-#line 1704 "./parse.y"
+#line 1705 "./parse.y"
 {yyerror ("'class' or 'this' expected" ); RECOVER;;
     break;}
 case 348:
-#line 1706 "./parse.y"
+#line 1707 "./parse.y"
 {yyerror ("'class' expected" ); RECOVER;;
     break;}
 case 349:
-#line 1708 "./parse.y"
+#line 1709 "./parse.y"
 {yyerror ("'class' expected" ); RECOVER;;
     break;}
 case 350:
-#line 1713 "./parse.y"
+#line 1714 "./parse.y"
 { yyval.node = build_new_invocation (yyvsp[-3].node, yyvsp[-1].node); ;
     break;}
 case 351:
-#line 1715 "./parse.y"
+#line 1716 "./parse.y"
 { yyval.node = build_new_invocation (yyvsp[-2].node, NULL_TREE); ;
     break;}
 case 352:
-#line 1720 "./parse.y"
+#line 1721 "./parse.y"
 { yyval.node = parse_jdk1_1_error ("inner class instance creation"); ;
     break;}
 case 353:
-#line 1722 "./parse.y"
+#line 1723 "./parse.y"
 { yyval.node = parse_jdk1_1_error ("inner class instance creation"); ;
     break;}
 case 358:
-#line 1731 "./parse.y"
+#line 1732 "./parse.y"
 {yyerror ("'(' expected"); DRECOVER(new_1);;
     break;}
 case 359:
-#line 1733 "./parse.y"
+#line 1734 "./parse.y"
 {yyerror ("'(' expected"); RECOVER;;
     break;}
 case 360:
-#line 1735 "./parse.y"
+#line 1736 "./parse.y"
 {yyerror ("')' or term expected"); RECOVER;;
     break;}
 case 361:
-#line 1737 "./parse.y"
+#line 1738 "./parse.y"
 {yyerror ("')' expected"); RECOVER;;
     break;}
 case 362:
-#line 1739 "./parse.y"
+#line 1740 "./parse.y"
 {YYERROR_NOW; yyerror ("Identifier expected"); RECOVER;;
     break;}
 case 363:
-#line 1741 "./parse.y"
+#line 1742 "./parse.y"
 {yyerror ("'(' expected"); RECOVER;;
     break;}
 case 366:
-#line 1751 "./parse.y"
+#line 1752 "./parse.y"
 { 
                  yyval.node = tree_cons (NULL_TREE, yyvsp[0].node, NULL_TREE);
                  ctxp->formal_parameter_number = 1; 
                ;
     break;}
 case 367:
-#line 1756 "./parse.y"
+#line 1757 "./parse.y"
 {
                  ctxp->formal_parameter_number += 1;
                  yyval.node = tree_cons (NULL_TREE, yyvsp[0].node, yyvsp[-2].node);
                ;
     break;}
 case 368:
-#line 1761 "./parse.y"
+#line 1762 "./parse.y"
 {yyerror ("Missing term"); RECOVER;;
     break;}
 case 369:
-#line 1766 "./parse.y"
+#line 1767 "./parse.y"
 { yyval.node = build_newarray_node (yyvsp[-1].node, yyvsp[0].node, 0); ;
     break;}
 case 370:
-#line 1768 "./parse.y"
+#line 1769 "./parse.y"
 { yyval.node = build_newarray_node (yyvsp[-1].node, yyvsp[0].node, 0); ;
     break;}
 case 371:
-#line 1770 "./parse.y"
+#line 1771 "./parse.y"
 { yyval.node = build_newarray_node (yyvsp[-2].node, yyvsp[-1].node, CURRENT_OSB (ctxp));;
     break;}
 case 372:
-#line 1772 "./parse.y"
+#line 1773 "./parse.y"
 { yyval.node = build_newarray_node (yyvsp[-2].node, yyvsp[-1].node, CURRENT_OSB (ctxp));;
     break;}
 case 373:
-#line 1776 "./parse.y"
+#line 1777 "./parse.y"
 { yyval.node = parse_jdk1_1_error ("anonymous array"); ;
     break;}
 case 374:
-#line 1778 "./parse.y"
+#line 1779 "./parse.y"
 { yyval.node = parse_jdk1_1_error ("anonymous array"); ;
     break;}
 case 375:
-#line 1780 "./parse.y"
+#line 1781 "./parse.y"
 {yyerror ("'[' expected"); DRECOVER ("]");;
     break;}
 case 376:
-#line 1782 "./parse.y"
+#line 1783 "./parse.y"
 {yyerror ("']' expected"); RECOVER;;
     break;}
 case 377:
-#line 1787 "./parse.y"
+#line 1788 "./parse.y"
 { yyval.node = build_tree_list (NULL_TREE, yyvsp[0].node); ;
     break;}
 case 378:
-#line 1789 "./parse.y"
+#line 1790 "./parse.y"
 { yyval.node = tree_cons (NULL_TREE, yyvsp[0].node, yyval.node); ;
     break;}
 case 379:
-#line 1794 "./parse.y"
+#line 1795 "./parse.y"
 { 
                  EXPR_WFL_LINECOL (yyvsp[-1].node) = yyvsp[-2].operator.location;
                  yyval.node = yyvsp[-1].node;
                ;
     break;}
 case 380:
-#line 1799 "./parse.y"
+#line 1800 "./parse.y"
 {yyerror ("']' expected"); RECOVER;;
     break;}
 case 381:
-#line 1801 "./parse.y"
+#line 1802 "./parse.y"
 {
                  yyerror ("Missing term");
                  yyerror ("']' expected");
@@ -4189,7 +4190,7 @@ case 381:
                ;
     break;}
 case 382:
-#line 1810 "./parse.y"
+#line 1811 "./parse.y"
 { 
                  int allocate = 0;
                  /* If not initialized, allocate memory for the osb
@@ -4217,19 +4218,19 @@ case 382:
                ;
     break;}
 case 383:
-#line 1836 "./parse.y"
+#line 1837 "./parse.y"
 { CURRENT_OSB (ctxp)++; ;
     break;}
 case 384:
-#line 1838 "./parse.y"
+#line 1839 "./parse.y"
 { yyerror ("']' expected"); RECOVER;;
     break;}
 case 385:
-#line 1843 "./parse.y"
+#line 1844 "./parse.y"
 { yyval.node = make_qualified_primary (yyvsp[-2].node, yyvsp[0].node, yyvsp[-1].operator.location); ;
     break;}
 case 386:
-#line 1847 "./parse.y"
+#line 1848 "./parse.y"
 {
                  tree super_wfl = 
                    build_wfl_node (super_identifier_node, 
@@ -4239,19 +4240,19 @@ case 386:
                ;
     break;}
 case 387:
-#line 1855 "./parse.y"
+#line 1856 "./parse.y"
 {yyerror ("Field expected"); DRECOVER (super_field_acces);;
     break;}
 case 388:
-#line 1860 "./parse.y"
+#line 1861 "./parse.y"
 { yyval.node = build_method_invocation (yyvsp[-2].node, NULL_TREE); ;
     break;}
 case 389:
-#line 1862 "./parse.y"
+#line 1863 "./parse.y"
 { yyval.node = build_method_invocation (yyvsp[-3].node, yyvsp[-1].node); ;
     break;}
 case 390:
-#line 1864 "./parse.y"
+#line 1865 "./parse.y"
 { 
                  if (TREE_CODE (yyvsp[-4].node) == THIS_EXPR)
                    yyval.node = build_this_super_qualified_invocation 
@@ -4264,7 +4265,7 @@ case 390:
                ;
     break;}
 case 391:
-#line 1875 "./parse.y"
+#line 1876 "./parse.y"
 { 
                  if (TREE_CODE (yyvsp[-5].node) == THIS_EXPR)
                    yyval.node = build_this_super_qualified_invocation 
@@ -4277,121 +4278,121 @@ case 391:
                ;
     break;}
 case 392:
-#line 1886 "./parse.y"
+#line 1887 "./parse.y"
 { 
                  yyval.node = build_this_super_qualified_invocation 
                    (0, yyvsp[-2].node, NULL_TREE, yyvsp[-4].operator.location, yyvsp[-3].operator.location);
                ;
     break;}
 case 393:
-#line 1891 "./parse.y"
+#line 1892 "./parse.y"
 {
                  yyval.node = build_this_super_qualified_invocation 
                    (0, yyvsp[-3].node, yyvsp[-1].node, yyvsp[-5].operator.location, yyvsp[-4].operator.location);
                ;
     break;}
 case 394:
-#line 1900 "./parse.y"
+#line 1901 "./parse.y"
 { yyerror ("'(' expected"); DRECOVER (method_invocation); ;
     break;}
 case 395:
-#line 1902 "./parse.y"
+#line 1903 "./parse.y"
 { yyerror ("'(' expected"); DRECOVER (method_invocation); ;
     break;}
 case 396:
-#line 1907 "./parse.y"
+#line 1908 "./parse.y"
 { yyval.node = build_array_ref (yyvsp[-2].operator.location, yyvsp[-3].node, yyvsp[-1].node); ;
     break;}
 case 397:
-#line 1909 "./parse.y"
+#line 1910 "./parse.y"
 { yyval.node = build_array_ref (yyvsp[-2].operator.location, yyvsp[-3].node, yyvsp[-1].node); ;
     break;}
 case 398:
-#line 1911 "./parse.y"
+#line 1912 "./parse.y"
 {
                  yyerror ("Missing term and ']' expected");
                  DRECOVER(array_access);
                ;
     break;}
 case 399:
-#line 1916 "./parse.y"
+#line 1917 "./parse.y"
 {
                  yyerror ("']' expected");
                  DRECOVER(array_access);
                ;
     break;}
 case 400:
-#line 1921 "./parse.y"
+#line 1922 "./parse.y"
 {
                  yyerror ("Missing term and ']' expected");
                  DRECOVER(array_access);
                ;
     break;}
 case 401:
-#line 1926 "./parse.y"
+#line 1927 "./parse.y"
 {
                  yyerror ("']' expected");
                  DRECOVER(array_access);
                ;
     break;}
 case 406:
-#line 1941 "./parse.y"
+#line 1942 "./parse.y"
 { yyval.node = build_incdec (yyvsp[0].operator.token, yyvsp[0].operator.location, yyvsp[-1].node, 1); ;
     break;}
 case 407:
-#line 1946 "./parse.y"
+#line 1947 "./parse.y"
 { yyval.node = build_incdec (yyvsp[0].operator.token, yyvsp[0].operator.location, yyvsp[-1].node, 1); ;
     break;}
 case 410:
-#line 1953 "./parse.y"
+#line 1954 "./parse.y"
 {yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ;
     break;}
 case 411:
-#line 1955 "./parse.y"
+#line 1956 "./parse.y"
 {yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ;
     break;}
 case 413:
-#line 1958 "./parse.y"
+#line 1959 "./parse.y"
 {yyerror ("Missing term"); RECOVER;
     break;}
 case 414:
-#line 1960 "./parse.y"
+#line 1961 "./parse.y"
 {yyerror ("Missing term"); RECOVER;
     break;}
 case 415:
-#line 1965 "./parse.y"
+#line 1966 "./parse.y"
 {yyval.node = build_incdec (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node, 0); ;
     break;}
 case 416:
-#line 1967 "./parse.y"
+#line 1968 "./parse.y"
 {yyerror ("Missing term"); RECOVER;
     break;}
 case 417:
-#line 1972 "./parse.y"
+#line 1973 "./parse.y"
 {yyval.node = build_incdec (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node, 0); ;
     break;}
 case 418:
-#line 1974 "./parse.y"
+#line 1975 "./parse.y"
 {yyerror ("Missing term"); RECOVER;
     break;}
 case 420:
-#line 1980 "./parse.y"
+#line 1981 "./parse.y"
 {yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ;
     break;}
 case 421:
-#line 1982 "./parse.y"
+#line 1983 "./parse.y"
 {yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ;
     break;}
 case 423:
-#line 1985 "./parse.y"
+#line 1986 "./parse.y"
 {yyerror ("Missing term"); RECOVER;
     break;}
 case 424:
-#line 1987 "./parse.y"
+#line 1988 "./parse.y"
 {yyerror ("Missing term"); RECOVER;
     break;}
 case 425:
-#line 1992 "./parse.y"
+#line 1993 "./parse.y"
 { 
                  tree type = yyvsp[-3].node;
                  while (CURRENT_OSB (ctxp)--)
@@ -4401,15 +4402,15 @@ case 425:
                ;
     break;}
 case 426:
-#line 2000 "./parse.y"
+#line 2001 "./parse.y"
 { yyval.node = build_cast (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[0].node); ;
     break;}
 case 427:
-#line 2002 "./parse.y"
+#line 2003 "./parse.y"
 { yyval.node = build_cast (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[0].node); ;
     break;}
 case 428:
-#line 2004 "./parse.y"
+#line 2005 "./parse.y"
 { 
                  char *ptr;
                  while (CURRENT_OSB (ctxp)--)
@@ -4424,11 +4425,11 @@ case 428:
                ;
     break;}
 case 429:
-#line 2017 "./parse.y"
+#line 2018 "./parse.y"
 {yyerror ("']' expected, invalid type expression");;
     break;}
 case 430:
-#line 2019 "./parse.y"
+#line 2020 "./parse.y"
 {
                  if (ctxp->prevent_ese != lineno)
                    yyerror ("Invalid type expression"); RECOVER;
@@ -4436,243 +4437,243 @@ case 430:
                ;
     break;}
 case 431:
-#line 2025 "./parse.y"
+#line 2026 "./parse.y"
 {yyerror ("Missing term"); RECOVER;;
     break;}
 case 432:
-#line 2027 "./parse.y"
+#line 2028 "./parse.y"
 {yyerror ("Missing term"); RECOVER;;
     break;}
 case 433:
-#line 2029 "./parse.y"
+#line 2030 "./parse.y"
 {yyerror ("Missing term"); RECOVER;;
     break;}
 case 435:
-#line 2035 "./parse.y"
+#line 2036 "./parse.y"
 { 
                  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), 
                                    yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node);
                ;
     break;}
 case 436:
-#line 2040 "./parse.y"
+#line 2041 "./parse.y"
 {
                  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
                                    yyvsp[-2].node, yyvsp[0].node); 
                ;
     break;}
 case 437:
-#line 2045 "./parse.y"
+#line 2046 "./parse.y"
 {
                  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
                                    yyvsp[-2].node, yyvsp[0].node); 
                ;
     break;}
 case 438:
-#line 2050 "./parse.y"
+#line 2051 "./parse.y"
 {yyerror ("Missing term"); RECOVER;;
     break;}
 case 439:
-#line 2052 "./parse.y"
+#line 2053 "./parse.y"
 {yyerror ("Missing term"); RECOVER;;
     break;}
 case 440:
-#line 2054 "./parse.y"
+#line 2055 "./parse.y"
 {yyerror ("Missing term"); RECOVER;;
     break;}
 case 442:
-#line 2060 "./parse.y"
+#line 2061 "./parse.y"
 {
                  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
                                    yyvsp[-2].node, yyvsp[0].node); 
                ;
     break;}
 case 443:
-#line 2065 "./parse.y"
+#line 2066 "./parse.y"
 {
                  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
                                    yyvsp[-2].node, yyvsp[0].node); 
                ;
     break;}
 case 444:
-#line 2070 "./parse.y"
+#line 2071 "./parse.y"
 {yyerror ("Missing term"); RECOVER;;
     break;}
 case 445:
-#line 2072 "./parse.y"
+#line 2073 "./parse.y"
 {yyerror ("Missing term"); RECOVER;;
     break;}
 case 447:
-#line 2078 "./parse.y"
+#line 2079 "./parse.y"
 {
                  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
                                    yyvsp[-2].node, yyvsp[0].node); 
                ;
     break;}
 case 448:
-#line 2083 "./parse.y"
+#line 2084 "./parse.y"
 {
                  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
                                    yyvsp[-2].node, yyvsp[0].node); 
                ;
     break;}
 case 449:
-#line 2088 "./parse.y"
+#line 2089 "./parse.y"
 {
                  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
                                    yyvsp[-2].node, yyvsp[0].node); 
                ;
     break;}
 case 450:
-#line 2093 "./parse.y"
+#line 2094 "./parse.y"
 {yyerror ("Missing term"); RECOVER;;
     break;}
 case 451:
-#line 2095 "./parse.y"
+#line 2096 "./parse.y"
 {yyerror ("Missing term"); RECOVER;;
     break;}
 case 452:
-#line 2097 "./parse.y"
+#line 2098 "./parse.y"
 {yyerror ("Missing term"); RECOVER;;
     break;}
 case 454:
-#line 2103 "./parse.y"
+#line 2104 "./parse.y"
 {
                  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
                                    yyvsp[-2].node, yyvsp[0].node); 
                ;
     break;}
 case 455:
-#line 2108 "./parse.y"
+#line 2109 "./parse.y"
 {
                  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
                                    yyvsp[-2].node, yyvsp[0].node); 
                ;
     break;}
 case 456:
-#line 2113 "./parse.y"
+#line 2114 "./parse.y"
 {
                  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
                                    yyvsp[-2].node, yyvsp[0].node); 
                ;
     break;}
 case 457:
-#line 2118 "./parse.y"
+#line 2119 "./parse.y"
 {
                  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
                                    yyvsp[-2].node, yyvsp[0].node); 
                ;
     break;}
 case 458:
-#line 2123 "./parse.y"
+#line 2124 "./parse.y"
 { yyval.node = build_binop (INSTANCEOF_EXPR, yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ;
     break;}
 case 459:
-#line 2125 "./parse.y"
+#line 2126 "./parse.y"
 {yyerror ("Missing term"); RECOVER;;
     break;}
 case 460:
-#line 2127 "./parse.y"
+#line 2128 "./parse.y"
 {yyerror ("Missing term"); RECOVER;;
     break;}
 case 461:
-#line 2129 "./parse.y"
+#line 2130 "./parse.y"
 {yyerror ("Missing term"); RECOVER;;
     break;}
 case 462:
-#line 2131 "./parse.y"
+#line 2132 "./parse.y"
 {yyerror ("Missing term"); RECOVER;;
     break;}
 case 463:
-#line 2133 "./parse.y"
+#line 2134 "./parse.y"
 {yyerror ("Invalid reference type"); RECOVER;;
     break;}
 case 465:
-#line 2139 "./parse.y"
+#line 2140 "./parse.y"
 {
                  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
                                    yyvsp[-2].node, yyvsp[0].node); 
                ;
     break;}
 case 466:
-#line 2144 "./parse.y"
+#line 2145 "./parse.y"
 {
                  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
                                    yyvsp[-2].node, yyvsp[0].node); 
                ;
     break;}
 case 467:
-#line 2149 "./parse.y"
+#line 2150 "./parse.y"
 {yyerror ("Missing term"); RECOVER;;
     break;}
 case 468:
-#line 2151 "./parse.y"
+#line 2152 "./parse.y"
 {yyerror ("Missing term"); RECOVER;;
     break;}
 case 470:
-#line 2157 "./parse.y"
+#line 2158 "./parse.y"
 {
                  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
                                    yyvsp[-2].node, yyvsp[0].node); 
                ;
     break;}
 case 471:
-#line 2162 "./parse.y"
+#line 2163 "./parse.y"
 {yyerror ("Missing term"); RECOVER;;
     break;}
 case 473:
-#line 2168 "./parse.y"
+#line 2169 "./parse.y"
 {
                  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
                                    yyvsp[-2].node, yyvsp[0].node); 
                ;
     break;}
 case 474:
-#line 2173 "./parse.y"
+#line 2174 "./parse.y"
 {yyerror ("Missing term"); RECOVER;;
     break;}
 case 476:
-#line 2179 "./parse.y"
+#line 2180 "./parse.y"
 {
                  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
                                    yyvsp[-2].node, yyvsp[0].node); 
                ;
     break;}
 case 477:
-#line 2184 "./parse.y"
+#line 2185 "./parse.y"
 {yyerror ("Missing term"); RECOVER;;
     break;}
 case 479:
-#line 2190 "./parse.y"
+#line 2191 "./parse.y"
 {
                  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
                                    yyvsp[-2].node, yyvsp[0].node); 
                ;
     break;}
 case 480:
-#line 2195 "./parse.y"
+#line 2196 "./parse.y"
 {yyerror ("Missing term"); RECOVER;;
     break;}
 case 482:
-#line 2201 "./parse.y"
+#line 2202 "./parse.y"
 {
                  yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
                                    yyvsp[-2].node, yyvsp[0].node); 
                ;
     break;}
 case 483:
-#line 2206 "./parse.y"
+#line 2207 "./parse.y"
 {yyerror ("Missing term"); RECOVER;;
     break;}
 case 485:
-#line 2212 "./parse.y"
+#line 2213 "./parse.y"
 {
                  yyval.node = build (CONDITIONAL_EXPR, NULL_TREE, yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node);
                  EXPR_WFL_LINECOL (yyval.node) = yyvsp[-3].operator.location;
                ;
     break;}
 case 486:
-#line 2217 "./parse.y"
+#line 2218 "./parse.y"
 {
                  YYERROR_NOW;
                  yyerror ("Missing term");
@@ -4680,19 +4681,19 @@ case 486:
                ;
     break;}
 case 487:
-#line 2223 "./parse.y"
+#line 2224 "./parse.y"
 {yyerror ("Missing term"); DRECOVER (2);;
     break;}
 case 488:
-#line 2225 "./parse.y"
+#line 2226 "./parse.y"
 {yyerror ("Missing term"); DRECOVER (3);;
     break;}
 case 491:
-#line 2235 "./parse.y"
+#line 2236 "./parse.y"
 { yyval.node = build_assignment (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ;
     break;}
 case 492:
-#line 2237 "./parse.y"
+#line 2238 "./parse.y"
 {
                  if (ctxp->prevent_ese != lineno)
                    yyerror ("Missing term");
@@ -4701,7 +4702,7 @@ case 492:
     break;}
 }
    /* the action file gets copied in in place of this dollarsign */
-#line 498 "/usr/cygnus/gnupro-98r2/share/bison.simple"
+#line 498 "/usr/local/gnu/share/bison.simple"
 \f
   yyvsp -= yylen;
   yyssp -= yylen;
@@ -4897,7 +4898,7 @@ yyerrhandle:
   yystate = yyn;
   goto yynewstate;
 }
-#line 2263 "./parse.y"
+#line 2264 "./parse.y"
 
 \f
 
@@ -5085,7 +5086,7 @@ yyerror (msg)
 static void
 issue_warning_error_from_context (cl, msg, ap)
      tree cl;
-     char *msg;
+     const char *msg;
      va_list ap;
 {
   char *saved, *saved_input_filename;
@@ -5113,18 +5114,18 @@ issue_warning_error_from_context (cl, msg, ap)
 /* Issue an error message at a current source line CL */
 
 void
-parse_error_context VPROTO ((tree cl, char *msg, ...))
+parse_error_context VPROTO ((tree cl, const char *msg, ...))
 {
-#ifndef __STDC__
+#ifndef ANSI_PROTOTYPES
   tree cl;
-  char *msg;
+  const char *msg;
 #endif
   va_list ap;
 
   VA_START (ap, msg);
-#ifndef __STDC__
+#ifndef ANSI_PROTOTYPES
   cl = va_arg (ap, tree);
-  msg = va_arg (ap, char *);
+  msg = va_arg (ap, const char *);
 #endif
   issue_warning_error_from_context (cl, msg, ap);
   va_end (ap);
@@ -5133,18 +5134,18 @@ parse_error_context VPROTO ((tree cl, char *msg, ...))
 /* Issue a warning at a current source line CL */
 
 static void
-parse_warning_context VPROTO ((tree cl, char *msg, ...))
+parse_warning_context VPROTO ((tree cl, const char *msg, ...))
 {
-#ifndef __STDC__
+#ifndef ANSI_PROTOTYPES
   tree cl;
-  char *msg;
+  const char *msg;
 #endif
   va_list ap;
 
   VA_START (ap, msg);
-#ifndef __STDC__
+#ifndef ANSI_PROTOTYPES
   cl = va_arg (ap, tree);
-  msg = va_arg (ap, char *);
+  msg = va_arg (ap, const char *);
 #endif
 
   force_error = do_warning = 1;
@@ -11612,7 +11613,7 @@ patch_binop (node, wfl_op1, wfl_op2)
        {
           tree utype = unsigned_type (prom_type);
           op1 = convert (utype, op1);
-          TREE_SET_CODE (node, RSHIFT_EXPR);
+         TREE_SET_CODE (node, RSHIFT_EXPR);
           TREE_OPERAND (node, 0) = op1;
           TREE_OPERAND (node, 1) = op2;
           TREE_TYPE (node) = utype;
index 7bc1106c0e9118cab97ff272c4169a6469200ea9..73c56b1de74969cd9b1800e23e4fe16e5fa5d185 100644 (file)
@@ -86,8 +86,9 @@ static tree lookup_java_method2 PROTO ((tree, tree, int));
 static tree method_header PROTO ((int, tree, tree, tree));
 static void fix_method_argument_names PROTO ((tree ,tree));
 static tree method_declarator PROTO ((tree, tree));
-static void parse_warning_context VPROTO ((tree cl, char *msg, ...));
-static void issue_warning_error_from_context PROTO ((tree, char *msg, va_list));
+static void parse_warning_context PVPROTO ((tree cl, const char *msg, ...))
+  ATTRIBUTE_PRINTF_2;
+static void issue_warning_error_from_context PROTO ((tree, const char *msg, va_list));
 static tree parse_jdk1_1_error PROTO ((char *));
 static void complete_class_report_errors PROTO ((jdep *));
 static int process_imports PROTO ((void));
@@ -2447,7 +2448,7 @@ yyerror (msg)
 static void
 issue_warning_error_from_context (cl, msg, ap)
      tree cl;
-     char *msg;
+     const char *msg;
      va_list ap;
 {
   char *saved, *saved_input_filename;
@@ -2475,18 +2476,18 @@ issue_warning_error_from_context (cl, msg, ap)
 /* Issue an error message at a current source line CL */
 
 void
-parse_error_context VPROTO ((tree cl, char *msg, ...))
+parse_error_context VPROTO ((tree cl, const char *msg, ...))
 {
-#ifndef __STDC__
+#ifndef ANSI_PROTOTYPES
   tree cl;
-  char *msg;
+  const char *msg;
 #endif
   va_list ap;
 
   VA_START (ap, msg);
-#ifndef __STDC__
+#ifndef ANSI_PROTOTYPES
   cl = va_arg (ap, tree);
-  msg = va_arg (ap, char *);
+  msg = va_arg (ap, const char *);
 #endif
   issue_warning_error_from_context (cl, msg, ap);
   va_end (ap);
@@ -2495,18 +2496,18 @@ parse_error_context VPROTO ((tree cl, char *msg, ...))
 /* Issue a warning at a current source line CL */
 
 static void
-parse_warning_context VPROTO ((tree cl, char *msg, ...))
+parse_warning_context VPROTO ((tree cl, const char *msg, ...))
 {
-#ifndef __STDC__
+#ifndef ANSI_PROTOTYPES
   tree cl;
-  char *msg;
+  const char *msg;
 #endif
   va_list ap;
 
   VA_START (ap, msg);
-#ifndef __STDC__
+#ifndef ANSI_PROTOTYPES
   cl = va_arg (ap, tree);
-  msg = va_arg (ap, char *);
+  msg = va_arg (ap, const char *);
 #endif
 
   force_error = do_warning = 1;
index 6a37d7e92e23c1a80dd925ddeeba44b410bebda5..18ee3748483891f9b2b894c206d51fb5a2501542 100644 (file)
@@ -151,8 +151,8 @@ convert_to_boolean (type, expr)
 
 void
 incomplete_type_error (value, type)
-     tree value;
-     tree type;
+  tree value ATTRIBUTE_UNUSED;
+  tree type ATTRIBUTE_UNUSED;
 {
   error ("internal error - use of undefined type");
 }
@@ -464,7 +464,7 @@ parse_signature_type (ptr, limit)
     case 'Z':  (*ptr)++;  return boolean_type_node;
     case 'V':  (*ptr)++;  return void_type_node;
     case '[':
-      for ((*ptr)++; (*ptr) < limit && isdigit (**ptr); ) (*ptr)++;
+      for ((*ptr)++; (*ptr) < limit && ISDIGIT (**ptr); ) (*ptr)++;
       type = parse_signature_type (ptr, limit);
       type = build_java_array_type (type, -1); 
       break;
index 7f07319c7e1a132e2f8bcbcf5a278326a558c81c..dfbddb2a69b0f72b974371193c234191f57db0bf 100644 (file)
@@ -61,7 +61,7 @@ push_pending_label (target_label)
    Merge the type state etc.
    Return NULL on sucess, or an error message on failure. */
 
-static char *
+static const char *
 check_pending_block (target_label)
      tree target_label;
 {
@@ -332,7 +332,7 @@ verify_jvm_instructions (jcf, byte_ops, length)
   int PC;
   int oldpc; /* PC of start of instruction. */
   int prevpc;  /* If >= 0, PC of previous instruction. */
-  char *message;
+  const char *message;
   int i;
   register unsigned char *p;
   struct eh_range *prev_eh_ranges = NULL_EH_RANGE;
@@ -724,7 +724,6 @@ verify_jvm_instructions (jcf, byte_ops, length)
            int index = IMMEDIATE_u2;
            tree self_type = get_class_constant
              (jcf, COMPONENT_REF_CLASS_INDEX (&current_jcf->cpool, index));
-           tree field_name = COMPONENT_REF_NAME (&current_jcf->cpool, index);
            tree field_signature = COMPONENT_REF_SIGNATURE (&current_jcf->cpool, index);
            tree field_type = get_type_from_signature (field_signature);
            if (is_putting)
@@ -963,7 +962,7 @@ verify_jvm_instructions (jcf, byte_ops, length)
 
        case OPCODE_tableswitch:
          {
-           jint default_val, low, high;
+           jint low, high;
 
            pop_type (int_type_node);
            while (PC%4)
index 39bb06c12517ff665a124e5562484f5618df6731..10cf18dd32d0d9f7f2a4351b6556384dc128e2f1 100644 (file)
@@ -25,19 +25,14 @@ The Free Software Foundation is independent of Sun Microsystems, Inc.  */
 
 /* Written by Per Bothner <bothner@cygnus.com>, February 1996. */
 
+#include "config.h"
+#include "system.h"
 #include "zipfile.h"
 
-
 /* This stuff is partly based on the 28 August 1994 public release of the
 Info-ZIP group's portable UnZip zipfile-extraction program (and related
 utilities). */
 
-#include <stdio.h>
-#ifdef __STDC__
-#include <stdlib.h>
-#endif
-#include <errno.h>       /* used in mapname() */
-
 /*************/
 /*  Defines  */
 /*************/
index bc90e586ee0360e4d5170334f66a2f464974ef17..0d955a30bb958d85a10e50c24715c37f53097b1c 100644 (file)
@@ -58,3 +58,4 @@ extern struct ZipFileCache *SeenZipFiles;
 #define ZIPMAGIC 0x504b0304    
 
 extern ZipFile * opendir_in_zip ();
+extern int read_zip_archive PROTO ((ZipFile *));