changed.
* expr.c (build_java_athrow): Change return type to void.
(java_lang_expand_expr): Make sure each case in switch returns a
value.
* java-tree.h (finish_class): Fix prototype to take void args.
* jcf-dump.c (usage): Mark with ATTRIBUTE_NORETURN.
(main): Issue return from main, not exit.
* jcf-parse.c (parse_class_file): Fix call to `finish_class'.
* jcf.h (jcf_unexpected_eof): Mark with ATTRIBUTE_NORETURN.
* jv-scan.c (main): Issue return from main, not exit.
* parse.y (check_abstract_method_definitions,
java_check_abstract_method_definitions): Add static prototypes.
(java_complete_expand_methods): Fix call to `finish_class'.
* verify.c (verify_jvm_instructions): Initialize variables `oldpc'
and `prevpc'.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29065
138bc75d-0d04-0410-961f-
82ee72b054a4
+1999-09-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * class.c (finish_class): Remove unused parameter, all callers
+ changed.
+
+ * expr.c (build_java_athrow): Change return type to void.
+ (java_lang_expand_expr): Make sure each case in switch returns a
+ value.
+
+ * java-tree.h (finish_class): Fix prototype to take void args.
+
+ * jcf-dump.c (usage): Mark with ATTRIBUTE_NORETURN.
+ (main): Issue return from main, not exit.
+
+ * jcf-parse.c (parse_class_file): Fix call to `finish_class'.
+
+ * jcf.h (jcf_unexpected_eof): Mark with ATTRIBUTE_NORETURN.
+
+ * jv-scan.c (main): Issue return from main, not exit.
+
+ * parse.y (check_abstract_method_definitions,
+ java_check_abstract_method_definitions): Add static prototypes.
+ (java_complete_expand_methods): Fix call to `finish_class'.
+
+ * verify.c (verify_jvm_instructions): Initialize variables `oldpc'
+ and `prevpc'.
+
1999-08-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* lang.c (language_string): Constify.
}
void
-finish_class (cl)
- tree cl;
+finish_class ()
{
tree method;
tree type_methods = TYPE_METHODS (CLASS_TO_HANDLE_TYPE (current_class));
static tree pop_value PROTO ((tree));
static void java_stack_swap PROTO ((void));
static void java_stack_dup PROTO ((int, int));
-static tree build_java_athrow PROTO ((tree));
+static void build_java_athrow PROTO ((tree));
static void build_java_jsr PROTO ((tree, tree));
static void build_java_ret PROTO ((tree));
static void expand_java_multianewarray PROTO ((tree, int));
/* Calls _Jv_Throw. Discard the contents of the value stack. */
-static tree
+static void
build_java_athrow (node)
tree node;
{
expand_end_bindings (getdecls (), 1, 0);
return const0_rtx;
}
- break;
+ return const0_rtx;
case CASE_EXPR:
{
end_catch_handler ();
}
expand_end_all_catch ();
- break;
+ return const0_rtx;
default:
fatal ("Can't expand '%s' tree - java_lang_expand_expr",
ATTRIBUTE_PRINTF_2;
extern tree build_primtype_type_ref PROTO ((const char *));
extern tree java_get_real_method_name PROTO ((tree));
-extern void finish_class PROTO ((tree));
+extern void finish_class PROTO ((void));
extern void java_layout_seen_class_methods PROTO ((void));
extern void check_for_initialization PROTO ((tree));
static void print_name PROTO ((FILE*, JCF*, int));
static void print_signature PROTO ((FILE*, JCF*, int, int));
static int utf8_equal_string PROTO ((struct JCF*, int, const char *));
-static int usage PROTO ((void));
+static int usage PROTO ((void)) ATTRIBUTE_NORETURN;
static void process_class PROTO ((struct JCF *));
static void print_constant_pool PROTO ((struct JCF *));
static void print_exception_table PROTO ((struct JCF *,
else
{
fprintf (stderr, "%s: illegal argument\n", argv[argi]);
- exit (FATAL_EXIT_CODE);
+ return FATAL_EXIT_CODE;
}
}
if (out)
{
fprintf (stderr, "Cannot open '%s' for output.\n", output_file);
- exit (FATAL_EXIT_CODE);
+ return FATAL_EXIT_CODE;
}
}
else
if (class_filename == NULL)
{
perror ("Could not find class");
- exit (FATAL_EXIT_CODE);
+ return FATAL_EXIT_CODE;
}
JCF_FILL (jcf, 4);
if (GET_u4 (jcf->read_ptr) == ZIPMAGIC)
if (magic != 0x04034b50) /* ZIPMAGIC (little-endian) */
{
fprintf (stderr, "bad format of .zip/.jar archive\n");
- exit (FATAL_EXIT_CODE);
+ return FATAL_EXIT_CODE;
}
JCF_FILL (jcf, 26);
JCF_SKIP (jcf, 2);
}
}
- exit (SUCCESS_EXIT_CODE);
+ return SUCCESS_EXIT_CODE;
}
static void
if (flag_emit_class_files)
write_classfile (current_class);
- finish_class (current_class);
+ finish_class ();
debug_end_source_file (save_lineno);
input_filename = save_input_filename;
extern const char *find_classfile PROTO ((char *, JCF*, const char *));
extern int jcf_filbuf_from_stdio PROTO ((JCF *jcf, int count));
extern void jcf_out_of_synch PROTO((JCF *));
-extern int jcf_unexpected_eof PROTO ((JCF*, int));
+extern int jcf_unexpected_eof PROTO ((JCF*, int)) ATTRIBUTE_NORETURN;
/* Extract a character from a Java-style Utf8 string.
* PTR points to the current character.
/* No flags? Do nothing */
if (!flag_find_main && !flag_dump_class)
- exit (0);
+ return 0;
/* Check on bad usage */
if (flag_find_main && flag_dump_class)
if (!output_file)
fclose (out);
- exit (0);
+ return 0;
}
/* Error report, memory, obstack initialization and other utility
static int binop_compound_p PROTO ((enum tree_code));
static tree search_loop PROTO ((tree));
static int labeled_block_contains_loop_p PROTO ((tree, tree));
+static void check_abstract_method_definitions PROTO ((int, tree, tree));
+static void java_check_abstract_method_definitions PROTO ((tree));
/* Number of error found so far. */
int java_error_count;
if (flag_emit_xref)
expand_xref (current_class);
else if (! flag_syntax_only)
- finish_class (current_class);
+ finish_class ();
}
}
}
static int binop_compound_p PROTO ((enum tree_code));
static tree search_loop PROTO ((tree));
static int labeled_block_contains_loop_p PROTO ((tree, tree));
+static void check_abstract_method_definitions PROTO ((int, tree, tree));
+static void java_check_abstract_method_definitions PROTO ((tree));
/* Number of error found so far. */
int java_error_count;
if (flag_emit_xref)
expand_xref (current_class);
else if (! flag_syntax_only)
- finish_class (current_class);
+ finish_class ();
}
}
}
int wide = 0;
int op_code;
int PC;
- int oldpc; /* PC of start of instruction. */
- int prevpc; /* If >= 0, PC of previous instruction. */
+ int oldpc = 0; /* PC of start of instruction. */
+ int prevpc = 0; /* If >= 0, PC of previous instruction. */
const char *message;
int i;
register unsigned char *p;