From da7da8f9773d5e6b2edde3d332df6f2f85ed3c51 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Wed, 28 Mar 2001 00:38:22 -0800 Subject: [PATCH] decl.c (end_java_method): Do not save and restore flag_non_call_exceptions. * decl.c (end_java_method): Do not save and restore flag_non_call_exceptions. * parse.y (source_end_java_method): Likewise. * lang.c (flag_exceptions): Don't declare. (java_init_options): Set flag_non_call_exceptions. Set flag_exceptions here ... (java_init): ... not here. From-SVN: r40921 --- gcc/java/ChangeLog | 10 ++++++++++ gcc/java/decl.c | 9 --------- gcc/java/lang.c | 8 ++------ gcc/java/parse.y | 9 --------- 4 files changed, 12 insertions(+), 24 deletions(-) diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index c114c6c..081dab1 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,13 @@ +2001-03-28 Richard Henderson + + * decl.c (end_java_method): Do not save and restore + flag_non_call_exceptions. + * parse.y (source_end_java_method): Likewise. + * lang.c (flag_exceptions): Don't declare. + (java_init_options): Set flag_non_call_exceptions. Set + flag_exceptions here ... + (java_init): ... not here. + 2001-03-27 Richard Henderson * expr.c, parse.h: Use USING_SJLJ_EXCEPTIONS instead of diff --git a/gcc/java/decl.c b/gcc/java/decl.c index a5b423b..c81c342 100644 --- a/gcc/java/decl.c +++ b/gcc/java/decl.c @@ -1827,7 +1827,6 @@ void end_java_method () { tree fndecl = current_function_decl; - int flag_flag_non_call_exceptions = flag_non_call_exceptions; expand_end_bindings (getdecls (), 1, 0); /* pop out of function */ @@ -1843,18 +1842,10 @@ end_java_method () /* Generate rtl for function exit. */ expand_function_end (input_filename, lineno, 0); - /* FIXME: If the current method contains any exception handlers, - force flag_non_call_exceptions: this is necessary because signal - handlers in libjava may throw exceptions. This is far from being - a perfect solution, but it's better than doing nothing at all.*/ - if (catch_clauses) - flag_non_call_exceptions = 1; - /* Run the optimizers and output assembler code for this function. */ rest_of_compilation (fndecl); current_function_decl = NULL_TREE; - flag_non_call_exceptions = flag_flag_non_call_exceptions; } /* Mark language-specific parts of T for garbage-collection. */ diff --git a/gcc/java/lang.c b/gcc/java/lang.c index 982f451..2a3d586 100644 --- a/gcc/java/lang.c +++ b/gcc/java/lang.c @@ -150,10 +150,6 @@ int flag_extraneous_semicolon; /* When non zero, always check for a non gcj generated classes archive. */ int flag_force_classes_archive_check; -/* From gcc/flags.h, and indicates if exceptions are turned on or not. */ - -extern int flag_exceptions; - /* Table of language-dependent -f options. STRING is the option name. VARIABLE is the address of the variable. ON_VALUE is the value to store in VARIABLE @@ -655,8 +651,6 @@ java_init () print_error_function = lang_print_error; lang_expand_expr = java_lang_expand_expr; - flag_exceptions = 1; - /* Append to Gcc tree node definition arrays */ memcpy (tree_code_type + (int) LAST_AND_UNUSED_TREE_CODE, @@ -704,6 +698,8 @@ static void java_init_options () { flag_bounds_check = 1; + flag_exceptions = 1; + flag_non_call_exceptions = 1; } const char * diff --git a/gcc/java/parse.y b/gcc/java/parse.y index 4e688bb..e09af7a 100644 --- a/gcc/java/parse.y +++ b/gcc/java/parse.y @@ -7117,7 +7117,6 @@ static void source_end_java_method () { tree fndecl = current_function_decl; - int flag_flag_non_call_exceptions = flag_non_call_exceptions; if (!fndecl) return; @@ -7153,20 +7152,12 @@ source_end_java_method () emit_handlers (); expand_function_end (input_filename, lineno, 0); - /* FIXME: If the current method contains any exception handlers, - force flag_non_call_exceptions: this is necessary because signal - handlers in libjava may throw exceptions. This is far from being - a perfect solution, but it's better than doing nothing at all.*/ - if (catch_clauses) - flag_non_call_exceptions = 1; - /* Run the optimizers and output assembler code for this function. */ rest_of_compilation (fndecl); } current_function_decl = NULL_TREE; java_parser_context_restore_global (); - flag_non_call_exceptions = flag_flag_non_call_exceptions; } /* Record EXPR in the current function block. Complements compound -- 2.7.4