summaryrefslogtreecommitdiffstats
path: root/gcc/java/java-tree.h
Commit message (Collapse)AuthorAgeFilesLines
* 2004-04-14 Andrew Haley <aph@redhat.com>bryce2004-04-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | Bryce McKinlay <mckinlay@redhat.com> * java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Use _Jv_LookupInterfaceMethodIdx for calls to interfaces. * include/jvm.h (_Jv_CallAnyMethodA): Add new face' arg. * testsuite/libjava.lang/InvokeInterface.java: New file. * testsuite/libjava.lang/InvokeInterface.out: New file. 2004-04-14 Bryce McKinlay <mckinlay@redhat.com> * class.c (get_interface_method_index): New function. Return dispatch index for interface method. (make_method_value): For interface methods, set index field to iface dispatch index, not DECL_VINDEX. * expr.c (build_invokeinterface): Use get_interface_method_index. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@80684 138bc75d-0d04-0410-961f-82ee72b054a4
* * class.c (assume_compiled_node_struct): Rename type tobothner2004-03-191-0/+2
| | | | | | | | | | | | | | | | | | | | | | class_flag_node_struct, as it is now also used for enable_assertions. Rename assume_compiled_node typedef. Rename excludep field to value. (find_assume_compiled_node): Rename function to find_class_flag_node. Minor optimization - avoid needless strlen. (add_assume_compiled): Some tweaking and optimization. Rename and generalize to add_class_flag takem an extra parameter. (add_assume_compled): New just calls add_class_flag. (add_enable_assert, enable_assertions): New functions. (enable_assert_tree): New static. * java-tree.h (add_enable_assert, enable_assertions): New declarations. * lang.opt (fenable-assertions, fenable-assertions=, fdisable-assertions, fdisable-assertions=): New options. * lang.c (java_handle_option): Handle new options. * parse.y (build_incomplete_class_ref): Handle class$ in an inner class in an interface - create helper class nested in outer interface. (build_assertion): Short-circuit if enable_assertions is false. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@79710 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree.h (TREE_CHECK2, TREE_CHECK3, TREE_CHECK5): New macros.kenner2004-03-181-167/+180
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (tree_check2_failed, tree_check3_failed, tree_check5_failed): New decl. (FUNC_OR_METHOD_CHECK, SET_ARRAY_OR_VECTOR_CHECK): New macros. (REC_OR_UNION_CHECK, NUMERICAL_TYPE_CHECK): Likewise. (TYPE_VALUES, TYPE_DOMAIN, TYPE_FIELDS, TYPE_METHODS, TYPE_VFIELD): Protect with proper check. (TYPE_ARG_TYPES, TYPE_METHOD_BASETYPE, TYPE_OFFSET_BASETYPE): Likewise. (TYPE_MIN_VALUE, TYPE_MAX_VALUE): Likewise. * tree.c (type_hash_eq): Rewrite to access proper fields for each type. (tree_check2_failed, tree_check3_failed, tree_check5_failed): New. * c-typeck.c (build_array_ref): Use TYPE_DOMAIN, not TYPE_VALUES. * dwarf2out.c (gen_enumeration_type_die): Use TYPE_VALUES, not TYPE_FIELDS. * cp/class.c (finish_struct_bits): Use TYPE_VFIELD and TYPE_METHODS. * cp/error.c (dump_type): Use TYPEOF_TYPE_EXPR. * cp/pt.c (tsubst): Likewise. * cp/semantics.c (finish_typeof): Likewise. * cp/search.c (dfs_unuse_fields): Handle TYPENAME_TYPE, TYPEOF_TYPE, and TEMPLATE_TYPE_PARM. * cp/typeck.c (comptypes): Use TYPE_ORIG_SIZE_TYPE, not TYPE_DOMAIN. (build_array_ref): Use TYPE_DOMAIN, not TYPE_VALUES. * java/java-tree.h: Changes throughout to add checking to macros and numerous whitespace changes. (VAR_OR_FIELD_CHECK): New macro. * java/jcf-write.c (get_access_flags): Use FIELD_PUBLIC, METHOD_PUBLIC, FIELD_FINAL, and METHOD_FINAL instead of CLASS_PUBLIC and CLASS_FINAL. * ada/ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking. (TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise. (TYPE_RM_SIZE_INT): Directly use type.values. (TREE_LOOP_ID): Clean up check. * ada/decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use TYPE_VALUES, not TYPE_FIELDS. * ada/trans.c (convert_with_check): Delay access of bounds of basetype until sure is numeric. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@79638 138bc75d-0d04-0410-961f-82ee72b054a4
* Improve some comments.bothner2004-02-261-4/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@78486 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-01-16 Andrew Haley <aph@redhat.com>aph2004-01-161-2/+1
| | | | | | | | | | | | | | | PR java/13273: * typeck.c (shallow_find_method): New. (find_method_in_superclasses): New. (find_method_in_interfaces): New. (lookup_do): Rewrite. * java-tree.h (SEARCH_ONLY_INTERFACE): Delete. * jcf-parse.c (read_class): Save and restore output_class. * decl.c (java_expand_body): Set output_class from fndecl. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75980 138bc75d-0d04-0410-961f-82ee72b054a4
* * expr.h (expand_expr): Make it a macro, not a function.mmitchel2004-01-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (expand_expr_real): New function. * expr.c (store_expr): Adjust logic for deciding whether or not to copy the value returned by expand_expr. (expand_expr): Rename to ... (expand_expr_real): ... this. Add alt_rtl parameter. Adjust calls to language hooks. * c-common.h (c_expand_expr): Adjust prototype. * c-common.c (c_expand_expr): Add alt_rtl parameter. * langhooks-def.h (lhd_expand_expr): Change prototype. * langhooks.c (lhd_expand_expr): Add all_rtl parameter. * langhooks.h (lang_hooks): Change type of expand_expr. * stmt.c (stmt_status): Add x_last_expr_alt_rtl. (last_expr_alt_rtl): Likewise. (expand_expr_stmt_value): Set last_expr_alt_rtl. (clear_last_expr): Clear it. (expand_end_stmt_expr): Set RTL_EXPR_ATL_RTL. (expand_end_bindings): Save and restor last_expr_alt_rtl. * tree.def (RTL_EXPR): Give it an additional operand. * tree.h (RTL_EXPR_ALT_RTL): New macro. * misc.c (gnat_expand_expr): Add alt_rtl parameter. * cp-tree.h (cxx_expand_expr): Change prototype. * expr.c (cxx_expand_expr): Add alt_rtl parameter. * java-tree.h (java_expand_expr): Change prototype. * expr.c (java_expand_expr): Add alt_rtl parameter. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75594 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-01-09 Andrew Haley <aph@redhat.com>aph2004-01-091-28/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR java/12755: * parse.y (java_fix_constructors): Set output_class. (java_reorder_fields): Likewise. (java_layout_classes): Likewise. (java_expand_classes): Generate indirect dispatch tables. (java_expand_classes): Set output_class. (java_finish_classes): Likewise. * lang.c (java_init): Turn on always_initialize_class_p if we're using indirect dis[atch. (java_decl_ok_for_sibcall): Use output_class, not current_class. (java_get_callee_fndecl): Use class local atable. * jcf-parse.c (always_initialize_class_p): Decl moved to java-tree.h. (HANDLE_CLASS_INFO): Set output_class. (read_class): Likewise. (parse_class_file): Call gen_indirect_dispatch_tables. (parse_zip_file_entries): Set output_class. (java_parse_file): Set output_class. Don't emit symbol tables. * java-tree.h (output_class): New. Remove global declarations for otable, atable, and ctable. (always_initialize_class_p): moved here from decl.c. (DECL_OWNER): New. (TYPE_ATABLE_METHODS, TYPE_ATABLE_SYMS_DECL, TYPE_ATABLE_DECL, TYPE_OTABLE_METHODS, TYPE_OTABLE_SYMS_DECL, TYPE_OTABLE_DECL, TYPE_CTABLE_DECL, TYPE_CATCH_CLASSES): New. (struct lang_type): Add otable_methods, otable_decl, otable_syms_decl, atable_methods, atable_decl, atable_syms_decl, ctable_decl, catch_classes, type_to_runtime_map. * expr.c (build_field_ref): Make otable, atable, and ctable class local rather than global. (build_known_method_ref): Likewise. (build_invokeinterface): Likewise. (java_expand_expr): Pass runtime type (rather than actual type) to expand_start_catch. * except.c (prepare_eh_table_type): Create TYPE_TO_RUNTIME_MAP for this class. Look up each class in that map to delete duplicates. (expand_end_java_handler): Pass runtime type (rather than actual type) to expand_start_catch. * decl.c: (always_initialize_class_p): Decl moved to java-tree.h. (do_nothing): New. (java_init_decl_processing): Rearrange things. Remove global declarations of otable, atable, and ctable. (java_init_decl_processing): Make lang_eh_runtime_type do_nothing. (java_expand_body): Set output_class. * constants.c (build_constant_data_ref): Use output_class, not current_class. (alloc_name_constant): Likewise. * class.c (gen_indirect_dispatch_tables): New. (build_class_ref): Generate hard reference to superclass, even if using indirect dispatch. (build_static_field_ref): Use class local atable. (make_class_data): Generate hard reference to superclass, even if using indirect dispatch. Generate symbolic references to interfaces when using indirect dispatch. (make_class_data): Emit otable, atable, and ctable. Make otable, atable, and ctable class local rather than global. (emit_catch_table): Make otable, atable, and ctable class local rather than global. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75590 138bc75d-0d04-0410-961f-82ee72b054a4
* PR java/12374:ralph2003-12-031-4/+0
| | | | | | | | | | | | * parse.y (qualify_ambiguous_name): Remove lots of broken field access processing - there's no need to do that here, because we have resolve_field_access. Remove RESOLVE_EXPRESSION_NAME_P as it isn't used anywhere else. * java-tree.h: Remove RESOLVE_EXPRESSION_NAME_P as it isn't used. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74217 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix PR java/13183.jsturm2003-11-251-4/+0
| | | | | | | | | | | | | | | | | | | * constants.c (cpool_for_class): New function. (outgoing_cpool): Remove global variable. (alloc_name_constant): Use cpool_for_class. (build_constants_constructor): Likewise. * decl.c (java_expand_body): Set current_class. * java-tree.h (outgoing_cpool) Remove declaration. (init_outgoing_cpool): Likewise. * jcf-parse.c (init_outgoing_cpool): Remove function. (parse_class_file): Don't call init_outgoing_cpool. * parse.y (java_complete_expand_methods): Don't call init_outgoing_cpool. Don't save outgoing_cpool. (java_expand_classes): Don't restore outgoing_cpool. (java_finish_classes): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73926 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix PR java/12857.jsturm2003-11-181-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | decl.c (java_init_decl_processing): Don't initialize class_not_found_type_node, no_class_def_found_type_node. java-tree.h (JTI_CLASS_NOT_FOUND_TYPE_NODE, JTI_NO_CLASS_DEF_FOUND_TYPE_NODE): Remove from java_tree_index. (class_not_found_type_node, no_class_def_found_type_node): Don't define. parse.y (build_dot_class_method_invocation): Add this_class argument. Qualify method invocations to a different class. (create_new_parser_context): Initialize saved_data_ctx to 0. (java_parser_context_save_global): Initialize saved_data_ctx to 1. (build_dot_class_method): Don't load classes. Register incomplete types. (build_incomplete_class_ref): Special cases for interfaces and inner classes. Move build_dot_class_method call to here... (patch_incomplete_class_ref): ...from here. Pass current_class to build_dot_class_method_invocation. (build_assertion): Pass class_type to build_dot_class_method_invocation. (encapsulate_with_try_catch): Handle EXPR_WITH_FILE_LOCATION node. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73691 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix PR java/12739.jsturm2003-11-181-0/+2
| | | | | | | | | * java-tree.h (BLOCK_EMPTY_P): Define. * parse.y (java_complete_lhs): Check for empty blocks in TRY_FINALLY_EXPR case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73690 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-09-12 Andrew Haley <aph@redhat.com>aph2003-11-171-0/+4
| | | | | | | | | | | * java-tree.h (LOCAL_VAR_OUT_OF_SCOPE_P): New. (struct lang_decl_var:freed): New variable. * decl.c (poplevel): Mark local vars that have gone out of scope. (push_jvm_slot): Don't use the RTL of a var that has gone out of scope. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73675 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-10-22 Andrew Haley <aph@redhat.com>aph2003-10-241-5/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): New. (java_get_callee_fndecl): New. * jcf-parse.c (java_parse_file): Call emit_catch_table(). * java-tree.h (ctable_decl): New. (catch_classes): New. (java_tree_index): Add JTI_CTABLE_DECL, JTI_CATCH_CLASSES. * decl.c (java_init_decl_processing): Add catch_class_type. Add ctable_decl. Add catch_classes field. * class.c (build_indirect_class_ref): Break out from build_class_ref. (make_field_value): Check flag_indirect_dispatch. (make_class_data): Ditto. Tidy uses of PUSH_FIELD_VALUE. Add field catch_classes. (make_catch_class_record): New. * java-tree.h (PUSH_FIELD_VALUE): Tidy. 2003-10-22 Andrew Haley <aph@redhat.com> * java/lang/natClass.cc (initializeClass): Call _Jv_linkExceptionClassTable. (_Jv_LinkSymbolTable): Call )_Jv_ThrowNoSuchMethodError. Call _Jv_Defer_Resolution on a method whose ncode is NULL. (_Jv_linkExceptionClassTable): New function. (_Jv_LayoutVTableMethods): If superclass looks like a constant pool entry, look it up. * java/lang/Class.h (struct _Jv_CatchClass): New. (_Jv_linkExceptionClassTable): New friend. (_Jv_Defer_Resolution): New friend. (class Class.catch_classes): New field. * include/java-interp.h (Jv_Defer_Resolution): New method. (_Jv_PrepareClass): Make a friend of _Jv_MethodBase. (_Jv_MethodBase.deferred): New field. (_Jv_Defer_Resolution): New function. * resolve.cc (_Jv_PrepareClass): Resolve deferred handlers. * exception.cc (get_ttype_entry): Change return type to void**. (PERSONALITY_FUNCTION): Remove all code related to using a Utf8Const* for a match type. Change match type to be a pointer to a pointer, rather than a pointer to a Class. * defineclass.cc (handleCodeAttribute): Initialize method->deferred. (handleMethodsEnd): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72886 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-10-01 Andrew Haley <aph@redhat.com>aph2003-10-011-21/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * jcf-parse.c (java_parse_file): Write otable and atable. * java-tree.h (atable_methods): New. (atable_decl): New. (atable_syms_decl): New. (enum java_tree_index): Add JTI_ATABLE_METHODS, JTI_ATABLE_DECL, JTI_ATABLE_SYMS_DECL. Rename JTI_METHOD_SYMBOL* to JTI_SYMBOL*. (symbol_*type): Rename method_symbol* to symbol*type. (emit_offset_symbol_table): Delete. (emit_symbol_table): New. (get_symbol_table_index): New. (atable_type): New. * expr.c (build_field_ref): Handle flag_indirect_dispatch. (build_known_method_ref): Likewise. (get_symbol_table_index): Rename from get_offset_table_index. Parameterize to allow re-use by differing types of symbol table. (build_invokevirtual): Pass table to get_offset_table_index. * decl.c (java_init_decl_processing): Push types and decls for atable and atable_syyms. * class.c (build_static_field_ref): Handle flag_indirect_dispatch. (make_class_data): Add new fields atable and atable_syms. (emit_symbol_table): Rename from emit_offset_symbol_table. Parameterize to allow re-use by different types of symbol table. (build_symbol_entry): Renamed from build_method_symbols_entry. 2003-10-01 Andrew Haley <aph@redhat.com> * java/lang/natClass.cc (initializeClass): Check for otable and atable. (_Jv_LinkOffsetTable): Check for existence of atable. Rewrite loops using for(). Search superinterfaces. Check for fields as well as methods. Initialize atable as well as otable: check for static methods as well as virtual methods. * java/lang/Class.h (struct _Jv_AddressTable): New. (atable): New. (atable_syms): New. * include/jvm.h (_Jv_equalUtf8Consts): constify. * prims.cc (_Jv_equalUtf8Consts): constify. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71979 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (java_optimize_inline, dump_function): Remove.jsturm2003-09-281-1/+0
| | | | | | | | | | * java-tree.h (java_optimize_inline): Remove declaration. * jcf-parse.c (java_parse_file): Assume flag_unit_at_a_time is set. * parse.y (source_end_java_method, java_expand_classes): Likewise. Remove dead code. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71882 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (java_expand_body): New function.jsturm2003-09-031-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71024 138bc75d-0d04-0410-961f-82ee72b054a4
* * parse.y (java_check_regular_methods): Typo fixes. Calltromey2003-08-121-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | check_interface_throws_clauses. Use check_concrete_throws_clauses. (check_interface_throws_clauses): New function. (check_concrete_throws_clauses): New function. (hack_is_accessible_p): New function. (find_most_specific_methods_list): Added FIXME. * typeck.c (lookup_do): Use `flags' argument to decide what to do. Reimplemented. (lookup_argument_method_generic): New function. (lookup_argument_method2): Removed. * jcf.h (ACC_INVISIBLE): New define. * jcf-write.c (generate_classfile): Skip invisible methods. * class.c (add_miranda_methods): New function. (layout_class_methods): Use it. (get_access_flags_from_decl): Use ACC_INVISIBLE. * java-tree.h (METHOD_INVISIBLE): New define. (lang_decl_func) [invisible]: New field. (lookup_argument_method_generic): Declare. (SEARCH_INTERFACE): New define. (SEARCH_SUPER): Likewise. (SEARCH_ONLY_INTERFACE): Likewise. (SEARCH_VISIBLE): Likewise. (lookup_argument_method2): Removed declaration. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@70388 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-08-05 Steven Bosscher <steven@gcc.gnu.org>steven2003-08-051-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tree.h (DID_INLINE_FUNC): Remove macro. (DECL_DECLARED_INLINE_P): Move from c-tree.h and cp/cp-tree.h, add tree check for FUNCTION_DECL. (DECL_ESTIMATED_INSNS): Move from c-common.h and java/java-tree.h. (struct tree_decl): Rename inlined_function_flag to declared_inline_flag. * c-common.h (c_lang_decl): Remove. (DECL_ESTIMATED_INSNS): Remove. * c-tree.h (struct lang_decl): Don't include c_lang_decl. (DECL_DECLARED_INLINE_P): Remove. * c-decl.c (grokdeclarator): Update comment. With -finline-functions, do not reset DECL_DECLARED_INLINE_P. Don't use DID_INLINE_FUNC. (finish_function): Make uninlinable a bool. Fixup call to tree_inlinable_function_p() and fix some code style issues. * cgraph.h (disgread_inline_limits): Fix spelling: `disregard'. * cgraph.c (dump_cgraph): Likewise. * cgraphunit.c (cgraph_decide_inlining): Likewise (cgraph_finalize_compilation_unit): Likewise. Also update call to tree_inlinable_function_p(). (cgraph_default_inline_p): Don't use DID_INLINE_FUNC. Instead look at DECL_DECLARED_INLINE and reverse logic. * print-tree.c (print_node): Likewise. * toplev.c (rest_of_handle_inlining): Don't use DID_INLINE_FUNC. * tree-inline.h (tree_inlinable_function_p): Make a bool. Update prototype. * tree-inline.c (inlinable_function_p): Split up in this function to check for basic inlining inhibiting conditions, and new limits_allow_inlining() function. Warn if inlining is impossible because the inline candidate calls alloca or uses sjlj exceptions. (limits_allow_inlining): this new function to check if the inlining limits are satisfied. Throttle from currfn_max_inline_insns, not from MAX_INLINE_INSNS_SINGLE. The latter only makes sense if MAX_INLINE_INSNS_AUTO and MAX_INLINE_INSNS_SINGLE are equal. Update prototypes. (tree_inlinable_function_p): Make a bool. Update call to inlinable_function_p (expand_call_inline): Use limits_allow_inlining() when not in unit-at-a-time mode to decide on inlining. Don't use DID_INLINE_FUNC, instead see if the function was declared `inline'. cp/ * cp-tree.h (struct lang_decl): Don't include c_lang_decl. (DECL_DECLARED_INLINE_P): Remove. * decl2.c (import_export_decl): Only look at DECL_DECLARED_INLINE_P if decl is a FUNCTION_DECL. This never made sense, but now it is required to avoid a tree check failure. * decl.c (grokfndecl): Don't touch DID_INLINE_FUNC. * optimize.c (maybe_clone_body): Likewise. java/ * java-tree.h (DECL_ESTIMATED_INSNS): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@70174 138bc75d-0d04-0410-961f-82ee72b054a4
* * java-tree.h (METHOD_TRANSIENT): Removed.tromey2003-08-041-3/+1
| | | | | | | | | | * decl.c (pushdecl): Removed some dead code. * class.c (get_access_flags_from_decl): Can't have transient method. (add_method_1): Can't have a transient method. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@70152 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree.h (boolean_type_node): Move from C/C++/Java frontends.jason2003-07-241-14/+0
| | | | | | | | | | | | | | | | | | (boolean_true_node, boolean_false_node): Likewise. (enum tree_index): Add TI_BOOLEAN_{TYPE,FALSE,TRUE}. * tree.c (build_common_tree_nodes): Init boolean_type_node. (build_common_tree_nodes_2): Init boolean_{true,false}_node. * stor-layout.c (set_sizetype): Handle an early BOOLEAN_TYPE. * c-common.h (truthvalue_type_node): Renamed from boolean_type_node. (truthvalue_true_node): Renamed from boolean_true_node. (truthvalue_false_node): Renamed from boolean_false_node. * c-decl.c: Just set truthvalue_* to integer_*. * c-*.[ch]: s/boolean/truthvalue/. s/c_bool/boolean/. * cp/decl.c: Just set truthvalue_* to boolean_*. * java/java-tree.h: Move boolean_type_node et al to the back end. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@69758 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc:ghazi2003-07-191-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | * fixinc/fixfixes.c fixinc/fixincl.c fixinc/fixlib.c fixinc/server.c objc/objc-act.c: Remove unnecessary casts. f: * com.c data.c expr.c fini.c g77spec.c global.c lab.c lex.c name.c sta.c stc.c std.c storag.c stt.c stw.c symbol.c target.c type.c: Remove unnecessary casts. cp: * call.c class.c decl.c decl2.c g++spec.c lex.c parser.c pt.c rtti.c semantics.c typeck.c: Remove unnecessary casts. java: * class.c java-tree.h jcf-write.c jvspec.c: Remove unnecessary casts. treelang: * treetree.c: Remove unnecessary casts. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@69593 138bc75d-0d04-0410-961f-82ee72b054a4
* * java-tree.h (DECL_NUM_STMTS): Rename to...hubicka2003-07-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (DECL_ESTIMATED_INSNS): ... this. * lang.c (java_estimate_num_insns, java_estimate_num_insns_1): New static functions. (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): Define. * parser.y (add_stmt_to_compound): Do not account statements. * cp-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New. * decl.c (duplicate_decls): Use DECL_ESTIMATED_INSNS. (start_function): Use DECL_ESTIMATED_INSNS. * optimize.c (maybe_clone_body): Use DECL_ESTIMATED_INSNS. * decl2.c (maybe_emit_vtables): Fix marking vtables as needed in unit-at-a-time * c-common.c (c_estimate_num_insns_1): New static function. (c_estimate_num_insns): New global function. * c-common.h (DECL_NUM_STMTS): Rename to... (DECL_ESTIMATED_INSNS): ... this. (c_estimate_num_insns): Declare. * c-decl.c (duplicate_decls): Use DECL_ESTIMATED_INSNS. * c-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New. * c-semantics.c (add_stmt): Do not account statements. * langhooks-def.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New. * langhooks.h (lang_hooks_for_tree_inlining): Add estimate_num_insns * params.def (max-inline-insns-auto, max-inline-insns-auto): set to 100. (max-inline-insns): set to 300. (min-inline-insns): set to 10. * tree-inline.c (struct inline_data): Rename inlined_stmts to inlined-insns. (INSNS_PER_STMT): Kill. (inlinable_function_p): Compute and store body size. (expand_call_inline): Likewise. (optimize_inline_calls): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@69113 138bc75d-0d04-0410-961f-82ee72b054a4
* java:neil2003-06-091-4/+3
| | | | | | | | | | | | | | | | | | | | | | | * Make-lang.in (JAVA_OBJS, java/lang.o): Update. (java/j-options.c, java/j-options.h): New. * java-tree.h (resource_name, compile_resource_file, compile_resource_data): Constify. * jcf-write.c (jcf_write_base_directory): Similarly. * jcf.h (jcf_write_base_directory): Similarly. * lang.c: Include j-options.h. (cl_options_count, cl_options, string_option, java_decode_option, lang_f_options, lang_W_options, LANG_HOOKS_DECODE_OPTION, process_option_with_no): Remove. (resource_name): Constify. (LANG_HOOKS_HANDLE_OPTION): Override. (java_handle_option): New. (java_init): Don't call jcf_path_init. (java_init_options): Call jcf_path_init. * lang.opt: New. * resource.c (compile_resource_data, compile_resource_file): Constify. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67673 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-inline.c (expand_call_inline): DECL_SOURCE_LINE_FIRST isnathan2003-06-091-0/+3
| | | | | | | | | | | | | | removed. * java/java-tree.h (DECL_FUNCTION_LAST_LINE): New. (struct lang_decl_func): Add last_line field. * java/parse.h (DECL_SOURCE_LINE_MERGE, DECL_SOURCE_LINE_FIRST, DECL_SOURCE_LINE_LAST): Remove. * java/parse.y (missing_return_error, finish_method_declaration, lookup_cl, start_artificial_method_body, source_end_java_method, start_complete_expand_method): Adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67661 138bc75d-0d04-0410-961f-82ee72b054a4
* * class.c (layout_class_method): Set DECL_EXTERNAL.rth2003-05-131-0/+2
| | | | | | | | | | * decl.c (java_mark_decl_local, java_mark_class_local): New. * java-tree.h (java_mark_class_local): Declare. * jcf-parse.c (parse_class_file): Use it. * parse.y (java_expand_classes): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66768 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree.c (build_constructor): New function.zack2003-04-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tree.h: Prototype it. * c-typeck.c (build_c_cast, pop_init_level) * profile.c (build_function_info_value, build_gcov_info_value) (create_profiler): Use build_constructor. * builtins.c (expand_builtin_args_info): Remove #if 0 blocks. * objc/objc-act.c (build_constructor): Rename objc_build_constructor. Use build_constructor. (build_objc_string_object, objc_add_static_instance) (init_def_list, init_objc_symtab, init_module_descriptor) (generate_static_references, build_selector_translation_table) (build_descriptor_table_initializer, generate_descriptor_table) (build_protocol_initializer, build_ivar_list_initializer) (generate_ivars_list, build_dispatch_table_initializer) (generate_dispatch_table, generate_protocol_list) (build_category_initializer, build_shared_structure_initializer): Update to match. ada: * gigi.h, utils2.c (build_constructor): Rename gnat_build_constructor. Use build_constructor. * decl.c (gnat_to_gnu_entity) * trans.c (tree_transform, pos_to_constructor, extract_values) * ada/utils.c (build_template, convert_to_fat_pointer, convert) (unchecked_convert) * ada/utils2.c (build_binary_op, build_call_raise, build_allocator) (fill_vms_descriptor): Update to match. cp: * class.c (initialize_array) * decl.c (reshape_init) * decl2.c (build_expr_from_tree) * init.c (build_zero_init) * pt.c (tsubst_copy, tsubst_copy_and_build) * rtti.c (tinfo_base_init, generic_initializer, ptr_initializer) (ptm_initializer, class_initializer, get_pseudo_ti_init) * semantics.c (finish_compound_literal) * typeck.c (build_ptrmemfunc1) * typeck2.c (store_init_value, process_init_constructor) (build_functional_cast): Use build_constructor. f: * com.c (ffecom_build_complex_constant_, ffecom_expr_) (ffecom_init_zero_, ffecom_transform_namelist_, ffecom_vardesc_) (ffecom_vardesc_array_, ffecom_vardesc_dims_, ffecom_2) * ste.c (ffeste_io_ialist_, ffeste_io_cilist_, ffeste_io_cllist_) (ffeste_io_icilist_, ffeste_io_inlist_, ffeste_io_olist_): Use build_constructor. java: * class.c (make_field_value, make_method_value, get_dispatch_table) (make_class_data, emit_offset_symbol_table) * constants.c (build_constants_constructor) * java-tree.h (START_RECORD_CONSTRUCTOR) * parse.y (maybe_build_array_element_wfl): Use build_constructor. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@65539 138bc75d-0d04-0410-961f-82ee72b054a4
* * lang-options.h: Added -Wdeprecated.tromey2003-02-241-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gcj.texi (Warnings): Document -Wdeprecated. * java-tree.h (flag_deprecated): Declare. * lang.c (lang_W_options): Added deprecated. (flag_deprecated): New global. * chartables.h: Rebuilt. * gen-table.pl (process_one): Look at whitespace. (print_tables): Define LETTER_SPACE, LETTER_MASK. * parse.h (CLEAR_DEPRECATED): New macro. (CHECK_DEPRECATED_NO_RESET): New macro. * jcf-parse.c (handle_deprecated): New function. (HANDLE_DEPRECATED_ATTRIBUTE): New define. * jcf-reader.c (get_attribute): Handle Deprecated attribute. * parse.y (resolve_type_during_patch): Check deprecation. (jdep_resolve_class): Likewise. (process_imports): Likewise. (resolve_expression_name): Likewise. (check_deprecation): Strip arrays from decl. Check flag_deprecated. (patch_method_invocation): Also check the particular constructor for deprecation. (register_fields): Use CHECK_DEPRECATED_NO_RESET in loop. * jcf-write.c (append_deprecated_attribute): New function. (generate_classfile): Generate deprecated attribute when appropriate. * lex.c (java_parse_doc_section): Return type now void. Rewrote. (java_lex) [case '*']: Simplify logic. (java_start_char_p): Use LETTER_MASK. (java_part_char_p): Likewise. (java_space_char_p): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@63350 138bc75d-0d04-0410-961f-82ee72b054a4
* * java-tree.h: Don't use PARAMS.tromey2003-01-231-5/+4
| | | | | | | | | * resource.c: Add prototypes for all functions. (write_resource_constructor): Use `const char *' to avoid warning. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61640 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcj.texi (Input and output files): Mention non-class entries.tromey2003-01-221-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | * decl.c (java_init_decl_processing): Call init_resource_processing. * java-tree.h (compile_resource_data, write_resource_constructor, compile_resource_file, init_resource_processing): Declare. * config-lang.in (gtfiles): Added resource.c. * Make-lang.in (gt-java-resource.h): New target. (JAVA_OBJS): Added resource.o. (java/resource.o): New target. * resource.c: New file. * class.c (compile_resource_file): Moved to resource.c. (registerResource_libfunc): Likewise. (utf8_decl_list): Mark with GTY; now static. * jcf-parse.c (classify_zip_file): New function. (parse_zip_file_entries): Use it; compile .properties files. (process_zip_dir): Use classify_zip_file and compute_class_name. Don't write class name into zip directory. (java_parse_file): Call write_resource_constructor. (compute_class_name): New function. * jcf-io.c (read_zip_member): Reindented. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61614 138bc75d-0d04-0410-961f-82ee72b054a4
* * check-init.c: Fix comment typos.kazu2003-01-181-3/+3
| | | | | | | | | | | | | | | | | | | | | | * class.c: Likewise. * constants.c: Likewise. * decl.c: Likewise. * except.c: Likewise. * expr.c: Likewise. * java-except.h: Likewise. * java-tree.h: Likewise. * javaop.h: Likewise. * jcf-dump.c: Likewise. * jcf-io.c: Likewise. * jcf-parse.c: Likewise. * jcf-write.c: Likewise. * lang.c: Likewise. * mangle.c: Likewise. * typeck.c: Likewise. * verify.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61477 138bc75d-0d04-0410-961f-82ee72b054a4
* Merge from pch-branch.geoffk2003-01-101-5/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61136 138bc75d-0d04-0410-961f-82ee72b054a4
* * All Files: Remove PARAMS macro.ghazi2003-01-091-204/+199
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61133 138bc75d-0d04-0410-961f-82ee72b054a4
* * java-tree.h: Protect against multiple inclusion.neroden2003-01-081-0/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61043 138bc75d-0d04-0410-961f-82ee72b054a4
* * Make-lang.in, boehm.c, buffer.c,neroden2003-01-011-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | buffer.h, builtins.c, class.c, config-lang.in, constants.c, convert.h, decl.c, except.c, expr.c, java-except.h, java-tree.h, javaop.def, jcf-parse.c, jcf-write.c, jv-scan.c, jvgenmain.c, jvspec.c, keyword.gperf, keyword.h, lang-options.h, lang-specs.h, lang.c, lex.c, lex.h, mangle.c, mangle_name.c, parse-scan.y, parse.h, parse.y, typeck.c, verify.c, xref.c, xref.h: Replace "GNU CC" with "GCC" in the copyright header. * check-init.c, gjavah.c, javaop.h, jcf-depend.c, jcf-dump.c, jcf-io.c, jcf-path.c, jcf-reader.c, jcf.h, zextract.c, zipfile.h: These files are "part of GCC". Also say "GCC" not "GNU CC". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60747 138bc75d-0d04-0410-961f-82ee72b054a4
* * class.c (build_static_field_ref): Check FIELD_FINAL.jsturm2002-12-231-5/+0
| | | | | | | | | | | | | | | | | | * constants.c (alloc_class_constant): Use TYPE_CPOOL_DATA_REF instead of current_constant_pool_data_ref. * java-tree.h (current_constant_pool_data_ref): Undefine. (JTI_CURRENT_CONSTANT_POOL_DATA_REF): Remove. * jcf-parse.c (init_outgoing_cpool): Don't initialize current_constant_pool_data_ref. * except.c (prepare_eh_table_type ): Use DECL_NAME of class type, not build_internal_class_name. * parse.y (patch_incomplete_class_ref): Always emit `class$' method. Use it when class ref isn't certain to be compiled. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60448 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix for PR java/7912:tromey2002-11-181-0/+3
| | | | | | | | | | | | | | | | | | | * expr.c (can_widen_reference_to): Allow cast of array to Cloneable or Serializable. * java-tree.h (java_lang_cloneable_identifier_node): Declare. (java_io_serializable_identifier_node): Likewise. * parse.y (java_lang_cloneable, java_io_serializable): Removed. (valid_ref_assignconv_cast_p): Use new identifier nodes. * lex.c (java_init_lex): Don't initialize java_lang_cloneable and java_io_serializable. * decl.c (java_init_decl_processing): Initialize java_lang_cloneable_identifier_node and java_io_serializable_identifier_node. (java_lang_cloneable_identifier_node): New global. (java_io_serializable_identifier_node): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@59227 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix for PR java/6388.tromey2002-11-061-0/+8
| | | | | | | | | | | | | | * lex.h (JAVA_INTEGRAL_RANGE_ERROR): Wrap in do...while. * java-tree.h (enum java_tree_index): New values JTI_DECIMAL_INT_MAX_NODE, JTI_DECIMAL_LONG_MAX_NODE. (decimal_int_max, decimal_long_max): New defines. * lex.c (yylex): Rewrote range checking. Sign extend literals. (error_if_numeric_overflow): Rewrote range checking. * decl.c (java_init_decl_processing): Initialize decimal_int_max, decimal_long_max. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@58843 138bc75d-0d04-0410-961f-82ee72b054a4
* * java-tree.h: Move JV_STATE_ERROR before JV_STATE_DONE.tromey2002-11-021-2/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@58762 138bc75d-0d04-0410-961f-82ee72b054a4
* Reverted erroneous checkintromey2002-11-021-8/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@58756 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix for PR java/6388.tromey2002-11-021-0/+8
| | | | | | | | | | | | | | * lex.h (JAVA_INTEGRAL_RANGE_ERROR): Wrap in do...while. * java-tree.h (enum java_tree_index): New values JTI_DECIMAL_INT_MAX_NODE, JTI_DECIMAL_LONG_MAX_NODE. (decimal_int_max, decimal_long_max): New defines. * lex.c (yylex): Rewrote range checking. Sign extend literals. (error_if_numeric_overflow): Rewrote range checking. * decl.c (java_init_decl_processing): Initialize decimal_int_max, decimal_long_max. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@58755 138bc75d-0d04-0410-961f-82ee72b054a4
* 2002-10-15 Andrew Haley <aph@redhat.com>aph2002-10-151-0/+2
| | | | | | | | * java-tree.h (java_inlining_merge_static_initializers): Declare. (java_inlining_map_static_initializers): Declare. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@58163 138bc75d-0d04-0410-961f-82ee72b054a4
* Add -fno-assert flag.green2002-09-301-0/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@57649 138bc75d-0d04-0410-961f-82ee72b054a4
* * ChangeLog: Follow spelling conventions.kazu2002-09-211-11/+11
| | | | | | | | | | | | | | | | | * class.c: Likewise. * decl.c: Likewise. * expr.c: Likewise. * gjavah.c: Likewise. * java-tree.h: Likewise. * jcf-dump.c: Likewise. * jcf-parse.c: Likewise. * jvspec.c: Likewise. * lang.c: Likewise. * mangle.c: Likewise. * parse.y: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@57378 138bc75d-0d04-0410-961f-82ee72b054a4
* Index: gcc/ChangeLoggeoffk2002-09-161-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-09-12 Geoffrey Keating <geoffk@apple.com> * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name mangling. The following changes are merged from pch-branch: * doc/gty.texi (GTY Options): Document %a. * gengtype.c (do_scalar_typedef): New function. (process_gc_options): Handle `length' option. (set_gc_used_type): A pointer to an array of structures doesn't qualify as a pointer to a structure. (output_escaped_param): Add `%a' escape. (write_gc_structure_fields): Allow 'desc' on array of unions. (main): Define `uint8', `jword' and `JCF_u2' as scalars; use do_scalar_typedef. * gengtype.c (enum rtx_code): Make global. (rtx_format): Make global. (rtx_next): New. (gen_rtx_next): New. (write_rtx_next): New. (adjust_field_rtx_def): Skip fields marked by chain_next. (open_base_files): Delete redundant prototype. (write_enum_defn): New. (output_mangled_typename): Correct abort call. (write_gc_marker_routine_for_structure): Handle chain_next and chain_prev options. (finish_root_table): Don't output redundant \n. (main): Call gen_rtx_next, write_rtx_next, write_enum_defn. * c-tree.h (union lang_tree_node): Add chain_next option. * gengtype.h (NUM_PARAM): New definition. (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters. * gengtype.c (find_param_structure): New. (adjust_field_type): Handle param<n>_is option. (process_gc_options): Detect use_params option. Update callers. (set_gc_used_type): Add 'param' parameter, update callers. Handle 'use_params' option. (open_base_files): Add splay-tree.h to list of files included. (output_mangled_typename): New. (write_gc_structure_fields): Update 'param' parameter to support multiple parameters. Change name mangling. Allow parameterized fields to have an apparent scalar type. Handle param<n>_is options, use_param option. (write_gc_marker_routine_for_structure): Update for change to name mangling. Better guess the output file for parameterized types. (write_gc_types): Update for change to name mangling. (write_gc_root): Update for change to name mangling. Handle (ignore) param<n>_is options. * doc/gty.texi (GTY Options): Add description of param<n>_is options, use_params option. * ggc.h (ggc_mark_rtx): Update for changed name mangling. * gengtype-lex.l: Produce token for param<n>_is. * gengtype-yacc.y: Parse param<n>_is. * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'. * rtl.c: Update comment describing rtx_format. * rtl.h (union rtunion): Separate definition and typedef. (struct rtx_def): Use gengtype to mark. * Makefile.in (gengtype.o): Also depend on rtl.def. * ggc.h (ggc_mark_rtx_children): Delete prototype. (ggc_mark_rtx): Change to alias of gengtype-generated routine. * ggc-common.c (ggc_mark_rtx_children): Delete. (ggc_mark_rtx_children_1): Delete. (gt_ggc_m_rtx_def): Delete. * gengtype.c (adjust_field_rtx_def): New. (adjust_field_type): Call adjust_field_rtx_def. (write_gc_structure_fields): Add 'default' case to switch if none is specified; remove unused code. * tree.h (struct tree_exp): Update for change to meaning of special. * gengtype.c (adjust_field_tree_exp): New function. (adjust_field_type): Handle `tree_exp' special here. (write_gc_structure_fields): Don't handle `tree_exp' special here. Handle new `dot' option. * gengtype.h: Make `info' a pointer-to-const. * gengtype-yacc.y (yacc_ids): Use xasprintf. * gengtype.c (write_gc_structure_fields): Remove implementation of `always' option, add `default' option. * doc/gty.texi (GTY Options): Remove documentation of `always', add `default'. Index: gcc/cp/ChangeLog 2002-09-12 Geoffrey Keating <geoffk@apple.com> * cp-tree.h (union lang_tree_node): Add chain_next option. Index: gcc/f/ChangeLog 2002-09-12 Geoffrey Keating <geoffk@apple.com> * com.c (union lang_tree_node): Add chain_next option. Index: gcc/java/ChangeLog 2002-09-12 Geoffrey Keating <geoffk@apple.com> * java-tree.h (union lang_tree_node): Add chain_next option. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@57206 138bc75d-0d04-0410-961f-82ee72b054a4
* 2002-07-30 Andrew Haley <aph@cambridge.redhat.com>aph2002-08-161-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | * Make-lang.in (java-tree-inline.o): New. (JAVA_OBJS): Add java-tree-inline.o. * parse.y (source_end_java_method): Call java_optimize_inline. (java_expand_method_bodies): Save method's tree in DECL_SAVED_TREE. (add_stmt_to_compound): Keep track of the number of statments. * lang.c (java_init): Enable flag_inline_trees. (java_post_options): If flag_inline_functions is on, enable flag_inline_trees instread. (decl_constant_value): New. (java_tree_inlining_walk_subtrees): New. * java-tree.h (DECL_NUM_STMTS): New macro. (java_optimize_inline): Declare. * expr.c (java_expand_expr): Allow a BLOCK to return a value. Handle a LABEL_EXPR. * decl.c (build_result_decl): If we already have a DECL_RESULT don't make another. (dump_function): New. (java_optimize_inline): New. (dump_function): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@56377 138bc75d-0d04-0410-961f-82ee72b054a4
* * jcf-write.c (generate_classfile): Use FIELD_SYNTHETIC.tromey2002-06-111-0/+7
| | | | | | | | | | | | | | | | | | | | | | | * parse-scan.y (statement_without_trailing_substatement): Added assert_statement. (assert_statement): New rule. * java-tree.h (struct lang_type) [assertions]: New field. (TYPE_USES_ASSERTIONS): New macro. (CLASS_USES_ASSERTIONS): Likewise. (FIELD_SYNTHETIC): New define. * lex.c (java_lval;): Added ASSERT_TK. * parse.y (ASSERT_TK): Added. (statement_without_trailing_substatement): Added assert_statement. (assert_statement): New rule. (build_assertion): New function. (maybe_generate_pre_expand_clinit): Create and initialize $assertionsDisabled. (lookup_package_type): Removed decl. * keyword.h: Rebuilt. * keyword.gperf (assert): New token. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54516 138bc75d-0d04-0410-961f-82ee72b054a4
* * java-tree.h, class.c, expr.c, jcf-parse.c, parse.y,zack2002-06-041-21/+0
| | | | | | | | | | | | | | | typeck.c, verify.c: Remove all #if JAVA_USE_HANDLES blocks, all mention of CLASS_TO_HANDLE_TYPE or HANDLE_TO_CLASS_TYPE, and all now-pointless local variables. Rename other local variables to reflect their not being handles. * java-tree.h, jcf-dump.c, jcf-io.c: Remove all #if JCF_USE_STDIO blocks. * parse.y: Add missing semicolon at end of rule. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54261 138bc75d-0d04-0410-961f-82ee72b054a4
* Merge from pch-branch up to tag pch-commit-20020603.geoffk2002-06-041-55/+90
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54232 138bc75d-0d04-0410-961f-82ee72b054a4
* * configure.in (AC_CHECK_FUNCS): Add checks for scandir andmmitchel2002-05-191-5/+0
| | | | | | | | | alphasort. * config.in: Regenerated. * configure: Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53633 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix for PR java/5941:tromey2002-05-071-0/+7
| | | | | | | | | | * parse.y (finish_for_loop): Set SUPPRESS_UNREACHABLE_ERROR for loop update expression. (java_complete_lhs): Use SUPPRESS_UNREACHABLE_ERROR. * java-tree.h (SUPPRESS_UNREACHABLE_ERROR): New macro. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53247 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud