summaryrefslogtreecommitdiff
path: root/gcc/java/parse.y
Commit message (Collapse)AuthorAgeFilesLines
* Handle compiling multiple input files at once, and @FILE syntax. See ChangeLog.bothner2001-02-241-22/+26
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40024 138bc75d-0d04-0410-961f-82ee72b054a4
* 2001-02-20 Alexandre Petit-Bianco <apbianco@redhat.com>apbianco2001-02-201-1/+2
| | | | | | | | | | * parse.y (check_inner_class_access): Moved declaration of local `enclosing_decl_type' to the right location. (http://gcc.gnu.org/ml/gcc-patches/2001-02/msg01258.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39933 138bc75d-0d04-0410-961f-82ee72b054a4
* * parse.y (parser_check_super_interface): Don't callbryce2001-02-191-41/+130
| | | | | | | | | | | | | | | | | | check_pkg_class_access for an inner interface. (parser_check_super): Don't call check_pkg_class_access for inner class. (do_resolve_class): Simplify enclosing type loop. Don't call check_pkg_class_access if CL and DECL are not set. (find_in_imports_on_demand): Set DECL if class_type needed to be loaded. Don't call check_pkg_class_access for an inner class. (check_inner_class_access): Rewritten to implement member access rules as per spec 6.6.1. (check_pkg_class_access): Handle the empty package correctly. (in_same_package): New function. Determine if two classes are in the same package. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39909 138bc75d-0d04-0410-961f-82ee72b054a4
* * typeck.c (build_java_array_type): Don't try to poke a public `clone'bryce2001-02-191-1/+11
| | | | | | | | | method into array types. * parse.y (patch_method_invocation): Bypass access check on clone call to array instance. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39906 138bc75d-0d04-0410-961f-82ee72b054a4
* 2001-02-14 Tom Tromey <tromey@redhat.com>apbianco2001-02-151-35/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Alexandre Petit-Bianco <apbianco@redhat.com> Fix for PR java/1261. * typeck.c (build_java_array_type): Add public `clone' method to arrays. * parse.y (resolve_qualified_expression_name): Use current_class when checking for inaccessibility. (patch_method_invocation): Fixed error message when accessibility denied. Added `from_super' argument. 2001-02-14 Alexandre Petit-Bianco <apbianco@redhat.com> * parse.y (resolve_class): Don't build a fake decl. Use the one already built. * typeck.c (build_java_array_type): Build and assign decl to array type. 2001-02-14 Alexandre Petit-Bianco <apbianco@redhat.com> * parse.y (not_accessible_p): Changed leading comment. Added extra `where' argument. Use it to enforce protected access rules. (resolve_qualified_expression_name): Added extra argument to not_accessible_p. (patch_method_invocation): Use argument `primary' to provide not_accessible_p with an extra argument. (lookup_method_invoke): Added extra argument to not_accessible_p. (search_applicable_method_list): Likewise. (http://gcc.gnu.org/ml/gcc-patches/2001-02/msg00849.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39701 138bc75d-0d04-0410-961f-82ee72b054a4
* 2001-02-13 Alexandre Petit-Bianco <apbianco@redhat.com>apbianco2001-02-141-2/+3
| | | | | | | | | | * parse.y (resolve_qualified_expression_name): Try to resolve as an inner class access only if `decl' is a TYPE_DECL. (http://gcc.gnu.org/ml/gcc-patches/2001-02/msg00762.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39653 138bc75d-0d04-0410-961f-82ee72b054a4
* 2001-02-13 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2001-02-141-6/+6
| | | | | | | | | | | | | | | | | * decl.c (classdollar_identifier_node): Initialize. * java-tree.h (enum java_tree_index): New entry `JTI_CLASSDOLLAR_IDENTIFIER_NODE.' (classdollar_identifier_node): New macro. (ID_CLASSDOLLAR_P): Likewise. * parse.y (build_dot_class_method): Use `classdollar_identifier_node.' (build_dot_class_method_invocation): Likewise. (find_applicable_accessible_methods_list): `class$' can't be inherited. (http://gcc.gnu.org/ml/gcc-patches/2001-02/msg00760.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39650 138bc75d-0d04-0410-961f-82ee72b054a4
* 2001-02-05 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2001-02-051-2/+10
| | | | | | | | | | * parse.y (process_imports): Save the original name of the import for better error report. (http://gcc.gnu.org/ml/gcc-patches/2001-02/msg00250.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39461 138bc75d-0d04-0410-961f-82ee72b054a4
* * diagnostic.h (set_internal_error_function): Renamed.kenner2001-02-041-22/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * toplev.h (internal_error): Renamed from fatal. (pfatal_with_name): Deleted. (fatal_io_error): Now has printf-style arguments. * diagnostic.c (pfatal_with_name): Deleted. (fatal_io_error): Rework to have args in printf-style. (set_internal_error_function): Renamed from set_fatal_function. (internal_error): Renamed from fatal. (error_recursion, fancy_abort): Call internal_error instead of fatal. * dwarf2out.c (get_cfa_from_loc_descr): Likewise. * emit-rtl.c (gen_realpart, gen_imagpart): Likewise. * expr.c (check_max_integer_computation_mode, expand_expr): Likewise. * flow.c (verify_flow_info): Likewise. * config/arm/arm.c (thumb_unexpanded_epilogue): Likewise. * config/mips/mips.c (save_restore_insns): Likewise. * cp/init.c (build_java_class_ref): Likewise. (dsp16xx_reg_class_from_letter): Likewise. (limit_reload_class, double_reg_to_memory): Likewise. (print_operand_address, emit_1600_code_shift): Likewise. (gen_tst_reg, gen_compare_reg): Likewise. * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Likewise. * cp/decl.c (pushdecl): Likewise. * java/check-init.c (check_init): Likewise. * java/expr.c (java_lang_expand_expr): Likewise. * java/jcf-parse.c (get_constant): Likewise. * java/mangle.c (java_mangle_decl): Likewise. * java/parse.y (make_nested_class_name, java_complete_lhs): Likewise. (operator_string): Likewise. * except.c (duplicate_eh_handlers): Call abort instead of fatal. * flow.c (verify_flow_info): Likewise. * ch/convert.c (convert): Likewise. * ch/except.c (pop_handler, chill_check_no_handlers): Likewise. * ch/expr.c (chill_expand_expr): Likewise. * ch/parse.c (peek_token_, pushback_token, require): Likewise. * config/arm/arm.c (thumb_load_double_from_address): Likewise. * config/avr/avr.c (pttreg_to_str, unique_section): Likewise. (avr_normalize_condition): Likewise. * config/c4x/c4x.c (c4x_emit_libcall, c4x_valid_operands): Likewise. * config/dsp16xx/dsp16xx.c (dsp16xx_reg_class_from_letter): Likewise. (limit_reload_class, double_reg_to_memory): Likewise. (print_operand_address, emit_1600_code_shift): Likewise. (gen_tst_reg, gen_compare_reg): Likewise. * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Likewise. * cp/decl.c (pushdecl): Likewise. * java/check-init.c (check_init): Likewise. * java/class.c (build_class_ref): Likewise. * java/constants.c (write_constant_pool): Likewise. * java/decl.c (start_java_method): Likewise. * java/expr.c (push_type, java_stack_pop, java_stack_swap): Likewise. (java_stack_dup, encode_newarray_type): Likewise. (build_java_array_length_access): Likewise. (build_java_check_indexed_type, expand_java_pushc): Likewise. (build_java_soft_divmod, build_invokeinterface): Likewise. * java/java-tree.h (INNER_CLASS_P): Likewise. * java/jcf-parse.c (parse_signature, get_name_constant): Likewise. (give_name_to_class, get_class_constant): Likewise. * java/jcf-write.c (CHECK_PUT, CHECK_OP, get_access_flags): Likewise. (find_constant_index, generate_bytecode_conditional): Likewise. (generate_bytecode_insns, perform_relocations): Likewise. * java/lex.c (java_unget_unicode, java_lex): Likewise. * java/mangle.c (mangle_type, mangle_record_type): Likewise. (mangle_pointer_type, mangle_array_type, init_mangling): Likewise. (finish_mangling): Likewise. * java/parse.h (MARK_FINAL_PARMS): Likewise. * java/parse.y (pop_current_osb, unreachable_stmt_error): Likewise. (obtain_incomplete_type, java_complete_class): Likewise. (java_check_regular_methods, java_complete_expand_method): Likewise. (cut_identifier_in_qualified, check_deprecation): Likewise. (patch_invoke, find_applicable_accessible_methods_list): Likewise. (java_complete_lhs, lookup_name_in_blocks): Likewise. (check_final_variable_indirect_assignment, build_unaryop): Likewise. * java/typeck.c (set_local_type, parse_signature_type): Likewise. (parse_signature_string, build_java_signature): Likewise; (set_java_signature): Likewise. * java/verify.c (type_stack_dup, CHECK_PC_IN_RANGE): Likewise. * c-parse.in (methoddef): Call fatal_error instead of fatal. * objc/objc-act.c (build_ivar_chain): Likewise. * cp/except.c (decl_is_java_type): Likewise. * cp/init.c (build_java_class_ref): Likewise. * cp/init.c (build_new_1): Likewise. * f/com.c (ffecom_init_0): Likewise. * java/class.c (add_method, build_static_field_ref): Likewise. * java/expr.c (build_known_method_ref, expand_invoke): Likewise. * java/jcf-parse.c (get_constant, jcf_parse): Likewise. * java/lex.c (java_new_new_lexer): Likewise. * java/jv-scan.c (main): Likewise. (fatal_error): Renamed from fatal. * dwarfout.c (dwarfout_init): Call fatal_io_error instead of pfatal_with_name. * graph.c (clean_graph_dump_file): Likewise. * profile.c (init_branch_prob): Likewise. * ch/grant.c (write_grant_file): Likewise. * ch/lex.c (init_parse, same_file, yywrap): Likewise. * f/com.c (init_parse): Likewise. * java/jcf-parse.c (yyparse): Likewise. * objc/objc-act.c (objc_init): Likewise. * java/jcf-parse.c (jcf_parse_source): Call fatal_io_error, not fatal. (yyparse): Likewise. * java/jcf-write.c (make_class_file_name, write_classfile): Likewise. * java/lex.c (java_get_line_col): Likewise. * hash.c (hash_allocate): Don't check for failure returns from obstack functions that can't fail. (hash_table_init_n, hash_table_init): Likewise; also now return void. * hash.h (hash_table_init_n, hash_table_init): Now return void. * cp/decl.c (build_typename_type): hash_table_init now returns void. * ch/lang.c (GNU_xref_begin, GNU_xref_end): Deleted. * ch/lex.c (convert_bitstring): Delete check for alloca failure. * config/dsp16xx/dsp16xx.c (dsp16xx_invalid_register_for_compare): Deleted. * config/dsp16xx/dsp16xx.md (unnamed cmphi): Call abort instead of it. * f/com.c (ffecom_decode_include_option_): Make errors non-fatal. * f/lex.c (ffelex_cfelex_, ffelex_get_directive_line_): Likewise. (ffelex_hash_): Likewise. * config/arm/arm.c (arm_override_options): Likewise. * config/avr/avr.c (avr_override_options): Likewise. * config/c4x/c4x.c (c4x_expand_prologue): Likewise. * config/dsp16xx/dsp16xx.c (function_prologue): Likewise. * config/h8300/h8300.c (h8300_init_once): Likewise. * config/mips/mips.c (override_options): Likewise. * config/i386/i386.c (override_options): Likewise, rework. * config/m68k/m68k.c (override_options): Likewise. * cp/decl.c (init_decl_processing): Likewise. * java/jcf-parse.c (load_class): Likewise. * config/dsp16xx/dsp16xx.c (print_operand): Call output_operand_lossage instead of fatal. * config/mips/mips.c (print_operand): Likewise. * java/lex.c (byteswap_init, need_byteswap): Only #ifdef HAVE_ICONV. * objc/objc_act.c (objc_check_decl): Remove unneeded fatal call. (get_object_reference): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39443 138bc75d-0d04-0410-961f-82ee72b054a4
* 2001-01-30 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2001-02-011-17/+7
| | | | | | | | | | | | | | | * jcf-parse.c (init_jcf_parse): Added cast to ggc_add_root's last argument. * parse.y (finish_method_declaration): Code accounting for WFLed method DECL_NAMEs deleted. (check_abstract_method_definitions): Likewise. (resolve_type_during_patch): Layout resolved type. * typeck.c (lookup_do): Removed unused local. (http://gcc.gnu.org/ml/gcc-patches/2001-02/msg00005.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39388 138bc75d-0d04-0410-961f-82ee72b054a4
* * configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.ghazi2001-01-281-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.in: Remove all dependencies on defaults.h. * builtins.c: Don't include defaults.h. * c-common.c: Likewise. * c-decl.c: Likewise. * c-pragma.c: Likewise. * c-typeck.c: Likewise. * combine.c: Likewise. * i386.c: Likewise. * frame-ia64.c: Likewise. * cppexp.c: Likewise. * crtstuff.c: Likewise. * dbxout.c: Likewise. * dwarf2out.c: Likewise. * dwarfout.c: Likewise. * emit-rtl.c: Likewise. * except.c: Likewise. * expr.c: Likewise. * final.c: Likewise. * frame-dwarf2.c: Likewise. * libgcc2.c: Likewise. * optabs.c: Likewise. * profile.c: Likewise. * sdbout.c: Likewise. * toplev.c: Likewise. * tradcif.y: Likewise. * tree.c: Likewise. * varasm.c: Likewise. ch: * Makefile.in: Remove all dependencies on defaults.h. * decl.c: Don't include defaults.h. * timing.c: Likewise. cp: * Make-lang.in: Remove all dependencies on defaults.h. * call.c: Don't include defaults.h. * decl.c: Likewise. * decl2.c: Likewise. * except.c: Likewise. * pt.c: Likewise. * rtti.c: Likewise. * tree.c: Likewise. * typeck.c: Likewise. f: * Make-lang.in: Remove all dependencies on defaults.h. * com.c: Don't include defaults.h. java: * Make-lang.in: Remove all dependencies on defaults.h. * decl.c: Don't include defaults.h. * expr.c: Likewise. * parse.y: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39308 138bc75d-0d04-0410-961f-82ee72b054a4
* 2001-01-25 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2001-01-251-95/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ChangeLog (2001-01-21): Fixed typo. * class.c (layout_class_method): Code accounting for WFLed method DECL_NAMEs deleted. * constant.c (find_methodref_index): Likewise. * decl.c (lang_mark_tree): Mark `wfl' field in struct lang_decl. * java-tree.h (DECL_FUNCTION_WFL): New macro. (struct lang_decl): New field `wfl'. (java_get_real_method_name): Prototype deleted. * mangle.c (mangle_method_decl): Code accounting for WFLed method DECL_NAMEs deleted. * parse.h (GET_METHOD_NAME): Macro deleted. * parse.y (reset_method_name): Deleted. (method_header): Set DECL_FUNCTION_WFL. (check_abstract_method_header): Code accounting for WFLed method DECL_NAMEs deleted. (java_get_real_method_name): Deleted. (check_method_redefinition): Code accounting for WFLed method DECL_NAMEs deleted. Use DECL_FUNCTION_WFL. (java_check_regular_methods): Likewise. (java_check_abstract_methods): Likewise. (java_expand_classes): Don't call `reset_method_name.' (search_applicable_method_list): Use DECL_NAMEs instead of GET_METHOD_NAME. * typeck.c (lookup_do): Code accounting for WFLed method DECL_NAMEs deleted. (http://gcc.gnu.org/ml/gcc-patches/2001-01/msg01954.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39274 138bc75d-0d04-0410-961f-82ee72b054a4
* 2001-01-23 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2001-01-241-51/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * class.c (layout_class): Don't lay the superclass out if it's already being laid out. * jcf-parse.c (handle_innerclass_attribute): New function. (HANDLE_INNERCLASSES_ATTRIBUTE): Invoke handle_innerclasses_attribute. (jcf_parse): Don't load an innerclasses if it's already being laid out. * jcf-write.c (append_innerclass_attribute_entry): Static `anonymous_name' and its initialization deleted. `ocii' and `ini' to be zero for anonymous classes. 2001-01-23 Alexandre Petit-Bianco <apbianco@cygnus.com> * class.c (set_constant_value): Set DECL_FIELD_FINAL_IUD if necessary. * jcf-parse.c (set_source_filename): Use MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC if necessary. 2001-01-23 Alexandre Petit-Bianco <apbianco@cygnus.com> * expr.c (build_jni_stub): Set DECL_CONTEXT on `meth_var' so it gets a unique asm name. 2001-01-23 Alexandre Petit-Bianco <apbianco@cygnus.com> * jcf-parse.c (HANDLE_END_METHODS): Nullify current_method. (HANDLE_START_FIELD): Invoke MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC if necessary. (HANDLE_SYNTHETIC_ATTRIBUTE): New macro. * jcf-reader.c (get_attribute): Handle `Synthetic' attribute. * parse.y (lookup_package_type_and_set_next): Deleted. (resolve_package): Removed unnecessary code. (find_applicable_accessible_methods_list): `finit$' can't be inherited. * verify.c (pop_argument_types): Added missing prototype. (http://gcc.gnu.org/ml/gcc-patches/2001-01/msg01812.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39230 138bc75d-0d04-0410-961f-82ee72b054a4
* * parse.y (method_header): Don't set the DECL_NAME of a FUNCTION_DECLbothner2001-01-211-10/+0
| | | | | | | to a EXPR_WITH_FILE_LOCATION - that is just too fragile and wrong. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39169 138bc75d-0d04-0410-961f-82ee72b054a4
* 2001-01-17 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2001-01-181-18/+0
| | | | | | | | | | | | | * lang-options.h (-Wunsupported-jdk11): Removed. * lang.c (flag_not_overriding): Deleted. (flag_static_local_jdk1_1): Likewise. (lang_W_options): Removed "unsupported-jdk11" entry. * parse.y (java_check_methods): Removed dead code. (http://gcc.gnu.org/ml/gcc-patches/2001-01/msg01479.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39107 138bc75d-0d04-0410-961f-82ee72b054a4
* 2001-01-07 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2001-01-151-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All files with updated copyright when applicable. * Make-lang.in (JVGENMAIN_OBS): Removed java/mangle.o. * class.c (mangle_class_field): Function removed. (append_gpp_mangled_type, mangle_static_field, mangle_field): Likewise. (utf8_cmp, cxx_keyword_p): Moved to lex.c. (build_class_ref): Call `java_mangle_class_field' instead of `mangle_class_field.' (build_dtable_decl): Rewritten to call `java_mangle_vtable.' (layout_class): Call `java_mangle_decl' instead of `mangle_static_field.' (cxx_keywords): Initialized static array moved to `lex.c.' (layout_class_method): Changed leading comment. Simplified to call `java_mangle_decl.' Local `ptr' moved in for loop body. * decl.c (lang_mark_tree): Mark field `package_list.' * java-tree.h (TYPE_PACKAGE_LIST): New macro. (struct lang_type): New field `package_list.' (unicode_mangling_length): Prototype removed. (append_gpp_mangled_name, append_gpp_mangled_classtype, emit_unicode_mangled_name): Likewise. (cxx_keyword_p): New prototype. (java_mangle_decl, java_mangle_class_field, java_mangle_class_field_from_string, java_mangle_vtable): Likewise. * jcf-parse.c (jcf_parse_source): Constify `file' argument to `build_expr_wfl.' * jvgenmain.c (main_method_prefix): Global variable removed. (main_method_suffix): Likewise. (do_mangle_classname): New function. (main): Call it. Format changed to accomodate new mangling scheme. * lex.c: (utf8_cmp): Conditionally prototyped. (cxx_keywords): Moved from class.c, conditionally defined. (utf8_cmp, cxx_keyword_p): Likewise. * mangle.c (obstack.h, ggc.h): Included. (mangle_field_decl): New function. (mangle_method_decl, mangle_type, mangle_pointer_type, mangle_array_type, mangle_record_type, find_compression_pointer_match, find_compression_array_match, find_compression_record_match, find_compression_array_template_match, set_type_package_list, entry_match_pointer_p, emit_compression_string, init_mangling, finish_mangling, compression_table_add, mangle_member_name): Likewise. (mangle_obstack): New global. (MANGLE_RAW_STRING): New macro. (unicode_mangling_length): Turned static. (append_unicode_mangled_name): Renamed from `emit_unicode_mangled_name.' Turned static. `mangle_obstack' replaces `obstack', removed from the parameter list. (append_gpp_mangled_name): Turned static. `mangle_obstack' replaces parameter `obstack', removed from the parameter list. Call `append_unicode_mangled_name' instead of `emit_unicode_mangled_name. (append_gpp_mangled_classtype): Removed. (compression_table, compression_next): New static variables. * parse.y (temporary_obstack): Extern declaration removed. (This is the new C++ ABI compatibility patch: http://gcc.gnu.org/ml/gcc-patches/2001-01/msg01225.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39031 138bc75d-0d04-0410-961f-82ee72b054a4
* * parse.y (java_complete_lhs case EXPR_WITH_FILE_LOCATION): If body isbothner2001-01-141-2/+2
| | | | | | | | constant, return body without wrapper. (Improves constant folding.) * lex.c (build_wfl_node): Clear TREE_TYPE from returned node. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39017 138bc75d-0d04-0410-961f-82ee72b054a4
* * parse.y (resolve_expression_name): Permit instance variables frombryce2001-01-111-2/+4
| | | | | | | | | enclosing context in super constructor call. (resolve_qualified_expression_name): Permit enclosing class's qualified "this" in super constructor call. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38892 138bc75d-0d04-0410-961f-82ee72b054a4
* 2001-01-08 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2001-01-101-6/+34
| | | | | | | | | | | | | | | | | | | | | | * java-tree.h (lang_printable_name_wls): New prototype. * lang.c (put_decl_name): Removed dead code. Use DECL_CONTEXT rather than `current_class' to print type name. Don't prepend type names when printing constructor names. (lang_printable_name_wls): New function. * jcf-parse.c (jcf_parse_source): Pass NULL `file' argument to `build_expr_wfl', alway set EXPR_WFL_FILENAME_NODE. * parse.y (patch_method_invocation): Message tuned for constructors. (not_accessible_p): Grant `private' access from within enclosing contexts. 2001-01-05 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (patch_binop): Compute missing type in error situations. (http://gcc.gnu.org/ml/gcc-patches/2001-01/msg00752.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38870 138bc75d-0d04-0410-961f-82ee72b054a4
* From patha@softlab.ericsson.se:bryce2001-01-061-1/+1
| | | | | | | | * parse.y (switch_label): Use build, not build1, to construct DEFAULT_EXPR. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38745 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix for PR gcj/373:bryce2000-12-181-1/+8
| | | | | | | | * parse.y (create_class): Set ACC_STATIC if class is declared in an interface. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38365 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix for PRs gcj/312 and gcj/253:bryce2000-12-181-0/+14
| | | | | | | | | | * parse.y (valid_ref_assignconv_cast_p): Load classes for source and dest if they arn't already. * class.c (layout_class): Call maybe_layout_super_class on superinterfaces also, but only if compiling from bytecode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38363 138bc75d-0d04-0410-961f-82ee72b054a4
* 2000-12-15 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2000-12-151-1/+5
| | | | | | | | | | * parse.y (end_artificial_method_body): Fixed undefined behavior. Credits go to rth for finding it. (http://gcc.gnu.org/ml/gcc/2000-12/msg00495.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38278 138bc75d-0d04-0410-961f-82ee72b054a4
* * parse.y (check_static_final_variable_assignment_flag): Fix spelling.mrs2000-12-141-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38241 138bc75d-0d04-0410-961f-82ee72b054a4
* * parse.y (java_complete_lhs): Only allow compound assignment oftromey2000-12-131-0/+8
| | | | | | | reference type if type is String. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38236 138bc75d-0d04-0410-961f-82ee72b054a4
* 2000-12-06 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2000-12-061-1/+1
| | | | | | | | | * parse.y (end_artificial_method_body): Fixed typo. (http://gcc.gnu.org/ml/gcc-patches/2000-12/msg00320.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38071 138bc75d-0d04-0410-961f-82ee72b054a4
* 2000-10-18 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2000-12-061-86/+398
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * jcf-write.c (OP1): Update `last_bc'. (struct jcf_block): Fixed indentation and typo in comments. New field `last_bc'. (generate_bytecode_insns): Insert `nop' if `jsr' immediately follows `monitorenter'. * parse.y (patch_synchronized_statement): New local `tmp'. Call `patch_string'. Fixes gcj/232. 2000-10-13 Alexandre Petit-Bianco <apbianco@cygnus.com> * check-init.c (check_init): Fixed leading comment. Use LOCAL_FINAL_P. * decl.c (push_jvm_slot): Use MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC. (give_name_to_locals): Likewise. (lang_mark_tree): Handle FIELD_DECL. Register `am' and `wfl' fields in lang_decl_var. * java-tree.h (DECL_FUNCTION_SYNTHETIC_CTOR, DECL_FUNCTION_ALL_FINAL_INITIALIZED): New macros. (FIELD_INNER_ACCESS): Removed ugly cast, macro rewritten. (FIELD_INNER_ACCESS_P, DECL_FIELD_FINAL_IUD, DECL_FIELD_FINAL_LIIC, DECL_FIELD_FINAL_IERR, DECL_FIELD_FINAL_WFL): New macros. (LOCAL_FINAL): Rewritten. (LOCAL_FINAL_P, FINAL_VARIABLE_P, CLASS_FINAL_VARIABLE_P MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC): New macros. (struct lang_decl): Fixed comments. Added `synthetic_ctor' and `init_final' fields. (struct lang_decl_var): Fixed leading comment. Added `am', `wfl', `final_uid', `final_liic', `final_ierr' and `local_final' fields. (TYPE_HAS_FINAL_VARIABLE): New macro. (struct lang_type): Added `afv' field. * parse.y (check_static_final_variable_assignment_flag): New function. (reset_static_final_variable_assignment_flag): Likewise. (check_final_variable_local_assignment_flag): Likewise. (reset_final_variable_local_assignment_flag): Likewise. (check_final_variable_indirect_assignment): Likewise. (check_final_variable_global_assignment_flag): Likewise. (add_inner_class_fields): Use LOCAL_FINAL_P. (register_fields): Handle local finals and final variables. (craft_constructor): Set DECL_FUNCTION_SYNTHETIC_CTOR. (declare_local_variables): Call MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC. (source_start_java_method): Call MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC on local finals. (java_complete_expand_methods): Loop to set TYPE_HAS_FINAL_VARIABLE. Call `reset_final_variable_local_assignment_flag' and `check_final_variable_local_assignment_flag' accordingly before and after constructor expansion. Call `reset_static_final_variable_assignment_flag' before expanding <clinit> and after call `check_static_final_variable_assignment_flag' if the current_class isn't an interface. After all methods have been expanded, call `check_final_variable_global_assignment_flag' and `check_static_final_variable_assignment_flag' if the current class is an interface. (maybe_yank_clinit): Fixed typo in comment. (build_outer_field_access_methods): Removed old sanity check. Use FIELD_INNER_ACCESS_P. Call MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC. Don't create access methods for finals. (resolve_field_access): Use `CLASS_FINAL_VARIABLE_P'. (java_complete_tree): Likewise. Reset DECL_FIELD_FINAL_IUD if existing DECL_INIT has been processed. (java_complete_lhs): Likewise. (check_final_assignment): Filter input on `lvalue''s TREE_CODE. Test for COMPONENT_REF to get to the FIELD_DECL. Implemented new logic. (patch_assignment): Use LOCAL_FINAL_P. (fold_constant_for_init): Reset DECL_FIELD_FINAL_IUD if DECL_INITIAL is nullified. Fixes gcj/163. 2000-10-09 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (pop_current_osb): New function. (array_type:): Use `dims:', changed actions accordingly. Suggested by Anthony Green. (array_creation_expression:): Used pop_current_osb. (cast_expression:): Likewise. (search_applicable_method_list): Fixed indentation. 2000-10-08 Anthony Green <green@redhat.com> * parse.y (array_type_literal): Remove production. (type_literals): Refer to array_type, not array_type_literal. (http://gcc.gnu.org/ml/gcc-patches/2000-12/msg00317.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38070 138bc75d-0d04-0410-961f-82ee72b054a4
* 2000-12-04 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2000-12-051-1/+27
| | | | | | | | | | | * parse.y (patch_method_invocation): Pick the correct enclosing context when creating inner class instances. Fixes gcj/332. (http://gcc.gnu.org/ml/gcc-patches/2000-12/msg00217.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38026 138bc75d-0d04-0410-961f-82ee72b054a4
* 2000-11-22 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2000-11-231-9/+23
| | | | | | | | | | | | | | | | * parse.y (build_outer_field_access): New local `decl_ctx', use it. Check for field's context and current class immediate outer context inheritance. (outer_field_access_p): Consider fields inherited from the last enclosing context. (build_access_to_thisn): Stop at the last enclosing context if necessary. Fixes gcj/367. (http://gcc.gnu.org/ml/gcc-patches/2000-11/msg01335.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37689 138bc75d-0d04-0410-961f-82ee72b054a4
* 2000-10-31 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2000-11-221-2/+14
| | | | | | | | | | | | | | | | | | | * parse.y (outer_field_access_p): Inherited fields aren't consider outer fields. (maybe_build_thisn_access_method): Use PURE_INNER_CLASS_TYPE_P instead of INNER_CLASS_TYPE_P. (resolve_expression_name): Trigger an error if a static field is being accessed as an outer field. 2000-10-24 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.h (INNER_ENCLOSING_SCOPE_CHECK): Check inherited type in scope. (http://gcc.gnu.org/ml/gcc-patches/2000-11/msg01217.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37645 138bc75d-0d04-0410-961f-82ee72b054a4
* * lex.c (yylex): Added STRICT_TK case.tromey2000-11-201-0/+1
| | | | | | | | | | | | | * parse.y (STRICT_TK): Added. * parse-scan.y (STRICT_TK): Added. * Make-lang.in ($(srcdir)/java/keyword.h): Added missing `\' and `;'. Use 4, not 3, with -k option. Correctly rename resulting file. * keyword.h: Rebuilt. * keyword.gperf (strictfp): Added. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37594 138bc75d-0d04-0410-961f-82ee72b054a4
* * java-tree.h (cyclic_inheritance_report): Constify.ghazi2000-11-191-1/+1
| | | | | | | * parse.y (cyclic_inheritance_report): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37564 138bc75d-0d04-0410-961f-82ee72b054a4
* * ggc.h: Delete ggc_add_string_root and ggc_mark_string. Addzack2000-11-171-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | digit_vector and digit_string. * stringpool.c (digit_vector): New. (ggc_alloc_string): Use digit_string. * stmt.c (digit_strings): Delete. (init_stmt): Do not initialize digit_strings. (expand_asm_operands): Use ggc.h's digit_string macro. * toplev.c (mark_file_stack): Delete. (compile_file): Don't call init_tree_codes. (main): No need to make the file stack a GC root. * tree.c (init_tree_codes): Delete. * tree.h (init_tree_codes): Delete. * c-lex.c: Don't include ggc.h. (mark_splay_tree_node, mark_splay_tree): Delete. (init_c_lex): No need to ggc_strdup string constant. Don't add file_info_tree to GGC roots. (cb_enter_file, cb_rename_file): No need to ggc_strdup ip->nominal_fname. * Makefile.in (c-lex.o): No longer depends on $(GGC_H). * dbxout.c (dbxout_init), dwarf2out.c (dwarf2out_line), ggc-common.c (ggc_mark_rtx_children, ggc_mark_trees), varasm.c (mark_const_hash_entry, mark_pool_constant, init_varasm_once), xcoffout.c (xcoffout_source_file), i386.c (load_pic_register): Delete call(s) to ggc_add_string_root and/or ggc_mark_string. * except.c (create_rethrow_ref), profile.c (init_edge_profiler), toplev.c (compile_file), varasm.c (named_section, assemble_static_space, assemble_trampoline_template, output_constant_def, force_const_mem), i386.c (load_pic_register), ia64.c (ia64_encode_section_info), rs6000.c (rs6000_emit_load_toc_table, create_TOC_reference, rs6000_emit_prologue, rs6000_emit_epilogue), rs6000.md (load_toc_aix_si, load_toc_aix_di): Change ggc_alloc_string (var, -1) to ggc_strdup (var). * profile.c (output_func_start_profiler), tree.c (make_node), i386.c (load_pic_register): No need to ggc_strdup string constant. cp: * lex.c (mark_impl_file_chain): Delete. (init_parse): Remove call to ggc_add_string_root. No need to ggc_strdup a string constant. Do not add impl_file_chain to GC roots. (handle_pragma_implementation): No need to ggc_strdup main_filename. f: * lex.c (ffelex_hash_): Change ggc_alloc_string (var, -1) to ggc_strdup (var). java: * parse.y (goal): Remove call to ggc_add_string_root. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37522 138bc75d-0d04-0410-961f-82ee72b054a4
* * stringpool.c: New file.zack2000-11-171-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ggc-common.c (ggc_mark_string_ptr, ggc_add_string_root): Delete. (ggc_alloc_string): Now in stringpool.o. * ggc-page.c, ggc-simple.c: Do not define or allocate empty_string. * ggc.h: Delete prototype of ggc_add_string_root. #define ggc_add_string_root and ggc_mark_string to nothing. Prototype init_stringpool and stringpool_statistics. (ggc_alloc_string): Returns a const char *. * tree.c (hash_table, do_identifier_warnings): Delete. (init_obstacks): Don't initialize the identifier hash table. (get_identifier, maybe_get_identifier, start_identifier_warnings, set_identifier_size): Now in stringpool.c. * tree.h (struct tree_string): Constify pointer field. (approx_sqrt): Prototype. * Makefile.in (stringpool.o): Add rule, mention in OBJS. * toplev.c (approx_sqrt): New function. (compile_file): Call stringpool_statistics if mem_report is on. (main): Call init_stringpool. * builtins.c (c_strlen), c-decl.c (finish_decl), c-lex.c (process_directive), c-typeck.c (constructor_asmspec, struct initializer_stack, start_init), except.c (create_rethrow_ref), stmt.c (digit_strings), toplev.c (decode_f_option), tree.c (built_in_filename), varasm,c (in_named_name, assemble_static_space, struct constant_descriptor, struct deferred_string, struct pool_constant, force_const_mem), i386.c (pic_label_name, global_offset_table_name), rs6000.c (rs6000_emit_prologue, rs6000_emit_epilogue) : Constify a char *. * c-common.c (combine_strings): Combine strings in scratch buffer, then pass to build_string. * optabs.c (init_libfuncs), profile.c (init_edge_profiler, output_func_start_profiler), stmt.c (init_stmt), alpha.c (alpha_need_linkage), arm.c (arm_encode_call_attribute), i386.c (load_pic_register), ia64.c (ia64_encode_section_info), rs6000.c (rs6000_encode_section_info): Create string in scratch buffer, then pass to ggc_alloc_string. * stmt.c (expand_asm_operands): If we must adjust the constraint strings, do so by creating a new one, not by modifying the old one in place. Constify some char *s. * config/pa/pa.c (hppa_encode_label): Drop unnecessary second argument. Create string in scratch buffer, then pass to ggc_alloc_string. * config/pa/pa-protos.h: Update prototype. * config/pa/elf.h, config/pa/pa.h, config/pa/som.h: hppa_encode_label takes only one argument. * c-parse.in (if_prefix): Find the filename and line number at $-2 and $-1 respectively. * diagnostic.c (error_recursion): Add missing newline, use fputs, translate string. cp: * lex.c (struct impl_files, internal_filename): Constify a char *. java: * jcf-parse.c (get_constant), parse.y (do_merge_string_cste): Create string in scratch buffer, then pass to build_string. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37514 138bc75d-0d04-0410-961f-82ee72b054a4
* * diagnostic.c (vbuild_message_string, output_do_printf, vnotice):jsm282000-11-131-1/+2
| | | | | | | | | | | | | Add ATTRIBUTE_PRINTF. * tradcpp.c (v_message, warning, error, fatal, error_with_line): Add ATTRIBUTE_PRINTF*. java: * parse.y (issue_warning_error_from_context): Add ATTRIBUTE_PRINTF. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37419 138bc75d-0d04-0410-961f-82ee72b054a4
* * calls.c (expand_call, emit_library_call_value_1), collect2.cjsm282000-11-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | (scan_prog_file), config/a29k/a29k.c (print_operand), config/sparc/sparc.c (order_regs_for_local_alloc): Use memcpy () instead of bcopy (). * real.h: Use memcmp () instead of bcmp (). * config/m88k/m88k.c (m88k_layout_frame), config/sh/sh.c (split_branches), config/sparc/sparc.c (ultra_flush_pipeline, ultrasparc_sched_init, ultrasparc_sched_reorder), config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Use memset () instead of bzero (). * config/vax/xm-xms.h (FILE_NAME_NONDIRECTORY): Use strrchr () instead of rindex (). * configure.in: Don't check for bzero, bcmp, index or rindex. * configure, config.in: Regenerate. * system.h: Don't include declarations for bzero, bcmp, index or rindex. * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Don't define bzero, bcmp, index or rindex. java: * parse.y (create_new_parser_context): Use memset () instead of bzero (). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37334 138bc75d-0d04-0410-961f-82ee72b054a4
* 2000-10-25 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2000-10-301-3/+7
| | | | | | | | | | | | | | * parse.y (patch_method_invocation): NULLify this_arg when already inserted. (maybe_use_access_method): Handle call to methods unrelated to the current class. Fixed comment. Fixes gcj/361. (http://sources.redhat.com/ml/java-prs/2000-q4/msg00072.html http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00993.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37139 138bc75d-0d04-0410-961f-82ee72b054a4
* 2000-10-24 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2000-10-251-2/+3
| | | | | | | | | | | * parse.y (register_incomplete_type): Include JDEP_FIELD as a case where an enclosing context can be set on the jdep. (do_resolve_class): Fixed identation. (http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00824.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37045 138bc75d-0d04-0410-961f-82ee72b054a4
* 2000-08-15 Bryce McKinlay <bryce@albatross.co.nz>bryce2000-10-211-4/+6
| | | | | | | | * parse.y (do_resolve_class): Also explore superclasses of intermediate enclosing contexts when searching for inner classes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@36990 138bc75d-0d04-0410-961f-82ee72b054a4
* 2000-07-18 Bryce McKinlay <bryce@albatross.co.nz>apbianco2000-10-201-3/+3
| | | | | | | | | | | * parse.y (find_most_specific_methods_list): Select the only non-abstract method even if max has been set. Fixes gcj/285, gcj/298. (http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00646.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@36956 138bc75d-0d04-0410-961f-82ee72b054a4
* 2000-07-19 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2000-10-191-4/+23
| | | | | | | | | | * parse.y (process_imports): Consider that one might be trying to import an innerclass. Fixes gcj/254 (http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00631.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@36948 138bc75d-0d04-0410-961f-82ee72b054a4
* 2000-10-18 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2000-10-191-46/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gjavah.c (add_class_decl): Removed unused variables `tname', `tlen' and `name_index'. * java-tree.h (BUILD_FILENAME_IDENTIFIER_NODE): New macro. * jcf-parse.c (jcf_parse_source): Use it and set EXPR_WFL_FILENAME in `wfl_operator' with value. (yyparse): Use BUILD_FILENAME_IDENTIFIER_NODE. (jcf_figure_file_type): Fixed identation. * lex.c (java_get_line_col): Use EOF. Tuned `^' placement. * parse.y (analyze_clinit_body): New function. (static_initializer:): Reset `current_static_block'. (java_parser_context_restore_global): Set EXPR_WFL_FIILENAME_NODE in `wfl_operator' with new value. (lookup_cl): Use EXPR_WFL_FILENAME. (maybe_yank_clinit): Handle bogus <clinit> bodies, call analyze_clinit_body. (build_outer_field_access): Access to this$<n> built from current_class, not its outer context. (build_access_to_thisn): Fixed leading comment. Tidied things up. (resolve_qualified_expression_name): Handle `T.this' and `T.this.f()'. (patch_method_invocation): Use `is_static_flag' when already initialized. (patch_newarray): Removed assignment in ternary operator. (http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00629.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@36946 138bc75d-0d04-0410-961f-82ee72b054a4
* Remove obstacks.mmitchel2000-10-131-53/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.in (ggc-callbacks.o): Remove target. (flow.o): Depend on GGC_H. * alias.c (init_alias_analysis): Remove ggc_p conditionals. (end_alias_analysis): Likewise. * basic-block.h (init_flow): New function. (allocate_reg_life_data): Declare. * bb-reorder.c (function_obstack): Replace with ... (flow_obstack): ... new variable. (fixup_reorder_chain): Use it. * c-decl.c (ggc_p): Remove. (caller-save.c): Don't call oballoc/obfree. * combine.c (struct undobuf): Remove storage. (try_combine): Don't call oballoc. (undo_all): Don't call obfree. * cse.c (insert): Use xmalloc, not oballoc. (cse_main): Adjust accordingly. * dwarf2out.c (save_rtx): Remove obstack code. (dwarf2out_init): Remove ggc_p conditionals. * emit-rtl.c (rtl_obstack): Remove. (gen_rtx_CONST_INT): Remove ggc_p conditionals. (make_insn_raw): Likewise. (emit_insn_before): Likewise. (emit_insn_after): Likewise. (emit_insn): Likewise. (gen_sequence): Likewise. (copy_insn_1): Remove handling of `b' RTL components. (init_emit_once): Remove ggc_p conditionals. * except.c (create_rethrow_ref): Don't fool with obstacks. (add_partial_entry): Likewise. (call_get_eh_context): Likewise. (begin_protect_partials): Likewise. (protect_with_terminate): Likewise. * explow.c (plus_constant_wide): Likewise. * expr.c (init_expr_once): Likewise. (emit_block_move): Likewise. (clear_storage): Likewise. (expand_expr): Likewise. * flow.c (function_obstack): Remove. (flow_obstack): New variable. (flow_firstobj): Likewise. (create_base_block): Use the flow_obstack. (split_block): Likewise. (split_edge): Likewise. (calculate_global_regs_live): Likewise. (allocate_bb_life_data): Make it static. Likewiwse. (init_flow): New function. (size_int_type_wide): Remove ggc_p conditionals. * function.c (push_function_context_to): Don't call save_tree_status. (pop_function_context_from): Or restore_tree_status. (assign_stack_local_1): Don't call push_obstacks. (find_fixup_replacement): Use xmalloc. (fixup_var_refs_insns): Free the storage. (insns_for_mem_walk): Don't mess with obstacks. (instantiate_decls): Likewise. (trampoline_address): Likewise. (expand_function_end): Likewise. * function.h (sturct function): Remove obstack-related variables. (save_tree_status): Don't declare. (restore_tree_status): Likewise. * gcse.c (compute_can_copy): Don't call oballoc/obfree. * genattrtab.c (operate_exp): Remove ggc_p conditionals. (simplify_cond): Likewise. (simplify_test_exp): Don't mess with obstacks. (optimize_attrs): Likewise. * gengenrtl.c (gendef): Don't include ggc_p conditionals. * ggc-callbacks.c (ggc_p): Remove. * ggc-none.c (ggc_p): Remove. * ggc.h (ggc_p): Don't declare. * integrate.c (save_for_inline): Don't mess with obstacks. (integrate_decl_tree): Likewise. (output_inline_function): Likewise. * lists.c (init_EXPR_INSN_LIST_cache): Likewise. * loop.c (temp_obstack): Remove. (rtl_obstack): Likewise. (init_loop): Don't mess with obstacks. (reg_address_cost): Free BIVs and GIVs. (check_insns_for_bivs): Use xmalloc, not oballoc. (find_mem_givs): Likewise. (record_biv): Likewise. (general_induction_var): Likewise. (product_cheap_p): Likewse. * optabs.c (init_one_libfunc): Remove ggc_p conditional. * print-tree.c (debug_tree): Don't use oballoc/obfree. (print_node): Likewise. * profile.c (output_func_start_profiler): Remove call to temporary_allocation. * reload1.c (eliminate_regs_in_insn): Don't mess with obstacks. * resource.c (mark_target_live_regs): Use xmalloc. (free_resource_info): Free the memory. * rtl.c (rtl_obstack): Remove. (rtvec_alloc): Don't mess with obstacks. (rtx_alloc): Likewise. (rtx_free): Remove. (copy_rtx): Don't handle `b' cases. (read_rtx): Use a local rtl_obstack. * rtl.h (oballoc): Remove. (obfree): Likewise. (pop_obstacks): Likewise. (push_obstacks): Likewise. (allocate_bb_life_data): Likewise. (allocate_reg_life_data): Likewise. (rtx_free): Likewise. * sdbout.c (sdbout_queue_anonymous_type): Use tree_cons, not saveable_tree_cons. * simplify-rtx.c (cselib_init): Don't mess with obstacks. * stmt.c (mark_block_nesting): Mark the label_chain. (epxand_label): Use ggc_alloc, not oballoc. (clear_last_expr): Don't mess with obstacks. (expand_decl_cleanup): Likewise. (expand_dcc_cleanup): Likewise. (expand_dhc_cleanup): Likewise. (expand_anon_union_decl): Likewise. (add_case_node): Use xmalloc, not oballoc. (free_case_nodes): New function. (expand_end_case): Call it. * stor-layout.c (layout_type): Don't mess with obstacks. (layout_type): Likewise. * toplev.c (wrapup_global_declarations): Likewise. (compile_file): Remove ggc_p conditionals. (rest_of_compilation): Call init_flow. Remove ggc_p conditionals. (decode_f_option): Remove ggc_p conditionals. * tree.c (function_maybepermanent_obstack): Remove. (maybepermanent_obstack): Likewise. (function_obstack): Likewise. (tmeporary_obstack): Likewise. (momentary_obstack): Likewise. (temp_decl_obstack): Likewise. (saveable_obstack): Likewise. (rtl_obstack): Likewise. (current_obstack): Likewise. (expression_obstack): Likewise. (struct obstack_stack): Likewise. (obstack_stack): Likewise. (obstack_stack_obstack): Likewise. (maybepermanent_firstobj): Likewise. (temporary_firstobj): Likewise. (momentary_firstobj): Likewise. (temp_decl_firstobj): Likewise. (momentary_function_firstobj): Likewise. (all_types_permanent): Likewise. (struct momentary_level): Likewise. (momentary_stack): Likewise. (init_obstacks): Remove initialization of removed obstacks. (save_tree_status): Remove. (restore_tree_status): Likewise. (temporary_allocation): Liekwise. (end_temporary_allocation): Liekwise. (resume_temporary_allocation): Likewise. (saveable_allocation): Likewise. (push_obstacks): Likewise. (push_obstacks_nochange): Likewise. (pop_obstacks): Likewise. (allocation_temporary_p): Likewise. (permanent_allocation): Likewise. (preserve_data): Likewise. (preserve_initializer): Likewise. (rtl_in_current_obstack): Likewise. (rtl_in_saveable_obstack): Likewise. (oballoc): Likewise. (obfree): Likewise. (savealloc): Likewise. (expralloc): Likewise. (print_obstack_name): Likewise. (debug_obstack): Likewise. (object_permanent_p): Likewise. (push_momentary): Likewise. (perserve_momentary): Likewise. (clear_momentary): Likewise. (pop_momentary): Likewise. (pop_momentary_nofree): Likewise. (suspend_momentary): Likewise. (resume_momentary): Likewise. (make_node): Don't set TREE_PERMANENT. (copy_node): Remove ggc_p conditionals. Don't set TYPE_OBSTACK. Don't set TREE_PERMANENT. (get_identifier): Remove ggc_p conditionals. (build_string): Likewise. (make_tree_vec): Likewise. (build_decl_list): Remove. (build_expr_list): Likewise. (tree_cons): Remove ggc_p conditionals. (decl_tree_cons): Remove. (expr_tree_cons): Likewise. (perm_tree_cons): Likewise. (temp_tree_cons): Likewise. (saveable_tree_cons): Likewise. (build1): Remove ggc_p conditionals. (build_parse_node): Likewise. (build_type_attribute_variant): Don't mess with obstacks. (build_type_copy): Likewise. (type_hash_canon): Likewise. (build_pointer_type): Likewise. (build_reference_type): Likewise. (build_index_type): Likewise. (build_range_type): Likewise. (dump_tree_statistics): Don't print obstack information. * tree.h (struct tree_common): Remove permanent_flag. (TREE_PERMANENT): Remove. (TREE_SET_PERMANENT): Likewise. (TYPE_OBSTACK): Likewise. (struct tree_type): Remove obstack. (oballoc): Remove. (savealloc): Likewise. (build_decl_list): Likewise. (build_expr_list): Likewise. (perm_tree_cons): Likewise. (temp_tree_cons): Likewise. (saveable_tree_cons): Likewise. (decl_tree_cons): Likewise. (expr_tree_cons): Likewise. (suspend_momentary): Likewise. (allocation_temporary_p): Likewise. (resume_momentary): Likewise. (push_obstacks_nochange): Likewise. (permanent_allocation): Likewise. (push_momentary): Likewise. (clear_momentary): Likewise. (pop_momentary): Likewise. (end_temporary_allocation): Likewise. (pop_obstacks): Likewise. (push_obstacks): Likewise. (pop_momentary_nofree): LIkewise. (preserve_momentary): Likewise. (saveable_allocation): Likewise. (temporary_allocation): Likewise. (resume_temporary_allocation): Likewise. (perserve_initializer): Likewise. (debug_obstack): Likewise. (rtl_in_current_obstack): Likewise. (rtl_in_saveable_obstack): Likewise. (obfree): Likewise. * varasm.c (current_obstack): Remove. (saveable_obstack): Remove. (rtl_obstack): Remove. (immed_double_const): Don't mess with obstacks. (immed_real_cons): Likewise. (output_constant_def): Likewise. (init_varasm_status): Use xcalloc. (mark_pool_constant): Mark the pool constant itself. (free_varasm_status): Free memory. (decode_rtx_const): Call bzero directly, rather than expanding it inline. (record_rtx_const): Don't mess with obstacks. (force_const_mem): Likewise. * config/arm/arm.c (arm_encode_call_attribute): Remove ggc_p conditionals. (aof_pic_entry): Likewise. * config/ia64/ia64.c (ia64_encode_section_info): Likewise. * config/m32r/m32r.c (m32r_encode_section_info): Likewise. * config/pa/pa.c (saveable_obstack): Remove. (rtl_obstack): Likewise. (current_obstack): Likewise. (output_call): Don't mess with obstacks. (hppa_encode_label): Remove ggc_p conditionals. * config/romp/romp.c (get_symref): Don't mess with obstacks. * config/rs6000/rs6000.c (output_toc): Remove ggc_p conditional. (rs6000_encode_section_info): Likewise. * config/sh/sh.c (get_fpscr_rtx): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@36856 138bc75d-0d04-0410-961f-82ee72b054a4
* 2000-10-07 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2000-10-101-11/+14
| | | | | | | | | | | | | | | | | | | Patch contributed by Corey Minyard. * decl.c (check_local_named_variable): New function. (tree check_local_unnamed_variable): Likewise. (find_local_variable): Splitted. Call check_local_{un}named_variable. 2000-08-11 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (variable_declarator_id:): Better error message. (expression_statement:): Use YYNOT_TWICE. (cast_expression:): Likewise. (assignment:): Likewise. (http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00286.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@36827 138bc75d-0d04-0410-961f-82ee72b054a4
* Tue Oct 3 13:44:37 2000 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2000-10-051-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | * decl.c (find_local_variable): Removed uncessary type check and fixed range check typo. From Corey Minyard. Wed Sep 13 16:06:52 2000 Alexandre Petit-Bianco <apbianco@cygnus.com> * decl.c (give_name_to_locals): New local `code_offset'. Call `maybe_adjust_start_pc.' * expr.c (note_instructions): New function. (expand_byte_code): Don't collect insn starts here. (peek_opcode_at_pc): New function. (maybe_adjust_start_pc): Likewise. * java-tree.h (maybe_adjust_start_pc): Declare. (note_instructions): Likewise. * jcf-parse.c (parse_class_file): Call `note_instructions.' Wed Sep 13 11:50:35 2000 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (field_access:): Fixed indentation. (qualify_ambiguous_name): Properly qualify `this.a[b].c'. (http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00067.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@36717 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix for PR gcj/307:tromey2000-10-031-24/+33
| | | | | | | | | | | | | * parse.y (patch_binop): Use JNUMERIC_TYPE_P, not JPRIMITIVE_TYPE_P, for arithmetic operators. (patch_method_invocation): Indentation fix. (try_builtin_assignconv): Handle boolean specially. Fixed typo. (valid_builtin_assignconv_identity_widening_p): Handle boolean. (do_unary_numeric_promotion): Cleaned up code. (valid_cast_to_p): Handle boolean correctly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@36704 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-decl.c (c_expand_body): Don't generate RTL if flag_syntax_only.mmitchel2000-10-011-1/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (lang_mark_false_label_stack): Remove. * c-lex.c (init_c_lex): Add file_info_tree as GC root. Allocate <top level> string in GC area. (mark_splay_tree_node): New function. (mark_splay_tree): Likewise. * except.c (mark_eh_status): Only call lang_mark_false_label_stack if it exists. * ggc-callbacks.c (lang_mark_false_label_stack): Remove. * ggc-common.c (lang_mark_false_label_stack): Change type. * ggc.h (ggc_alloc_string): Add comment. (ggc_strdup): New function. * decl.c (lang_mark_false_label_stack): Remove. * lex.c (cp_mang_lang_type): Use ggc_alloc_cleared. * com.c (lang_mark_false_label_stack): Remove. Convert to GC. * Make-lang.in (s-java): Don't depend on ggc-callbacks.o. * Makefile.in (BACKEND): Don't include ggc-callbacks.o. (typeck.o): Depend on ggc.h. * class.c (add_method_1): Use GC functions for allocation. (init_class_processing): Register roots. * decl.c (ggc_p): Set to 1. (pending_local_decls): Make it static. (push_jvm_slot): Use GC functions for allocation. (init_decl_processing): Register roots. (give_name_to_locals): Use GC functions for allocation. (lang_mark_tree): New function. * java-tree.h (MAYBE_CREATE_TYPE_TYPE_LANG_SPECIFIC): Use GC functions for allocation. * jcf-parse.c (jcf_parse_source): Use ggc_strdup. * lex.c (java_lex): Use build_string, rather than replicating it inline. * parse.y (goal): Add more roots. (mark_parser_ctxt): New function. * typeck.c: Include ggc.h. * splay-tree.c (splay_tree_insert): Fix formatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@36687 138bc75d-0d04-0410-961f-82ee72b054a4
* 2000-09-29 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2000-09-291-1/+30
| | | | | | | | | | * parse.y (maybe_yank_clinit): Also keep <clinit> if its body contains something else than MODIFY_EXPR. (http://gcc.gnu.org/ml/gcc-patches/2000-09/msg01141.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@36670 138bc75d-0d04-0410-961f-82ee72b054a4
* * Make-lang.in (JAVA_SRCS): Include java-tree.h.mmitchel2000-09-231-29/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.in (parse.o): Depend on ggc.h. (class.o): Likewise. (constants.o): Likewise. (decl.o): Likewise. (expr.o): Likewise. (jcf-parse.o): Likewise. (jcf-write.o): Likewise. (mangle.o): Likewise. * class.c: Include ggc.h. (build_static_field_ref): Register GC roots. (layout_class): Likewise. (init_class_processing): Likewise. * constants.c: Include ggc.h. (current_constant_pool_data_ref): Remove. (tag_nodes): Move it to ... (get_tag_node): ... here. Register GC roots. * decl.c: Include ggc.h. Remove many global tree definitions. (throw_node): Define. (java_global_trees): Likewise. (predef_filenames): Make the size a constant. (init_decl_processing): Adjust accordingly. (init_decl_processing): Call init_jcf_parse. Register GC roots. * expr.c: Include ggc.h. (init_expr_processing): Register GC roots. (build_invokeinterface): Likewise. * java-tree.h: Replace extern tree declarations with macros. (java_global_trees): New variable. (java_tree_index): New enumeration. (init_jcf_parse): Declare. * jcf-parse.c: Include ggc.h. (current_class): Remove declaration. (main_class): Likewise. (all_class_list): Likewise. (predefined_filename_p): Adjust for constant size of predef_filenames. (init_jcf_parse): New function. * jcf-write.c: Include ggc.h. (generate_classfile): Register GC roots. (append_synthetic_attribute): Likewise. (append_innerclass_attribute_entry): Likewise. * lang.c: Include ggc.h. (lang_print_error): Register GC roots. * parse.h (struct parser_ctxt): Rename fields to avoid conflicts with macros. * parse.y: Include ggc.h. (wfl_operator): Remove. (goal): Register GC roots. (java_pop_parser_context): Adjust for new field names. (java_parser_context_save_global): Likewse. (java_parser_context_restore_global): Likewise. (java_parser_context_suspend): Likewise. (java_parser_context_resume): Likewise. (verify_constructor_circularity): Register GC roots. (lookup_cl): Likewise. (java_reorder_fields): Likewise. (build_current_this): Likewise. (class_in_current_package): Likewise. (argument_types_convertible): Likewise. (patch_cast): Rename wfl_op parameter to avoid macro conflicts. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@36581 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix for PR gcj/33:tromey2000-09-121-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * jv-scan.c (help): Document --encoding. (options): Added `encoding' entry. (OPT_ENCODING): New define. (main): Handle --encoding. Include <langinfo.h> if nl_langinfo exists. * lang-options.h: Document --classpath, --CLASSPATH, --main, and --encoding. * jcf-parse.c Include <langinfo.h> if we have nl_langinfo. (parse_source_file): Correctly call java_init_lex. Added `finput' argument. Use nl_langinfo to determine default encoding. * java-tree.h (current_encoding): Declare. * parse.y (java_parser_context_restore_global): Don't restore `finput'. (java_parser_context_save_global): Don't set `finput' field. (java_pop_parser_context): Don't restore `finput'. Free old lexer if required. * lang.c (current_encoding): New global. (lang_decode_option): Recognize `-fencoding='. (finish_parse): Don't close finput. * parse.h (struct parser_ctxt): Removed `finput' and `unget_utf8_value' fields. Added `lexer' field. (java_init_lex): Fixed declaration. * lex.c (java_new_lexer): New function. (java_destroy_lexer): Likewise. (java_read_char): Added `lex' argument. Handle iconv case. (java_read_unicode): Added `lex' argument. Count backslashes in lexer structure. (java_init_lex): Added `finput' and `encoding' arguments. Set `lexer' field in ctxp. (BAD_UTF8_VALUE): Removed. (java_lex): Handle seeing UEOF in the middle of a string literal. * lex.h: Include <iconv.h> if HAVE_ICONV defined. (java_lexer): New structure. (UNGETC): Removed. (GETC): Removed. (DEFAULT_ENCODING): New define. (java_destroy_lexer): Declare. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@36377 138bc75d-0d04-0410-961f-82ee72b054a4