aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/jcf-parse.c
diff options
context:
space:
mode:
authorJeff Sturm <jsturm@one-point.com>2003-09-03 13:44:43 +0000
committerJeff Sturm <jsturm@gcc.gnu.org>2003-09-03 13:44:43 +0000
commit916b57cedabb2d80ac3e947a682efa3bce15cf4e (patch)
tree67c1212abb34f567ee45068cdd132021ed676e26 /gcc/java/jcf-parse.c
parente71d3aae3f8c92f18732e8cca0d07e0b2c31f814 (diff)
downloadgcc-916b57cedabb2d80ac3e947a682efa3bce15cf4e.zip
gcc-916b57cedabb2d80ac3e947a682efa3bce15cf4e.tar.gz
gcc-916b57cedabb2d80ac3e947a682efa3bce15cf4e.tar.bz2
decl.c (java_expand_body): New function.
* decl.c (java_expand_body): New function. * expr.c (build_class_init): Set DECL_IGNORED_P. * java-tree.h (start_complete_expand_method, java_expand_body): Declare. * jcf-parse.c (cgraph.h): Include. (java_parse_file): Handle flag_unit_at_a_time. * lang.c (LANG_HOOKS_TREE_INLINING_START_INLINING, LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define. (java_estimate_num_insns): Use walk_tree_without_duplicates. (java_start_inlining): New function. * parse.h (java_finish_classes): Declare. * parse.y: Include cgraph.h. (block): Don't special-case empty block production. (craft_constructor): Set DECL_INLINE. (source_end_java_method): Handle flag_unit_at_a_time. Replace inline code with call to java_expand_body. (start_complete_expand_method): Remove static modifier. (java_expand_method_bodies): Patch function tree for class initialization and/or synchronization as needed. Don't begin RTL expansion yet. (java_expand_classes): Check flag_unit_at_a_time before calling finish_class. (java_finish_classes): New function. (java_complete_lhs): Ensure COMPOUND_EXPR has non-NULL type. (patch_assignment): Set DECL_CONTEXT on temporary variable. (emit_test_initialization): Set DECL_IGNORED_P. From-SVN: r71024
Diffstat (limited to 'gcc/java/jcf-parse.c')
-rw-r--r--gcc/java/jcf-parse.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/java/jcf-parse.c b/gcc/java/jcf-parse.c
index 2393927..f47dbe0 100644
--- a/gcc/java/jcf-parse.c
+++ b/gcc/java/jcf-parse.c
@@ -42,6 +42,7 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */
#include "debug.h"
#include "assert.h"
#include "tm_p.h"
+#include "cgraph.h"
#ifdef HAVE_LOCALE_H
#include <locale.h>
@@ -1119,6 +1120,13 @@ java_parse_file (int set_yydebug ATTRIBUTE_UNUSED)
java_expand_classes ();
if (!java_report_errors () && !flag_syntax_only)
{
+ if (flag_unit_at_a_time)
+ {
+ cgraph_finalize_compilation_unit ();
+ cgraph_optimize ();
+ java_finish_classes ();
+ }
+
emit_register_classes ();
if (flag_indirect_dispatch)
emit_offset_symbol_table ();