| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* gcj.texi (Input Options): documented the check for attribute
`gnu.gcc.gccj-compiled' and the `-fforce-classes-archive-check' flag.
* java-tree.h (flag_force_classes_archive_check): Declared extern.
* jcf-parse.c (HANDLE_GCJCOMPILED_ATTRIBUTE): New macro.
(jcf_parse): Check for the right classes archive if necessary.
* jcf-reader.c (get_attribute): Define `MATCH_ATTRIBUTE' and use it.
(jcf_parse_fields): Fixed indentation.
* jcf-write.c (append_gcj_attribute): New function.
(generate_classfile): Compute the attribute count, invoke
`append_gcj_attribute'.
* jcf.h (typedef struct JCF): `seen_in_zip' and `java_source'
turned into bit fields. New bit field `right_zip.'
(JCF_ZERO): Set `right_zip' to zero.
* lang-options.h (-fforce-classes-archive-check): Added flag.
* lang.c (flag_force_classes_archive_check): New flag.
(lang_f_options): New entry `force-classes-archive-check.'
Fixes PR java/1213.
(http://gcc.gnu.org/ml/gcc-patches/2001-03/msg01662.html)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40788 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
when result is is needed (target is STACK_TARGET).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40585 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* c-common.c (declare_function_name): Use func_id_node,
function_id_node, and pretty_function_id_node. Do not make
__func__ visible at file scope.
* c-common.h (c_tree_index): Add CTI_FUNCTION_ID,
CTI_PRETTY_FUNCTION_ID, and CTI_FUNC_ID.
(function_id_node, pretty_function_id_node, func_id_node): New
macros.
* c-decl.c (init_decl_processing): Initialize function_id_node,
pretty_function_id_node, and func_id_node.
(c_make_fname_decl): Correct comment.
* tree.h (struct tree_identifier): Constify pointer member.
* c-decl.c (pushdecl, implicit_decl_warning): Constify a char *.
* c-pragma.h (struct weak_syms): Constify name and value members.
(add_weak): Constify arguments.
* calls.c (special_function_p): Constify a char *.
(expand_call): Remove variable which is initialized and then
never used.
* dependence.c (struct def_use, struct induction, struct subscript):
Constify 'variable' member.
(get_low_bound, have_induction_variable): Constify char * argument.
(find_induction_variable): Add braces to avoid dangling else.
(classify_dependence): Constify char * arrays.
* profile.c (output_func_start_profiler): Constify a char *.
* stor-layout.c (finalize_record_size): Constify a char *.
* tree.c (is_attribute_p): Constify a char *.
* varasm.c (add_weak, remove_from_pending_weak_list): Constify argument.
* varasm.c (make_function_rtl, make_decl_rtl): Rearrange code
for comprehensibility. Do not call get_identifier if we did
not change the DECL_ASSEMBLER_NAME of the decl. Use alloca to
create temporary string constants, not ggc_alloc_string. No
need to copy result of ASM_FORMAT_PRIVATE_NAME. Use const
char * to hold IDENTIFIER_POINTERs.
ch:
* inout.c (add_enum_to_list): Use DECL_NAME directly, don't get
its IDENTIFIER_POINTER and immediately call get_identifier on it.
* lex.c (yywrap): Constify a char *.
cp:
* class.c (build_secondary_vtable): Constify a char *.
* decl.c (init_decl_processing): Initialize function_id_node,
pretty_function_id_node, and func_id_node.
* input.c (struct input_source): Constify 'str'.
(feed_input): Constify first argument.
* mangle.c (write_identifier): Constify argument.
* pt.c (mangle_class_name_for_template): Constify argument.
f:
* ansify.c: Use #line, not # <number>.
java:
* jcf-parse.c (set_source_filename): Constify a char *.
* jcf-write.c (append_innerclasses_attribute,
make_class_file_name): Constify a char *. Don't recycle a
variable for an unrelated purpose.
* parse.y: (build_alias_initializer_parameter_list): Constify a char *.
(breakdown_qualified): Do not modify IDENTIFIER_POINTER strings.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@36055 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* jcf-write.c (generate_bytecode_conditional): Re-installed lost
Jan 6 2000 patch.
(generate_bytecode_insns): Check `nargs' before emitting it.
* verify.c (merge_type_state): Fixed typo.
* ChangeLog: Fixed typo in some jcf-write.c entries mentioning
generate_bytecode_{conditional,insns}.
(http://gcc.gnu.org/ml/gcc-patches/2000-08/msg00617.html)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35733 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* class.c (maybe_layout_super_class): Fixed indentation.
* java-tree.h (CLASS_METHOD_CHECKED_P): New macro.
(java_check_methods): New function declaration.
* jcf-parse.c (get_constant): Let `char_len' go up to 3. Use `str'
instead of `str_ptr'.
* jcf-write.c (generate_bytecode_insns): Emit number the of args
of a `invokeinterface' at the right time.
* parse.h (WFL_STRIP_BRACKET): New macro.
(SET_TYPE_FOR_RESOLUTION): Use it.
* parse.y (build_unresolved_array_type): Reuse `type_or_wfl.'
(check_class_interface_creation): Don't check for cross package
innerclass name clashes.
(method_header): Behave properly if MDECL is `error_mark_node.'
(method_declarator): Return `error_mark_node' if bogus current
class.
(resolve_class): Apply WFL_STRIP_BRACKET on `cl' if necessary.
(resolve_and_layout): New local `decl_type', set and used. Call
java_check_methods.
(java_check_methods): New method.
(java_layout_classes): Use it.
(resolve_qualified_expression_name): No EH check necessary in
access$<n>.
(java_complete_lhs): Use VAR_DECL's DECL_INITIAL when evaluating
`case' statement.
(patch_assignment): Set DECL_INITIAL on integral final local.
(http://gcc.gnu.org/ml/gcc-patches/2000-08/msg00516.html)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35644 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35021 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35018 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34954 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
| |
* parse.y (generate_classfile): Exclude null strings.
(http://gcc.gnu.org/ml/gcc-patches/2000-07/msg00233.html)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34923 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* jcf-write.c (generate_classfile): Properly install the
ConstantValue attribute and the initial value constant pool index
on string constants.
* parse.y (java_complete_lhs): Keep DECL_INITIAL when emitting
class files.
(http://gcc.gnu.org/ml/gcc-patches/2000-07/msg00233.html)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34921 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* jcf-write.c (push_long_const): Appropriately cast short negative
constant to jword.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34802 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* except.c (prepare_eh_table_type): Use `CATCH_ALL_TYPE'.
2000-06-20 Alexandre Petit-Bianco <apbianco@cygnus.com>
* check-init.c (ENABLE_JC1_CHECKING): Replaces ENABLE_CHECKING for
Java specific checks.
* expr.c (build_instanceof): CLASS_INTERFACE and CLASS_FINAL usage
screened by DECL_P.
* java-tree.def (CASE_EXPR): Marked 'e'.
(DEFAULT_EXPR): Likewise.
* jcf-parse.c (set_source_filename): CLASS_COMPLETE_P usage
screened by DECL_P.
* jcf-write.c (ENABLE_JC1_CHECKING): Replaces ENABLE_CHECKING for
Java specific checks.
(generate_bytecode_insns): Test try_block for BLOCK before using
BLOCK_EXPR_BODY.
* parse.y (build_wfl_wrap): Added `location' argument. Set
EXPR_WFL_LINECOL accordingly.
(dim_expr:): Wrap constants with WFLs.
(method_declarator): Use TREE_TYPE not TYPE_NAME on GET_CPC.
(resolve_package): Check for `stmt' not being a BLOCK before
building a debuggable statement with it.
(make_qualified_primary): Added extra parameter to build_wfl_wrap
invocation.
(resolve_field_access): Make sure `decl' is a DECL before treating
it as such.
(maybe_build_primttype_type_ref): Make sure `wfl''s node is an
IDENTIFIER_NODE before treating it as such.
(patch_new_array_init): Make sure `elt' is a TREE_LIST before
treating it as such.
(find_applicable_accessible_methods_list): CLASS_INTERFACE macro
to be applied only on non array types.
2000-06-16 Per Bothner <per@bothner.com>
* java-tree.h (LABEL_RETURN_LABELS, LABEL_PENDING_CHAIN): Don't
define in terms of DECL_RESULT, as that fails when --enable-checking.
2000-06-06 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.h (REGISTER_IMPORT): Use `chainon' to link new entries.
* parse.y (find_in_imports): Returned type changed to void,
leading comment fixed.
(register_package): New function.
(qualify_and_find): Likewise.
(package_declaration:): Use `register_package'.
(single_type_import_declaration:): Removed local variable
`node'. Added missing `;' for consistency.
(type_import_on_demand_declaration:): Use `chainon' to link new
entries.
(lookup_field_wrapper): Lookup local variables defined in outer
contexts first.
(java_complete_class): Don't reverse the list of imported on demand.
(do_resolve_class): Reorganized. Removed local variable
`original_name'. Call `qualify_and_find' with the current package
name, invoke `find_in_imports_on_demand' right after. Call
`qualify_and_find' with the packages we've seen so far. Fixed
operations numbering in comments.
(java_expand_class): Don't reverse `package_list'.
(find_most_specific_methods_list): New local variables `abstract'
and `candidates'. Use them to pick the right method.
(Fixes for the ENABLE_TREE_CHECKING Java run-time build problem:
http://gcc.gnu.org/ml/gcc-patches/2000-06/msg00551.html)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34642 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
types the same in comparison.
(CHECK_OP): Add static prototype.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34566 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* bb-reorder.c (build_scope_forest): Initialize variable
`curr_scope'.
* calls.c (expand_call): Likewise for variables
`save_pending_stack_adjust' and `save_stack_pointer_delta'.
* i386.c (function_arg_advance, function_arg): Cast to avoid
signed/unsigned warnings.
* i386.h (MEMORY_MOVE_COST): Likewise.
* ifcvt.c (cond_exec_process_if_block): Initialize variables
`else_start' and `else_end'.
* libgcc2.h (__eh_alloc, __eh_free): Prototype.
* regrename.c (rr_replace_reg): Initialize variable `dest_subregno'.
ch:
* Makefile.in (EXPR_H): New dependency variable.
(actions.o, expr.o): Use EXPR_H.
(lang.o): Depend on RTL_H and EXPR_H.
* lang.c: Include rtl.h and expr.h.
(lang_get_alias_set): Mark parameter with ATTRIBUTE_UNUSED.
cp:
* decl2.c (compare_options): Don't needlessly cast away const-ness.
f:
* com.c (lang_get_alias_set): Mark parameter with ATTRIBUTE_UNUSED.
java:
* decl.c (create_primitive_vtable): Prototype.
* jcf-write.c (generate_bytecode_insns): Initialize variable
`saved_context'.
* lang.c (lang_get_alias_set): Mark parameter with ATTRIBUTE_UNUSED.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34490 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
* jcf-write.c (generate_bytecode_insns): At invokation time,
always relate an interface method to the type of its selector.
(Fix to the PR #71:
http://sourceware.cygnus.com/ml/java-prs/1999-q4/msg00040.html)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34330 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* jcf-write.c (generate_classfile): Scan the source_file for
slashes with the right pointer variable.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34006 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Makefile.in (WARN_CFLAGS): Add -Wwrite-strings.
(tree.o): Depend on output.h.
* c-decl.c (pending_invalid_xref_file,
current_function_prototype_file): Constify.
(pushdecl): Constify a local char *.
(define_label): Constify filename parameter.
* c-lex.c (init_parse): Constify parameter and return value.
* c-typeck.c (c_expand_asm_operands): Constify filename parameter.
* c-tree.h: Update prototypes.
* c-parse.in: Constify filename member of %union, and if_stmt_file.
* c-parse.y, c-parse.c, c-parse.h, objc/objc-parse.y,
objc/objc-parse.c: Regenerate.
* dwarfout.c (dwarfout_init): Constify main_input_filename parameter.
* dwarfout.h: Update prototypes.
* expr.c (expand_expr): Constify a local char *.
* flags.h: Constify main_input_filename.
* function.c (expand_function_end): Constify filename parameter.
* genrecog.c (make_insn_sequence): Use a character array for
c_test_pos.
(main): Remove unused variables.
* input.h: Constify input_filename, main_input_filename, and
file_stack.name. Update prototypes.
* output.h: Declare first_global_object_name and
weak_global_object_name here, as const char *.
* stmt.c (expand_asm_operands): Constify filename parameter.
* toplev.c (compile_file, push_srcloc, debug_start_source_file):
Constify filename parameter.
(input_filename, main_input_filename): Constify.
* toplev.h: Update prototypes.
* tree.c: Include output.h. Don't declare
first_global_object_name or weak_global_object_name. Clean up string
bashing in get_file_function_name_long.
* tree.h (struct tree_decl): Constify filename member.
(input_filename): Constify.
Update prototypes.
* varasm.c (first_global_object_name, weak_global_object_name):
Constify.
(assemble_start_function, assemble_variable): Clean up string bashing.
* gcc.c: Constify all spec-related strings initialized,
transitively, from string constants. Constify all strings
and string variables related to multilibs.
(set_spec, read_specs): Cast argument to free to PTR.
(used_arg): Do not modify multilib_matches. Use strncmp plus
length comparison to compare multilib switches.
* genmultilib: Constify everything declared in multilib.h.
ch:
* ch-tree.h: Update prototypes. Remove prototypes for
functions declared elsewhere.
* decl.c (define_label): Constify filename parameter.
* grant.c (globalize_decl, set_default_grant_file): Constify
local char * variables. Don't declare
first_global_object_name or asm_out_file.
* lang.c (chill_real_input_filename): Constify.
* lex.c (init_parse): Constify parameter and return value.
* parse.c: Don't declare input_filename.
(ch_expand_asm_operands): Constify filename parameter.
(parse_multi_dimension_case_action): Constify local char *.
* satisfy.c (safe_satisfy_decl): Constify local char *.
cp:
* cp-tree.h: Constify tree_srcloc.filename, tinst_level.file,
and pending_inline.filename. Update prototypes.
* decl.c (define_label): Constify filename parameter.
* decl2.c (warn_if_unknown_interface): Constify local char *.
* input.c Constify input_source.filename. Don't declare
input_filename or lineno. Constify filename parameter to feed_input.
* lex.c (init_parse): Constify parameter and return value.
(cp_pragma_interface, cp_pragma_implementation): Constify
filename argument.
(reinit_parse_for_method, reinit_parse_for_block,
reinit_parse_for_expr, feed_defarg, handle_cp_pragma):
Constify local char *.
* pt.c: Don't declare lineno or input_filename.
(print_template_context, tsubst_friend_function, tsubst_decl,
tsubst, instantiate_decl): Constify local char *.
* semantics.c (expand_body): Constify local char *.
* tree.c (build_srcloc): Constify filename parameter.
* typeck.c (c_expand_asm_operands): Constify filename
parameter.
f:
* com.c (ffecom_subscript_check_): Constify array_name
parameter. Clean up string bashing.
(ffecom_arrayref_, ffecom_char_args_x_): Constify array_name
parameter.
(ffecom_do_entry_, ffecom_gen_sfuncdef_, ffecom_start_progunit_,
ffecom_sym_transform_, ffecom_sym_transform_assign_): Constify
local char *.
(init_parse): Constify parameter and return value.
* lex.c: Include dwarfout.h instead of prototyping dwarfout_*
functions here.
(ffelex_file_pop_, ffelex_file_push_): Constify filename parameter.
(ffelex_hash_, ffelex_include_): Constify local char *.
* std.c (ffestd_exec_end): Constify local char *.
* where.c (ffewhere_file_new): Constify filename parameter.
* where.h: Update prototypes.
java:
* check_init.c (check_init): Constify local char *.
* class.c (push_class): Constify local char *.
* java_tree.h: Update prototypes.
* jcf-io.c (open_class): Constify filename parameter and
return value.
(find_class): Remove redundant string copy. Cast return from
open_class.
* jcf-parse.c (read_class, parse_class_file, yyparse):
Constify local char *.
* jcf-write.c (generate_bytecode_insns, generate_classfile):
Constify local char *.
* jcf.h (JCF): Constify filename and classname.
(JCF_FINISH): Cast args to FREE to char * when appropriate.
* lang.c (init_parse): Constify parameter and return value.
* lex.c (java_get_line_col): Constify filename parameter.
* parse.h: Constify parser_ctxt.filename. Update prototypes.
* parse.y (java_parser_context_suspend,
issue_warning_error_from_context, safe_layout_class): Constify
local char *.
* parse.c: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33804 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* parse-scan.y (pop_class_context): Reset `inner_qualifier_length'
to 0 when it reaches -1.
2000-03-27 Alexandre Petit-Bianco <apbianco@cygnus.com>
* jcf-parse.c (get_constant): Properly cast `num' during the
invocation of `add_double call'.
* jcf-write.c (push_long_const): Properly cast `lo' before
comparing it to short bounds.
* parse-scan.y (interface_declaration:): Rule re-arrange so that
`interface_body:' is reduced after the current interface is
pushed.
2000-02-28 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse-scan.y (inner_qualifier, inner_qualifier_length): New
static globals.
(push_class_context, pop_class_context): New function.
(class_body:): Call pop_class_context.
(interface_body:): Likewise.
(INNER_QUALIFIER): New macro.
(report_class_declaration): Changed output format and use
INNER_QUALIFIER. Call push_class_context.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32779 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* parse.y (check_abstract_method_definitions): New local
`end_type_reached'. Make sure we also consider `end_type'.
(java_check_abstract_method_definitions): Make sure we also
eventually consider `java.lang.Object'.
(maybe_use_access_method): Don't use access method if not a pure
inner class or if the method's context is right.
(find_applicable_accessible_methods_list): New static
`object_done'. Don't search abstract classes as interfaces. Fixed
indentation. Fixed the `java.lang.Object' only search. Search class'
interface(s) first, fully search enclosing contexts.
(find_most_specific_methods_list): Pick closest candidates when
they're all abstract.
2000-03-17 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (check_method_types_complete): New function.
(create_class): Reset anonymous class counter only when seeing an
non inner classe.
(java_complete_class): JDEP_METHOD: Don't recompute signature
if incomplete.
2000-03-17 Alexandre Petit-Bianco <apbianco@cygnus.com>
* class.c (build_static_ref): Fixed indentation in comment.
* java-tree.def (TRY_EXPR): Fixed typo in name.
(CLASS_LITERAL): Likewise.
* java-tree.h: (TYPE_DOT_CLASS): New macro.
(struct lang_type): New field `dot_class'.
* jcf-write.c (generate_bytecode_insns): Fixed error message.
(generate_classfile): Method `class$' is synthetic.
* parse.y (build_do_class_method): New function.
(build_dot_class_method_invocation): Likewise.
(java_complete_expand_methods): Expand TYPE_DOT_CLASS if necessary.
(resolve_qualified_expression_name): Handle CLASS_LITERAL.
(qualify_ambiguous_name): Likewise.
(patch_incomplete_class_ref): Invoke synthetic method if necessary.
(build_try_statement): Fixed leading comment.
2000-03-15 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.h (INNER_ENCLOSING_SCOPE_CHECK): Disregard anonymous
classes.
* parse.y (patch_method_invocation): Handle anonymous classes
creation in static context.
2000-03-15 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.h (INNER_ENCLOSING_SCOPE_CHECK): New macro.
* parse.y (resolve_qualified_expression_name): Use it.
(patch_method_invocation): Likewise.
2000-03-15 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (register_incomplete_type): JDEP_ENCLOSING set
depending on the type of dependency which dictates what the
current class is.
(unresolved_type_p): Resolved types limited to the current class.
(For details, see: http://gcc.gnu.org/ml/gcc-patches/2000-03/msg00790.html)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32701 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
* jcf-write.c (generate_bytecode_insns): TRY_FINALLY_EXPR:
properly initialize `finished_label.' Don't emit gotos for empty
try statements.
(Minor fix: http://gcc.gnu.org/ml/gcc-patches/2000-03/msg00762.html)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32690 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32517 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
| |
* jcf-write.c (generate_bytecode_insns): TRY_FINALLY_EXPR:
initialize locals to avoid warnings. Local `exception_type' moved
into if statement.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32161 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* jcf-write.c (generate_bytecode_insns): Don't generate empty
`finally' clauses.
Thu Feb 17 13:20:58 2000 Alexandre Petit-Bianco <apbianco@cygnus.com>
* jcf-parse.c (load_class): Call `fatal' if no file containing
the target class are found.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32095 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
determine how many stack slots to pop.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31709 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* parse.y (formal_parameter:): Set `$$' to NULL_TREE for better
error handling/recovery.
* java-tree.h (SYNCHRONIZED_EXPR): Fixed typo in comment.
Wed Jan 12 20:20:11 2000 Alexandre Petit-Bianco <apbianco@cygnus.com>
* jcf-write.c (generate_bytecode_insns): binop: Change the type of
the shift value to int. Fixed typo in comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31695 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
| |
* jcf-write.c (emit_goto): RESERVE 3 bytes for insn.
(emit_if): Ditto.
(emit_jsr): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31647 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* check-init.c: Likewise.
* class.c: Likewise.
* constants.c: Likewise.
* convert.h: Likewise.
* decl.c: Likewise.
* except.c: Likewise.
* expr.c: Likewise.
* gjavah.c: Likewise.
* java-except.h: Likewise.
* java-tree.h: Likewise.
* jcf-depend.c: Likewise.
* jcf-dump.c: Likewise.
* jcf-parse.c: Likewise.
* jcf-path.c: Likewise.
* jcf-reader.c: Likewise.
* jcf-write.c: Likewise.
* jcf.h: Likewise.
* jv-scan.c: Likewise.
* jvgenmain.c: Likewise.
* jvspec.c: Likewise.
* lang.c: Likewise.
* lex.c: Likewise.
* lex.h: Likewise.
* parse-scan.y: Likewise.
* parse.h: Likewise.
* parse.y: Likewise.
* typeck.c: Likewise.
* verify.c: Likewise.
* xref.c: Likewise.
* xref.h: Likewise.
* zextract.c: Likewise.
* zipfile.h: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31550 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
* jcf-path.c: Delete PATH_SEPARATOR and DIR_SEPARATOR macros.
* jcf-write.c: Likewise.
* parse.y: Likewise.
* parse.c: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31344 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
bytecodes in the correct order.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31301 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* jcf-write.c (generate_byecode_conditional): Fixed indentation in
method invocation and typo in conditional expression.
(generate_bytecode_insns): COND_EXPR can be part of a binop. Issue
the appropriate NOTE_POP.
* parse.y (patch_binop): Shift value mask to feature the right
type.
(This is a fix for the PR #122:
http://sourceware.cygnus.com/ml/java-prs/2000-q1/msg00000.html)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31277 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
* parse.h (BUILD_THROW): Add support for sjlj-exceptions.
decl.c (init_decl_processing): Add _Jv_Sjlj_Throw.
expr.c (build_java_athrow): Add support for sjlj-exceptions.
java-tree.h: Ditto.
jcf-write.c: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30859 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* jcf-write.c (generate_byecode_insns): Fixed indentation for
COMPOUND_EXPR and FIX_TRUNC_EXPR cases.
* parse.y (patch_assignment): Removed bogus final class test on
lhs when checking on whether to emit an ArrayStoreException runtime
check.
* expr.c (expand_java_arraystore): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30806 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29955 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
* (RELOCATION_VALUE_1): Fixed integer value from 0 to 1.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29933 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* jcf-write.c: (RELOCATION_VALUE_0): New macro.
(RELOCATION_VALUE_1): Likewise.
(emit_iinc, emit_reloc, push_constant1, push_constant2,
push_in_const, push_long_const): Prototyped.
(push_constant1): Argument `index' is of type HOST_WIDE_INT.
(push_constant2): Likewise.
(push_int_const): Cast find_constant1's integer arguments to `jword'.
(find_constant_wide): Cast find_constant2's integer arguments to
`jword'.
(find_constant_index): Cast find_constant2's and find_constant2's
integer arguments to `jword'.
(emit_pop): Argument `value' is of type HOST_WIDE_INT.
(emit_switch_reloc): Use RELOCATION_VALUE_0.
(emit_if): Use RELOCATION_VALUE_1.
(emit_goto): Likewise.
(emit_jsr): Likewise.
(generate_bytecode_insns): Use RELOCATION_VALUE_0. Cast second
argument to push_long_const to HOST_WIDE_INT.
(This is a forgotten patch.)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29932 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
out a bunch of data and then skips backwards to fill in blanks. When
configured with --enable-checking, this patching up will often trip
the checking code. This change introduces UNSAFE_PUTx macros which
never use CHECK_PUT. These should only be used in cases we know
CHECK_PUT will fail.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29854 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
comments in C code.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28940 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
cxx_keyword_subst, generate_access, name_is_method_p,
get_field_name, print_field_name, super_class_name, print_include,
decode_signature_piece, print_class_decls, usage, help,
java_no_argument, version, add_namelet, print_namelet): Add static
prototype.
(print_base_classname, utf8_cmp, cxx_keyword_subst,
name_is_method_p): Constify a char*.
(get_field_name): Likewise. Prefer xstrdup over malloc/strcpy.
Provide a final else clause in an if-else-if.
(print_field_info): Add missing final arg in function call to
`print_field_name'.
(print_method_info, decompile_method, decode_signature_piece,
print_c_decl, print_full_cxx_name, print_stub,
print_mangled_classname, super_class_name, print_include,
add_namelet, add_class_decl, print_class_decls, process_file,
help): Constify a char*.
* jcf-write.c (jcf_handler, push_constant1, push_constant2,
push_int_const, find_constant_wide, find_constant_index,
push_long_const, field_op, maybe_wide, emit_dup, emit_pop,
emit_iinc, emit_load_or_store, emit_load, emit_store, emit_unop,
emit_binop, emit_reloc, emit_switch_reloc, emit_case_reloc,
emit_if, emit_goto, emit_jsr, call_cleanups,
make_class_file_name): Add static prototypes.
(generate_bytecode_return, generate_bytecode_insns): Pass a
NULL_PTR, not a NULL_TREE.
* jv-scan.c: Include "jcf.h".
(main): Declare using DEFUN macro.
* jvspec.c (find_spec_file, lang_specific_pre_link,
lang_specific_driver): Add prototypes.
(find_spec_file): Constify a char*.
* keyword.gperf (hash, java_keyword): Add prototypes.
* lang.c (lang_print_error): Add static prototype.
(lang_init): Prefer memcpy over bcopy to avoid casts.
* lex.c (yylex): Add static prototype.
* parse-scan.y: Include "lex.c" earlier.
* parse.h: Remove redundant declaration for `yylex'.
* parse.y (java_decl_equiv, binop_compound_p, search_loop,
labeled_block_contains_loop_p): Add static prototypes.
(not_accessible_p): Make static to match prototype.
* verify.c (start_pc_cmp): Don't needlessly cast away const.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28862 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* expr.c (build_java_soft_divmod): Provide a default case in switch.
(java_lang_expand_expr): Mark parameters `target', `tmode' and
`modifier' with ATTRIBUTE_UNUSED.
* gjavah.c (process_file): Add braces around ambiguous `else'.
* jcf-dump.c (print_access_flags, localvar_free): Change return
type to void.
* parse.y (java_complete_expand_method): Initialize variable
`exception_copy'.
(resolve_qualified_expression_name): Likewise for `field_decl'.
(patch_method_invocation): Likewise for `class_to_search'.
(qualify_ambiguous_name): Likewise for `name' and `ptr_type'.
(patch_assignment): Likewise for `lhs_type'.
* verify.c (verify_jvm_instructions): Remove unused variable
`caller'.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28344 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
$(srcdir)/../system.h and $(JAVA_TREE_H).
(jcf-io.o): Depend on $(JAVA_TREE_H).
(mangle.o): Likewise.
* check-init.c (check_cond_init): Add static prototype.
* class.c (build_java_method_type, hashUtf8String,
make_field_value, get_dispatch_vector, get_dispatch_table,
append_gpp_mangled_type, mangle_static_field): Likewise.
(strLengthUtf8): Hide unused definition.
(hashUtf8String): Const-ify.
(make_field_value): Un-ANSI-fy.
* constants.c: Move inclusion of jcf.h above java-tree.h.
(set_constant_entry, find_class_or_string_constant,
find_name_and_type_constant, get_tag_node,
build_constant_data_ref): Add static prototype.
* decl.c (push_jvm_slot, builtin_function,
lookup_name_current_level): Likewise.
(builtin_function): Const-ify.
* except.c (expand_start_java_handler, expand_end_java_handler):
Add static prototype.
* expr.c (flush_quick_stack, push_value, pop_value,
java_stack_swap, java_stack_dup, build_java_athrow,
build_java_jsr, build_java_ret, expand_java_multianewarray,
expand_java_arraystore, expand_java_arrayload,
expand_java_array_length, build_java_monitor, expand_java_pushc,
expand_java_return, expand_java_NEW, expand_java_INSTANCEOF,
expand_java_CHECKCAST, expand_iinc, expand_java_binop, note_label,
expand_compare, expand_test, expand_cond, expand_java_goto,
expand_java_call, expand_java_ret, pop_arguments, expand_invoke,
expand_java_field_op, java_push_constant_from_pool): Likewise.
(decode_newarray_type, expand_iinc): Un-ANSI-fy.
(build_java_arraynull_check): Mark parameters `node' and `type'
with ATTRIBUTE_UNUSED.
(note_label): Likewise for parameter `current_pc'.
(expand_java_call, expand_java_ret): Hide unused definition.
* java-tree.h (make_class, build_constants_constructor,
java_set_exception_lang_code, pop_labeled_block, emit_handlers,
init_outgoing_cpool, register_class, emit_register_classes,
java_layout_seen_class_methods): Prototype.
(unicode_mangling_length): Const-ify.
(append_gpp_mangled_name, append_gpp_mangled_classtype,
emit_unicode_mangled_name, format_int, format_uint,
jcf_trim_old_input, jcf_print_utf8, jcf_print_char,
jcf_print_utf8_replace, open_class): Prototype.
* jcf-dump.c: Include "config.h", not <config.h>. Don't include
<stdio.h>. Include tree.h/java-tree.h.
(utf8_equal_string usage, process_class): Add static prototype.
(open_class): Don't prototype this here.
(utf8_equal_string): Match arguments to format specifiers.
(HANDLE_CODE_ATTRIBUTE, BRANCH, JSR, RET, LOOKUP_SWITCH,
TABLE_SWITCH, disassemble_method): Likewise.
* jcf-io.c: Include tree.h/java-tree.h.
(open_class, find_classfile, jcf_print_utf8,
jcf_print_utf8_replace): Const-ify.
* jcf-parse.c (parse_zip_file_entries, process_zip_dir,
parse_class_file): Add static prototype.
(find_in_current_zip): Match definition to existing static
prototype.
* jcf-write.c: Include jcf.h before tree.h/java-tree.h.
(alloc_chunk, append_chunk, append_chunk_copy, gen_jcf_label,
finish_jcf_block, define_jcf_label, get_jcf_label_here,
put_linenumber, localvar_alloc, localvar_free, get_access_flags,
write_chunks, adjust_typed_op, generate_bytecode_conditional,
generate_bytecode_return, perform_relocations, init_jcf_state,
init_jcf_method, release_jcf_state, generate_classfile):
Add static prototype.
(emit_unop): Mark parameter `type' with ATTRIBUTE_UNUSED.
(make_class_file_name): Const-ify.
* jcf.h (find_classfile): Const-ify.
* jv-scan.c (reset_report): Remove prototype.
* jvgenmain.c: Include jcf.h/tree.h/java-tree.h.
(error): Rewrite to allow varargs.
* lang.c (lang_f_options): Const-ify.
* lex.c (java_parse_escape_sequence): Add static prototype.
(java_allocate_new_line): Match definition to existing static
prototype.
* mangle.c Include tree.h/java-tree.h.
(unicode_mangling_length, emit_unicode_mangled_name,
append_gpp_mangled_name, append_gpp_mangled_classtype): Const-ify.
* parse.h (jdep_code): Remove trailing comma in enumeration.
(java_get_line_col): Move prototype outside of !JC1_LITE test.
(reset_report): Add prototype.
* verify.c (push_pending_label, merge_types): Add static
prototypes.
* zipfile.h (opendir_in_zip, open_in_zip): Prototype.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25878 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* class.c (make_class): Don't set CLASS_P here (because
this function is also called by build_java_array_type).
(push_class): Set CLASS_P here instead.
* parse.h (TYPE_CLASS_P): Check for TYPE_ARRAY_P is redundant.
* jcf-dump.c (print_access_flags): Take extra parameter to indicate
context. If the context is class, perfer "super" over "synchronized".
* jcf-write.c (generate_classfile): Don't add ACC_SUPER if interface.
* parse.y (create_class): Don't call parser_check_super here;
it is not robust. Always wait until later.
* parse.y (method_header): For interfaces, set ACC_ABSTRACT (to
match what JDK 1.2 does), but don't set ACC_PUBLIC.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25783 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
* jcf-write.c (generate_bytecode_insns): Handle __builtin_fmod, for %.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25682 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* decl.c (build_result_decl), java-tree.h: New method.
(complete_start_java_method): Handle synchronized methods.
Don't build DECL_RESULT here. (Ordering dependency problem.)
(start_java_method): Call build_result_decl here instead ...
* parse.y (java_complete_expand_method): ... and here.
(expand_start_java_method): Don't call complete_start_java_method here.
(java_complete_expand_method): Call it here instead.
* parse.h (BUILD_MONITOR_ENTER, BUILD_MONITOR_EXIT): Moved to ..
* java-tree.h: ... here.
* expr.c (force_evaluation_order): Fix typo, don't handle ARRAY_REF.
* parse.y (java_complete_lhs): Don't call force_evaluation_order
for ARRAY_REF - it doesn't work when array bounds are checked.
(patch_array_ref): Handle it here instead.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25345 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
Use new TRY_FINALLY_EXPR tree node. See ChangeLog.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25314 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Optimize: `return (a ? b : c)' as: `if (a) return b; else return c;'.
* jcf-write.c (generate_bytecode_return): New function.
(generate_bytecode_insns): Use it, for RETURN_EXPR.
* jcf-write.c (generate_bytecode_insns): For REAL_CST that is 0 or 1,
generate special [fd]const_[01] instructions.
* jcf-parse.c (yyparse): Don't emit_register_classes if -fsyntax-only.
* verify.c (verify_jvm_instructions): Do INVALIDATE_PC after
handling OPCODE_lookupswitch or OPCODE_tableswitch.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24971 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
| |
* jcf-write.c (localvar_alloc): Only emit entry for
LocalVariableTable if debug_info_level > DINFO_LEVEL_TERSE.
(generate_bytecode_insns): Only call put_linenumber if
debug_info_level > DINFO_LEVEL_NONE.
* jvspec.c (lang_specific_driver): If no -O* or -g* option
is specified, add -g1 (for compatibility wih javac).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24963 138bc75d-0d04-0410-961f-82ee72b054a4
|