Commit Graph

2010 Commits

Author SHA1 Message Date
Tom Tromey
facb553fe4 gcj.texi (Arrays): Added more documentation for JvNewObjectArray.
* gcj.texi (Arrays): Added more documentation for
	JvNewObjectArray.
	(Primitive types): Correct information about primitive classes.
	(Reference types): New node.
	(Index): New node.

From-SVN: r109432
2006-01-06 21:17:54 +00:00
Alexandre Oliva
2eefc7734e jcf-parse.c (set_source_filename): Set the decl source location even when returning early.
* jcf-parse.c (set_source_filename): Set the decl source location
even when returning early.

From-SVN: r108662
2005-12-16 17:27:21 +00:00
Tom Tromey
86bcd3a224 re PR java/25429 (can't see private static final int CREATE = 1)
gcc/java:
	PR java/25429
	* parse.y (resolve_expression_name): Don't generate accessor
	methods for constant fields.
libjava:
	* testsuite/libjava.compile/rh175833.java: New file.
	* testsuite/libjava.compile/pr25429.java: New file.

Co-Authored-By: Andrew Haley <aph@redhat.com>

From-SVN: r108608
2005-12-16 00:00:43 +00:00
Andrew Haley
65260edb31 re PR java/25366 (ICE in do_resolve_class)
2005-12-13  Andrew Haley  <aph@redhat.com>

        PR java/25366
        PR java/25368
        * class.c (maybe_layout_super_class): Update current_class before
        calling do_resolve_class.

From-SVN: r108474
2005-12-13 09:41:45 +00:00
H.J. Lu
74daec8cf2 re PR java/25330 (A race condition in write_classfile)
2005-12-12  H.J. Lu  <hongjiu.lu@intel.com>

	PR java/25330
	* jcf-write.c (write_classfile): Use PID in temporary class
	file. Save/restore errno when reporting error.

From-SVN: r108411
2005-12-12 07:27:43 -08:00
Terry Laurenzo
92aed1cbf4 Fixes java/PR9861
From-SVN: r108374
2005-12-11 01:34:02 +00:00
Andrew Haley
ccd83be5d6 re PR libgcj/25265 (linking BC-compiled classes with incompatible changes)
2005-12-08  Andrew Haley  <aph@redhat.com>

        PR libgcj/25265
        * java-tree.h (enum java_tree_index): Add JTI_SOFT_NOSUCHFIELD_NODE.
        (soft_abstractmethod_node): New.
        * expr.c (build_field_ref): Add in-line check for missing field.
        * decl.c (java_init_decl_processing): Add soft_nosuchfield_node.

2005-12-08  Andrew Haley  <aph@redhat.com>

        PR libgcj/25265
        * java/lang/Object.h (throwNoSuchMethodError): New method.
        * java/lang/Object.java (throwNoSuchMethodError): New method.
        * include/jvm.h (_Jv_ThrowNoSuchFieldError): Declare.
        * link.cc (_Jv_ThrowNoSuchFieldError): New.
        (link_symbol_table): Don't throw a NoSuchFieldError if a field is
        missing.  Instead, set the otable entry to zero.
        (link_symbol_table): If we don't find a nonstatic method, insert
        the vtable offset of Object.throwNoSuchMethodError() into the
        otable.

From-SVN: r108235
2005-12-08 15:32:44 +00:00
Andrew Haley
e00388458d java-tree.h (enum java_tree_index): Add JTI_SOFT_NOSUCHFIELD_NODE.
2005-12-08  Andrew Haley  <aph@redhat.com>

	* java-tree.h (enum java_tree_index): Add JTI_SOFT_NOSUCHFIELD_NODE.
	(soft_abstractmethod_node): New.
	* expr.c (build_field_ref): Add in-line check for missing field.
	* decl.c (java_init_decl_processing): Add soft_nosuchfield_node.

2005-12-08  Andrew Haley  <aph@redhat.com>

	* java/lang/Object.h (throwNoSuchMethodError): New method.
	* java/lang/Object.java (throwNoSuchMethodError): New method.
	* include/jvm.h (_Jv_ThrowNoSuchFieldError): Declare.
	* link.cc (_Jv_ThrowNoSuchFieldError): New.
	(link_symbol_table): Don't throw a NoSuchFieldError if a field is
	missing.  Instead, set the otable entry to zero.
	(link_symbol_table): If we don't find a nonstatic method, insert
	the vtable offset of Object.throwNoSuchMethodError() into the
	otable.


[[Split portion of a mixed commit.]]

From-SVN: r108230.2
2005-12-08 13:52:39 +00:00
Rafael Ávila de Espíndola
bd97af0659 sourcebuild.texi (all.build, [...]): Remove.
gcc/
	* doc/sourcebuild.texi (all.build, install-normal): Remove.
	* configure.ac: Remove all.build and install-normal from target_list
	* configure: Regenerate.
	* Makefile.in (install): Don't depend on install-normal.
gcc/java/
	* Make-lang.in (java.all.build, java.install-normal): Remove.
gcc/objc/
	* Make-lang.in (objc.all.build, objc.install-normal): Remove.
gcc/objcp/
	* Make-lang.in (obj-c++.all.build, obj-c++.install-normal): Remove.
gcc/cp/
	* Make-lang.in (c++.all.build, c++.install-normal): Remove.
gcc/ada/
	* Make-lang.in (ada.install-normal): Remove.
gcc/fortran/
	* Make-lang.in (fortran.all.build, fortran.install-normal): Remove.
gcc/treelang/
	* Make-lang.in (treelang.all.build, treelang.install-normal): Remove.

From-SVN: r108158
2005-12-07 22:10:30 +10:30
Alan Modra
2f4d2d181a gty.texi: Remove instructions for adding a dependency on s-gtype.
gcc/
	* doc/gty.texi: Remove instructions for adding a dependency on s-gtype.
	* Makefile.in: Add code to compute some dependencies on s-gtype
	automatically.  Remove the declaration of those dependencies.
gcc/java/
	* Make-lang.in: Remove all dependencies on s-gtype, except for
	gt-java-parse.h.
gcc/objc/
	* Make-lang.in: Remove all dependencies on s-gtype.
gcc/objcp/
	* Make-lang.in: Remove all dependencies on s-gtype.
gcc/cp/
	* Make-lang.in: Remove all dependencies on s-gtype.
gcc/ada/
	* Make-lang.in: Remove all dependencies on s-gtype.
gcc/fortran/
	* Make-lang.in: Remove all dependencies on s-gtype, except for
	gt-fortran-trans.h.
gcc/treelang/
	* Make-lang.in: Remove all dependencies on s-gtype.

From-SVN: r108155
2005-12-07 21:52:18 +10:30
Richard Sandiford
d6b5193bfc alpha.c (alpha_start_function): Use switch_to_section.
* config/alpha/alpha.c (alpha_start_function): Use switch_to_section.
	(alpha_elf_select_rtx_section): Return the selected section rather
	than emitting assembly code.
	(alpha_write_linkage): Emit a ".link" directive directly and then
	set in_section to NULL.
	(vms_asm_out_constructor): Use switch_to_section.
	(vms_asm_out_destructor): Likewise.
	(unicosmk_output_common): Set in_section to NULL instead of calling
	the dummy common_section function.
	(unicosmk_text_section): Delete in favor of...
	(unicosmk_output_text_section_asm_op): ...this new function.
	(unicosmk_data_section): Delete in favor of...
	(unicosmk_output_data_section_asm_op): ...this new function.
	(unicosmk_init_sections): New function.
	(unicosmk_output_deferred_case_vectors): Use switch_to_section.
	(unicosmk_output_ssib): Set in_section to NULL instead of calling
	the dummy ssib_section function.
	(unicosmk_section_buf): Delete.
	* config/alpha/alpha-protos.h (unicosmk_text_section): Delete.
	(unicosmk_data_section): Delete.
	* config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Use switch_to_section.
	(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS, sbss_section, sdata_section)
	(SECTION_FUNCTION_TEMPLATE): Delete.
	* config/alpha/unicosmk.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP)
	(READONLY_DATA_SECTION, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS)
	(common_section, COMMON_SECTION, ssib_section, SSIB_SECTION): Delete.
	(ASM_OUTPUT_ALIGNED_LOCAL): Use switch_to_section.
	(TARGET_ASM_INIT_SECTIONS): Define.
	* config/alpha/vms.h (LINK_SECTION_ASM_OP, LITERALS_SECTION_ASM_OP)
	(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
	(link_section, literals_section): Delete.
	(ASM_OUTPUT_DEF): Emit the ".literal" directive directly and then
	set in_section to NULL.

	* config/arm/aof.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Delete.
	(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS, ZERO_INIT_SECTION): Delete.
	(COMMON_SECTION): Delete.
	(TARGET_ASM_INIT_SECTIONS): Define.
	(ASM_OUTPUT_COMMON): Set in_section to NULL rather than calling
	the dummy common_section function.
	* config/arm/aout.h (ASM_OUTPUT_ALIGNED_LOCAL): Use switch_to_section.
	* config/arm/arm.c (get_jump_table_size): Use pointer comparison
	between readonly_data_section and text_section to check whether
	read-only data is being put in the text section.
	(arm_output_function_epilogue): Use switch_to_section.
	(arm_elf_asm_constructor): Likewise.
	(thumb_call_via_reg): Replace call to in_text_section with
	a comparison between in_section and text_section.
	(arm_file_end): Use switch_to_section.
	(aof_text_section): Delete in favor of...
	(aof_output_text_section_asm_op): ...this new function.
	(aof_data_section): Delete in favor of...
	(aof_output_data_section_asm_op): ...this new function.
	(aof_asm_init_sections): New function.
	(zero_init_section): Moved from config/arm/aof.h.
	(aof_dump_imports, aof_file_start): Use switch_to_section.
	* config/arm/arm.h (thumb_call_via_label): Update comment.
	* config/arm/arm-protos.h (aof_text_section, aof_data_section): Delete.
	(common_section): Delete.
	* config/arm/pe.h (ASM_DECLARE_FUNCTION_NAME): Use switch_to_section.
	(ASM_DECLARE_OBJECT_NAME): Update the type of save_section.  Use the
	global switch_to_section function instead of the old port-local one.
	(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS, DRECTVE_SECTION_FUNCTION)
	(SWITCH_TO_SECTION_FUNCTION): Delete.
	(drectve_section): Redefine as a macro.
	* config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS):
	(ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use get_named_section and
	switch_to_section.

	* config/avr/avr.c (progmem_section): New variable.
	(avr_output_progmem_section_asm_op): New function.
	(avr_asm_init_sections): New function.
	(avr_output_addr_vec_elt): Use switch_to_section.
	* config/avr/avr.h (progmem_section): Declare.
	(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
	(READONLY_DATA_SECTION): Delete.
	(TARGET_ASM_INIT_SECTIONS): Define.
	(ASM_OUTPUT_CASE_LABEL): Use switch_to_section.
	* config/avr/avr-protos.h (progmem_section): Delete.

	* config/bfin/bfin.h (ASM_OUTPUT_LOCAL): Use switch_to_section.

	* config/c4x/c4x.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS)
	(INIT_SECTION_FUNCTION, FINI_SECTION_FUNCTION): Delete.

	* config/darwin-sections.def: New file.
	* config/darwin.c: Define all sections in darwin-sections.def.
	(output_objc_section_asm_op, darwin_init_sections): New functions.
	(machopic_output_indirection): Use switch_to_section.
	(machopic_select_section): Return the selected section rather than
	emitting assembly code.  Replace the static function table with
	inline conditional expressions.  Update the tests of last_text_section
	and move them into the FUNCTION_DECL block.
	(machopic_select_rtx_section): Return the selected section rather than
	emitting assembly code.
	(machopic_asm_out_constructor, machopic_asm_out_destructor)
	(darwin_file_end): Use switch_to_section.
	* config/darwin.h: Use darwin-sections.def to declare sections.
	(INIT_SECTION_ASM_OP): Remove empty definition.
	(HAS_INIT_SECTION): Define this instead.
	(SECTION_FUNCTION, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
	(READONLY_DATA_SECTION, TARGET_ASM_EXCEPTION_SECTION): Delete.
	(TARGET_ASM_EH_FRAME_SECTION): Delete.
	(TARGET_ASM_INIT_SECTIONS): Define.
	* config/darwin-protos.h (darwin_init_sections): Declare.
	(machopic_picsymbol_stub_section, machopic_picsymbol_stub1_section)
	(machopic_symbol_stub_section, machopic_symbol_stub1_section): Delete.
	(machopic_lazy_symbol_ptr_section, machopic_nl_symbol_ptr_section)
	(constructor_section, destructor_section, mod_init_section): Delete.
	(mod_term_section): Delete.
	(darwin_exception_section, darwin_eh_frame_section): Delete.
	(machopic_select_section): Return a section.
	(machopic_select_rtx_section): Likewise.
	(text_coal_section, text_unlikely_section, text_unlikely_coal_section)
	(const_section, const_coal_section, const_data_section): Delete.
	(const_data_coal_section, data_coal_section, cstring_section): Delete.
	(literal4_section, literal8_section, constructor_section): Delete.
	(mod_init_section, mod_term_section, destructor_section): Delete.
	(objc_class_section, objc_meta_class_section, objc_category_section)
	(objc_class_vars_section, objc_instance_vars_section): Delete.
	(objc_cls_meth_section, objc_inst_meth_section): Delete.
	(objc_cat_cls_meth_section, objc_cat_inst_meth_section): Delete.
	(objc_selector_refs_section, objc_selector_fixup_section): Delete.
	(objc_symbols_section, objc_module_info_section): Delete.
	(objc_image_info_section, objc_protocol_section): Delete.
	(objc_string_object_section, objc_constant_string_object_section)
	(objc_class_names_section, objc_meth_var_names_section): Delete.
	(objc_meth_var_types_section, objc_cls_refs_section): Delete.
	(machopic_lazy_symbol_ptr_section, machopic_nl_symbol_ptr_section)
	(machopic_symbol_stub_section, machopic_picsymbol_stub_section)
	(darwin_exception_section, darwin_eh_frame_section): Delete.
	* config/t-darwin (darwin.o): Depend on config/darwin-sections.def.

	* config/frv/frv.c (frv_asm_out_constructor): Use switch_to_section.
	(frv_asm_out_destructor): Likewise.
	* config/frv/frv.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
	(SDATA_SECTION_FUNCTION, FIXUP_SECTION_FUNCTION): Delete.
	(ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use switch_to_section and
	get_named_section.
	(ASM_OUTPUT_CASE_LABEL): Use switch_to_section.
	* config/frv/frv-protos.h (fixup_section, sdata_section, sbss_section)
	(data_section): Delete.

	* config/i386/cygming.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS)
	(DRECTVE_SECTION_FUNCTION): Delete.
	(drectve_section): Redefine as a macro that sets in_section after
	emitting the directive.
	(SWITCH_TO_SECTION_FUNCTION): Delete.
	* config/i386/darwin.h (ASM_OUTPUT_ALIGN): Replace call to
	in_text_section with comparison between in_section and text_section.
	* config/i386/i386.c (x86_64_elf_select_section): Return the section
	rather than emitting assembly code.  Use get_named_section.
	(x86_output_aligned_bss, ix86_file_end): Use switch_to_section and
	get_named_section.
	(machopic_output_stub): Use switch_to_section.
	* config/i386/nwld.c (nwld_named_section_asm_out_constructor)
	(nwld_named_section_asm_out_destructor): Use get_section and
	switch_to_section.

	* config/ia64/ia64.c (ia64_select_rtx_section): Return the section
	rather than emitting assembly code.
	(ia64_rwreloc_select_section): Likewise.
	(ia64_rwreloc_select_rtx_section): Likewise.
	* config/ia64/ia64-protos.h (sdata_section, sbss_section): Delete.
	* config/ia64/sysv4.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use
	switch_to_section.
	(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
	(SDATA_SECTION_FUNCTION, SBSS_SECTION_FUNCTION): Delete.

	* config/iq2000/iq2000.c (iq2000_select_rtx_section): Return the
	section rather than emitting assembly code.
	(iq2000_select_section): Likewise.
	* config/iq2000/iq2000.h (rdata_section, sdata_section): Delete.
	(sbss_section): Delete.

	* config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use switch_to_section
	and get_named_section.
	* config/m32r/m32r-protos.h (sbss_section, sdata_section): Delete.

	* config/mcore/mcore-elf.h (EXPORTS_SECTION_ASM_OP): Delete.
	(SUBTARGET_EXTRA_SECTIONS, SUBTARGET_EXTRA_SECTION_FUNCTIONS): Delete.
	(EXPORT_SECTION_FUNCTION, SUBTARGET_SWITCH_SECTIONS): Delete.
	(MCORE_EXPORT_NAME): Emit the exports directive directly, then set
	in_section to NULL.
	(ASM_DECLARE_FUNCTION_NAME): Use switch_to_section.
	(ASM_DECLARE_OBJECT_NAME): Update the type of save_section.  Use the
	global switch_to_section function instead of the old port-local one.
	* config/mcore/mcore.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS)
	(SWITCH_SECTION_FUNCTION): Delete.
	* config/mcore/mcore-pe.h (SUBTARGET_SWITCH_SECTIONS): Delete.
	(DRECTVE_SECTION_ASM_OP, SUBTARGET_EXTRA_SECTIONS): Delete.
	(SUBTARGET_EXTRA_SECTION_FUNCTIONS, DRECTVE_SECTION_FUNCTION): Delete.
	(MCORE_EXPORT_NAME): Emit ".section .drectve" directly, then set
	in_section to NULL.
	(ASM_DECLARE_OBJECT_NAME): Update the type of save_section.  Use the
	global switch_to_section function instead of the old port-local one.
	(ASM_DECLARE_FUNCTION_NAME): Use switch_to_section.

	* config/mips/mips.c (mips_file_start): Update comment.
	(mips_output_aligned_bss): Use switch_to_section and get_named_section.
	(mips_output_aligned_decl_common): Use switch_to_section.
	(mips_select_rtx_section): Return the section rather than emitting
	assembly code.  Use get_named_section.
	(mips_function_rodata_section: Likewise get_section.
	(build_mips16_function_stub): Use switch_to_section.
	* config/mips/mips.h (ASM_OUTPUT_IDENT): Use switch_to_section.
	(SDATA_SECTION_ASM_OP): Delete.
	* config/mips/vxworks.h (EXTRA_SECTIONS): Delete.
	(EXTRA_SECTION_FUNCTIONS): Delete.

	* config/mmix/mmix.c (mmix_file_start, mmix_file_end)
	(mmix_asm_output_aligned_local): Use switch_to_section.

	* config/pa/pa.c (som_readonly_data_section, som_one_only_data_section)
	(som_one_only_readonly_data_section): New variables.
	(pa_output_function_epilogue): Set in_section to NULL instead of
	calling forget_section.
	(output_deferred_plabels): Use select_section.
	(pa_asm_output_mi_thunk): Likewise.  Set in_section to NULL instead
	of calling forget_section.
	(pa_asm_output_aligned_bss, pa_asm_output_aligned_common)
	(pa_asm_output_aligned_local): Use select_section.
	(som_text_section_asm_op): Delete in favor of...
	(som_output_text_section_asm_op): ...this new function.
	(pa_som_asm_init_sections): New function.
	(pa_select_section): Return the section rather than emitting
	assembly code.
	* config/pa/pa.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
	(SOM_READONLY_DATA_SECTION_FUNCTION): Delete.
	(SOM_ONE_ONLY_READONLY_DATA_SECTION_FUNCTION): Delete.
	(SOM_ONE_ONLY_DATA_SECTION_FUNCTION, FORGET_SECTION_FUNCTION): Delete.
	* config/pa/pa-protos.h (som_text_section_asm_op): Delete.
	(som_readonly_data_section, som_one_only_readonly_data_section)
	(som_one_only_data_section, forget_section): Delete.
	* config/pa/som.h (TEXT_SECTION_ASM_OP): Delete.
	(TARGET_ASM_INIT_SECTIONS): Define.
	(READONLY_DATA_SECTION, TARGET_ASM_EXCEPTION_SECTION): Delete.

	* config/rs6000/rs6000.c (read_only_data_section): New variable.
	(private_data_section, read_only_private_data_section): New variables.
	(sdata2_section, toc_section): New variables.
	(rs6000_file_start): Use switch_to_section.
	(rs6000_assemble_integer): Use comparisons against in_section
	instead of calling in_toc_section and in_text_section.  Use
	unlikely_text_section_p.
	(rs6000_elf_output_toc_section_asm_op): New function, derived
	from the old rs6000/sysv4.h toc_section function.
	(rs6000_elf_asm_init_sections): New function.
	(rs6000_elf_select_rtx_section, rs6000_elf_select_section): Return
	the section rather than emitting assembly code.
	(machopic_output_stub): Use switch_to_section.
	(toc_section): Delete dummy function.
	(rs6000_elf_asm_out_constructor, rs6000_elf_asm_out_destructor): Use
	switch_to_section and get_section.
	(rs6000_xcoff_output_readonly_section_asm_op): New function.
	(rs6000_xcoff_output_readwrite_section_asm_op): New function.
	(rs6000_xcoff_output_toc_section_asm_op): New function, derived from
	the old rs6000/xcoff.h toc_section function.
	(rs6000_xcoff_asm_init_sections): New function.
	(rs6000_xcoff_select_section, rs6000_xcoff_select_rtx_section): Return
	the section rather than emitting assembly code.
	(rs6000_xcoff_file_start): Use switch_to_section.
	(rs6000_xcoff_file_end): Likewise.
	* config/rs6000/rs6000-protos.h (toc_section, sdata_section): Delete.
	(sdata2_section, sbss_section, private_data_section): Delete.
	(read_only_data_section, read_only_private_data_section): Delete.
	* config/rs6000/sysv4.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS)
	(TOC_SECTION_FUNCTION, SDATA_SECTION_FUNCTION, SDATA2_SECTION_FUNCTION)
	(SBSS_SECTION_FUNCTION, INIT_SECTION_FUNCTION): Delete.
	(FINI_SECTION_FUNCTION): Delete.
	(TARGET_ASM_INIT_SECTIONS): Define.
	(ASM_OUTPUT_ALIGNED_LOCAL): Use switch_to_section.
	* config/rs6000/xcoff.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS)
	(READ_ONLY_DATA_SECTION_FUNCTION, PRIVATE_DATA_SECTION_FUNCTION)
	(READ_ONLY_PRIVATE_DATA_SECTION_FUNCTION, TOC_SECTION_FUNCTION)
	(READONLY_DATA_SECTION): Delete.
	(TARGET_ASM_INIT_SECTIONS): Define.
	(ASM_DECLARE_FUNCTION_NAME): Use switch_to_section.  Set in_section
	to NULL rather than no_section.
	(TARGET_ASM_EXCEPTION_SECTION): Delete.

	* config/sh/sh.c (sh_file_start): Use switch_to_section.

	* config/sparc/sparc.c (emit_pic_helper): Use switch_to_section.
	(sparc_output_deferred_case_vectors): Likewise.  Remove argument
	from call to current_function_section.

	* config/stormy16/stormy16.c: Include ggc.h and gt-storm16.h.
	(bss100_section): New variable.
	(xstormy16_asm_output_aligned_common): Use switch_to_section.
	(xstormy16_asm_init_sections): New function.
	(xstormy16_asm_out_destructor, xstormy16_asm_out_constructor): Use
	switch_to_section and get_section.
	(xstormy16_output_addr_vec): Use switch_to_section.  Remove argument
	from calls to current_function_section.
	* config/stormy16/stormy16.h (EXTRA_SECTIONS): Delete.
	(XSTORMY16_SECTION_FUNCTION, EXTRA_SECTION_FUNCTIONS): Delete.
	(TARGET_ASM_INIT_SECTIONS): Define.
	* config/stormy16/stormy16-protos.h (bss100_section): Delete.

	* config/svr3.h (ASM_OUTPUT_LOCAL): Use switch_to_section.
	(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS, INIT_SECTION_FUNCTION)
	(FINI_SECTION_FUNCTION): Delete.

	* config/v850/v850.c: Include gt-v850.h.
	(rosdata_section, rozdata_section, tdata_section, zdata_section)
	(zbss_section): New variables.
	(v850_output_aligned_bss): Use switch_to_section.
	(v850_asm_init_sections): New function.
	(v850_select_section): Return the section rather than emitting
	assembly code.
	* config/v850/v850.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS)
	(ZDATA_SECTION_ASM_OP, ZBSS_SECTION_ASM_OP, TDATA_SECTION_ASM_OP)
	(ROSDATA_SECTION_ASM_OP, ROZDATA_SECTION_ASM_OP): Delete.
	(TARGET_ASM_INIT_SECTIONS): Define.
	* config/v850/v850-protos.h (sdata_section, rosdata_section): Delete.
	(sbss_section, tdata_section, zdata_section, rozdata_section): Delete.
	(zbss_section): Delete.

	* config/vax/vaxv.h (ASM_OUTPUT_LOCAL): Use switch_to_section.

	* config/vx-common.h (vxworks_exception_section): Delete.
	(TARGET_ASM_EXCEPTION_SECTION): Delete.

	* config/xtensa/xtensa.c (xtensa_select_rtx_section): Return the
	section rather than emitting assembly code.
	* config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Use
	switch_to_section.

	* Makefile.in (GTFILES): Add $(srcdir)/output.h.
	* coretypes.h (section): New union and typedef.
	* dbxout.c (FORCE_TEXT): Use switch_to_section.  Remove argument
	from call to current_function_section.
	(dbxout_function_end, dbxout_init, dbxout_source_file, dbxout_finish)
	(dbxout_symbol_location): Use switch_to_section.
	* dwarf2out.c (named_section_eh_frame_section): Delete, moving
	most of the code into...
	(default_eh_frame_section): ...here.  Return a section.
	(collect2_eh_frame_section): Delete, moving most of the code into..
	(switch_to_eh_frame_section): ...this new function.
	(debug_info_section, debug_abbrev_section, debug_aranges_section)
	(debug_macinfo_section, debug_line_section, debug_loc_section)
	(debug_pubnames_section, debug_str_section, debug_ranges_section): New
	variables.
	(output_call_frame_info): Call switch_to_eh_frame_section instead of
	eh_frame_section.  Use switch_to_section and get_section.
	(dwarf2out_begin_prologue): Use switch_to_section.
	(AT_string_form): Check the flags in debug_str_section instead of
	DEBUG_STR_SECTION_FLAGS.
	(output_comp_unit): Use switch_to_section, get_section, and
	debug_info_section.
	(output_line_info, secname_for_decl): Use unlikely_text_section_p.
	(dwarf2out_begin_block): Use switch_to_section.  Remove argument
	from call to current_function_section.
	(dwarf2out_var_location): Use unlikely_text_section_p.
	(dwarf2out_source_line): Use switch_to_section.  Remove argument
	from call to current_function_section.
	(dwarf2out_start_source_file, dwarf2out_end_source_file)
	(dwarf2out_define, dwarf2out_undef: Use switch_to_section and
	debug_macinfo_section.
	(dwarf2out_init): Initialize the new section variables.  Use them
	instead of calls to named_section_flags.  Use switch_to_section.
	(output_indirect_string): Use switch_to_section and debug_str_section.
	(dwarf2out_finish): Use switch_to_section and the new section
	variables.
	* except.c (default_exception_section): Return the section instead
	of emitting assembly code.
	(output_function_exception_table): Use the global exception_section
	variable instead of the target hook.  Use switch_to_section.  Remove
	argument from call to current_function_section.
	* final.c (HAVE_READONLY_DATA_SECTION): Delete.
	(shorten_branches): Use pointer comparisons to detect whether the
	text section is the same as readonly_data_section.
	(profile_function): Use switch_to_section.  Remove argument from
	call to current_function_section.
	(final_scan_insn): Likewise.  Update use of last_text_section.
	* gengtype.c (open_base_files): Add an include of output.h.
	* output.h (text_section, data_section, readonly_data_section)
	(ctors_section, dtors_section, bss_section, init_section)
	(fini_section, sdata_section): Turn into section pointers.
	(in_text_section, in_unlikely_text_section, exports_section)
	(drectve_section, named_section, mergeable_string_section)
	(last_text_section_name): Delete.
	(default_exception_section, default_eh_frame_section): Return sections.
	(SECTION_DECLARED, SECTION_NAMED): New macros.
	(SECTION_MACH_DEP): Bump value.
	(section_common, named_section, unnamed_section): New structures.
	(unnamed_section_callback): New typedef.
	(section): New union.
	(sbss_section, exception_section, eh_frame_section): New variables.
	(in_section, last_text_section): Turn into section pointers.
	(get_unnamed_section, get_section, get_named_section): New functions.
	(mergeable_constant_section, function_section): Return a section.
	(unlikely_text_section): Likewise.
	(current_function_section): Likewise.  Remove the decl argument.
	(unlikely_text_section_p, switch_to_section): New functions.
	(output_section_asm_op): New function.
	(set_named_section_flags, named_section_flags, named_section_real)
	(named_section_first_declaration): Delete.
	(default_select_section, default_elf_select_section): Return a section.
	(default_elf_select_section_1, default_function_rodata_section)
	(default_no_function_rodata_section, default_select_rtx_section)
	(default_elf_select_rtx_section): Likewise.
	* rtl.h (in_data_section): Delete.
	* sdbout.c (sdbout_one_type): Use switch_to_section.
	* system.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Poison.
	(READONLY_DATA_SECTION, TARGET_ASM_EXCEPTION_SECTION): Poison.
	(TARGET_ASM_EH_FRAME_SECTION): Poison.
	* target-def.h (TARGET_ASM_INIT_SECTIONS): New macro.
	(TARGET_ASM_EXCEPTION_SECTION, TARGET_ASM_EH_FRAME_SECTION): Delete.
	(TARGET_ASM_OUT): Update after above changes.
	* target.h (init_sections): New hook.
	(exception_section, eh_frame_section): Delete.
	(select_section, select_rtx_section, function_rodata_section): Return
	a section rather than emitting assembly code.
	* varasm.c (text_section, data_section, readonly_data_section)
	(ctors_section, dtors_section, bss_section, init_section)
	(fini_section): Turn into section pointers.
	(sdata_section, sbss_section, exception_section): New variables.
	(eh_frame_section): New variable.
	(in_section): Make global and turn into a section pointer.
	(last_text_section): Turn into a section pointer.
	(unnamed_sections): New variable.
	(in_named_name, last_text_section_name): Delete.
	(EXTRA_SECTION_FUNCTIONS): Delete.
	(in_named_entry): Delete.
	(section_htab): New variable, replacing...
	(in_named_htab): ...this deleted variable.
	(section_entry_eq, section_entry_hash): New functions, based on...
	(in_named_entry_eq, in_named_entry_hash): ...these deleted functions.
	(get_unnamed_section, get_section): New functions.
	(unlikely_text_section): Return a section instead of emitting
	assembly code.
	(in_text_section, in_unlikely_text_section, in_data_section): Delete.
	(get_named_section_flags, named_section_first_declaration): Delete.
	(unlikely_text_section_p): New function.
	(named_section_real, named_section): Delete.
	(get_named_section): New function.
	(asm_output_bss, asm_output_aligned_bss): Use switch_to_section.
	(function_section): Return a section rather than emitting
	assembly code.
	(current_function_section): Likewise.  Remove argument.  Use
	last_text_section if nonnull, otherwise use function_section.
	(default_function_rodata_section): Return a section rather than
	emitting assembly code.  Use get_section.
	(default_no_function_rodata_section): Return a section rather than
	emitting assembly code.
	(variable_section): Use switch_to_section and get_named_section.
	(mergeable_string_section): Return a section rather than emitting
	assembly code.  Use get_section.  Make static.  Don't take special
	countermeasures for empty strings.
	(mergeable_constant_section): Return a section rather than emitting
	assembly code.  Use get_section.
	(default_named_section_asm_out_destructor): Use switch_to_section
	and get_section.
	(default_dtor_section_asm_out_destructor): Use switch_to_section.
	(default_named_section_asm_out_constructor): Use switch_to_section
	and get_section.
	(default_ctor_section_asm_out_constructor): Use switch_to_section.
	(assemble_start_function): Likewise.  Set last_text_section to
	NULL rather than no_section.  Change the type of save_section.
	(assemble_zeros, assemble_variable): Use the section flags to detect
	whether or not a section is text.
	(assemble_static_space): Use switch_to_section.
	(assemble_trampoline_template): Likewise.
	(output_constant_def_contents): Use switch_to_section and
	get_named_section.
	(output_constant_pool_1): Use switch_to_section.  Use the section
	flags to see whether sections contain mergeable data.
	(init_varasm_once): Initialize section_htab instead of in_named_htab.
	Initialize new section variables.  Call TARGET_ASM_INIT_SECTIONS.
	(default_elf_asm_named_section): Use SECTION_DECLARED to detect
	whether a section has already been declared.
	(default_select_section, default_elf_select_section): Return a
	section rather than emitting assembly code.
	(default_elf_select_section_1): Likewise.  Use bss_section for
	SECCAT_BSS if nonnull.  Use get_named_section.
	(default_select_rtx_section): Return a section rather than
	emitting assembly code.
	(default_elf_select_rtx_section): Likewise.  Use get_named_section.
	(file_end_indicate_exec_stack): Use switch_to_section and get_section.
	(output_section_asm_op, switch_to_section): New functions.
	* vmsdbgout.c (vmsdbgout_finish): Use switch_to_section and
	get_named_section.

	* doc/tm.texi: Expand the introduction to the sections documentation.
	(TRAMPOLINE_SECTION): Document new interface.
	(SDATA_SECTION_ASM_OP): Document new macro.
	(READONLY_DATA_SECTION): Delete.
	(SDATA_SECTION_ASM_OP): Document new macro.
	(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
	(TARGET_ASM_INIT_SECTIONS): Document new hook.
	(TARGET_ASM_SELECT_SECTION, TARGET_ASM_FUNCTION_RODATA_SECTION)
	(TARGET_ASM_SELECT_RTX_SECTION): Adjust for new interface.
	(TARGET_EXCEPTION_SECTION, TARGET_EH_FRAME_SECTION): Delete.

gcc/java/
	* class.c (build_utf8_ref, emit_register_classes): Use
	switch_to_section and get_section.

From-SVN: r108152
2005-12-07 07:53:14 +00:00
Tom Tromey
53bbb42e57 re PR java/25283 (gcj generates invalid signature)
PR java/25283:
	* parse.y (patch_new_array_init): Revert previous patch.
	(lookup_method_invoke): Use size-less array type when creating an
	anonymous constructor.

From-SVN: r108143
2005-12-07 00:31:58 +00:00
Tom Tromey
45c76dbb43 parse.y (patch_new_array_init): Don't set length on array.
gcc/java:
	* parse.y (patch_new_array_init): Don't set length on array.
libjava:
	* testsuite/libjava.compile/rh174912.java: New file.

From-SVN: r108099
2005-12-06 02:30:11 +00:00
Mike Stump
3a222eaea2 Fixup some spacing
From-SVN: r107973
2005-12-03 00:20:15 +00:00
Richard Guenther
1c00c223e9 java-gimplify.c (java_gimplify_labeled_block_expr): Use buildN instead of build.
2005-12-02  Richard Guenther  <rguenther@suse.de>

	* java-gimplify.c (java_gimplify_labeled_block_expr): Use
	buildN instead of build.
	* class.c (finish_class): Likewise.
	* expr.c (java_create_object): Likewise.

From-SVN: r107904
2005-12-02 17:04:41 +00:00
Tom Tromey
3141ed0fe0 re PR java/18278 (JNI functions cannot return a weak reference)
gcc/java:
	PR java/18278:
	* expr.c (build_jni_stub): Unwrap the return value.
	* java-tree.h (soft_unwrapjni_node): New define.
	(enum java_tree_index): Added JTI_SOFT_UNWRAPJNI_NODE.
	* decl.c (java_init_decl_processing): Initialize
	soft_unwrapjni_node.
libjava:
	PR java/18278:
	* testsuite/libjava.jni/pr18278.out: New file.
	* testsuite/libjava.jni/pr18278.c: New file.
	* testsuite/libjava.jni/pr18278.java: New file.
	* include/jvm.h (_Jv_UnwrapJNIweakReference): Declare.
	* jni.cc (_Jv_UnwrapJNIweakReference): New function.
	(call): Unwrap return value if needed.

From-SVN: r107676
2005-11-29 18:34:58 +00:00
Bryce McKinlay
409f11d57c gij.cc (nonstandard_opts_help): Add entry for -Xss.
2005-11-24  Bryce McKinlay  <mckinlay@redhat.com>

	* gij.cc (nonstandard_opts_help): Add entry for -Xss.

2005-11-24  Bryce McKinlay  <mckinlay@redhat.com>

	* gcj.texi (gij options): Add -Xss documentation.

From-SVN: r107480
2005-11-25 03:36:13 +00:00
Wil Mahan
1c57e8763b re PR java/23617 (Out of memory when classpath contains jar file with zip-style comment)
2005-11-08  Wil Mahan  <wmahan@gmail.com>

	PR java/23617
	* zextract.c (read_zip_archive): Fix out of memory error when
	reading jar files with zip-style comments.

From-SVN: r106648
2005-11-08 19:10:39 +00:00
Terry Laurenzo
e263bc9311 Removed decompilation for non-ELF targets.
From-SVN: r106628
2005-11-08 00:21:21 +00:00
Nathan Sidwell
a93770efeb re PR java/23620 (Segfault compiling inner interfaces)
PR java/23620
	* class.c (make_class): Create empty binfo here.
	(set_super_info): Only create binfo if we have superclasses.

Co-Authored-By: Wil Mahan <wmahan@gmail.com>

From-SVN: r105399
2005-10-14 08:46:55 +00:00
Ranjit Mathew
9f1dfd1618 re PR java/24127 (ICE in libjava.compile/PR6865.java reported as "PASS" in testsuite.)
PR java/24127
	* parse.y (method_header): Make the result of the rule a NULL_TREE
	when a parsing error occurs.

From-SVN: r104899
2005-10-03 17:30:38 +00:00
Tom Tromey
07f0879956 re PR java/24120 (jc1 incorrectly uses libiberty hashes)
PR java/24120:
	* jcf-io.c (memoized_dirlist_hash): New function.
	(caching_stat): Use it.

From-SVN: r104809
2005-09-30 00:33:26 +00:00
Ranjit Mathew
1b70949a3c re PR java/21418 (Order of source files matters when compiling)
PR java/21418
	* class.c (inherits_from_p): Try to lay out super class
	if it is not already laid out.
	(maybe_layout_super_class): Handle the case where SUPER_CLASS
	is a NULL_TREE.

From-SVN: r104483
2005-09-21 13:34:28 +00:00
James A. Morrison
c298ec4e20 builtins.c (max_builtin, [...]): Use fold_buildN.
2005-09-18  James A. Morrison  <phython@gcc.gnu.org>

        * builtins.c (max_builtin, min_builtin, abs_builtin,
        java_build_function_call_expr): Use fold_buildN.
        * class.c (layout_class_method): Likewise.
        * expr.c (java_truthvalue_conversion, build_java_jsr,
        build_java_arrayaccess, expand_java_arrayload, expand_iinc,
        build_java_binop, build_field_ref, expand_compare,
        build_known_method_ref, build_invokevirtual,
        process_jvm_instruction): Likewise.
        * parse.y (patch_binop, patch_exit_expr): Likewise.
        * typeck.c (convert_ieee_real_to_integer): Likewise.
        (convert): Don't call fold after convert_ieee_real_to_integer.

From-SVN: r104407
2005-09-18 19:10:15 +00:00
Bryce McKinlay
c629e611eb re PR java/23891 (Problem folding static fields across packages)
2005-09-14  Bryce McKinlay  <mckinlay@redhat.com>

        PR java/23891
        * parse.y (maybe_create_class_interface_decl): Set TYPE_PACKAGE for
        the newly created type. Set import lists here, not in create_class.
        (jdep_resolve_class): Set current_class.
        (do_resolve_class): Use current_class's TYPE_PACKAGE to determine
        the current package context, not ctxp->package.
        (cicp_cache): Removed.
        (class_in_current_package): Simplify implementation using
	TYPE_PACKAGE.
        * jcf-parse.c (give_name_to_class): Set TYPE_PACKAGE.
        * java-tree.h (TYPE_PACKAGE): New macro.
        (struct lang_type): New member 'package'.

From-SVN: r104305
2005-09-15 15:13:03 +01:00
Andrew Haley
8f09608343 re PR libgcj/23182 (instanceof sometimes fails if compiled with -findirect-dispatch)
2005-09-09  Andrew Haley  <aph@redhat.com>

        PR libgcj/23182
        * expr.c (pop_type_0): If the expected type is object or ptr
        (i.e. void*), return the type of the object we just popped from
        the stack.

From-SVN: r104098
2005-09-09 16:04:11 +00:00
Andrew Pinski
3e248b8315 java-gimplify.c (java_gimplify_block): NULL out the old BLOCK's BLOCK_EXPR_BODY before returning the new BIND_EXPR.
2005-09-06  Andrew Pinski  <pinskia@physics.uc.edu>

        * java-gimplify.c (java_gimplify_block): NULL out the old BLOCK's
        BLOCK_EXPR_BODY before returning the new BIND_EXPR.

From-SVN: r103950
2005-09-06 08:22:34 -07:00
Kazu Hirata
cd64dc985a check-init.c, [...]: Fix comment typos.
* check-init.c, decl.c, expr.c, gcj.texi, java-tree.h,
	jcf-parse.c, jcf.h, parse.h, parse.y, typeck.c: Fix comment
	typos.  Follow spelling conventions.

From-SVN: r103927
2005-09-06 02:25:00 +00:00
Ranjit Mathew
75d1a48521 re PR java/23431 (gcj allows overriding with more restrictive access)
PR java/23431
	* typeck.c (lookup_do): Look up interfaces for the original class,
	not the base class.
	* parse.y (java_check_regular_methods): Fix diagnostic message for
	more restrictive overriding of a method from an interface.

From-SVN: r103909
2005-09-05 14:57:25 +00:00
Tom Tromey
97b51fd08e class.c (make_class_data): Always emit JV_STATE_PRELOADING for class' initial state.
gcc/java:
	* class.c (make_class_data): Always emit JV_STATE_PRELOADING for
	class' initial state.
libjava:
	* java/lang/Class.h (_Jv_IsBinaryCompatibilityABI): Declare as
	friend.
	* include/jvm.h (_Jv_IsBinaryCompatibilityABI): New function.
	* testsuite/libjava.lang/bclink.java: New file.
	* testsuite/libjava.lang/bclink.out: New file.
	* link.cc (print_class_loaded): Changed ABI test to look at
	various _syms fields.

From-SVN: r103225
2005-08-17 20:44:10 +00:00
Ranjit Mathew
17b456229e re PR java/22113 (Buffer overflow in the lexical analyser while reading FP literals)
PR java/22113
	* lex.c (do_java_lex): Define MAX_TOKEN_LEN. Avoid overflowing
	`literal_token' for large numeric input tokens.

From-SVN: r103167
2005-08-16 18:46:18 +00:00
Ranjit Mathew
3881a11b4a re PR java/19870 (gcj -C doesn't generate accessors for private members across nested class boundaries)
PR java/19870
	* parse.y (nested_field_access_p): Rename to nested_member_access_p
	and expand to handle method accesses across nested classes.
	(build_outer_method_access_method): Rename to
	build_nested_method_access_method.  Minor adjustments to comments.
	(resolve_expression_name): Use the newly-renamed
	nested_member_access_p method.
	(resolve_qualified_expression_name): Likewise.
	(patch_method_invocation): Also consider static methods for access
	method generation.  Minor adjustments to comments.
	(maybe_use_access_method): Use the more general
	nested_memeber_access_p to determine access across nested class
	boundaries.  Allow THIS_ARG to be NULL (for static methods).

From-SVN: r103163
2005-08-16 18:22:31 +00:00
Tom Tromey
33173fd40f re PR java/23300 (DECL_FIELD_OFFSET == 0 versus build_field_ref)
PR java/23300.
	* expr.c (build_field_ref): Don't generate otable reference when
	DECL_FIELD_OFFSET is 0.
	* class.c (maybe_layout_super_class): Pass outer class to
	do_resolve_class.

From-SVN: r103160
2005-08-16 16:06:43 +00:00
Tom Tromey
4e5c1f1035 java-tree.h (LABEL_IN_SUBR): Removed.
* java-tree.h (LABEL_IN_SUBR): Removed.
	(LABEL_IN_SUBR): Likewise.
	(LABEL_IS_SUBR_START): Likewise.
	(LABEL_SUBR_START): Likewise.
	(LABEL_SUBR_CONTEXT): Likewise.
	(LABEL_CHANGED): Likewise.
	(LABEL_RETURN_LABEL): Likewise.
	(LABEL_RETURN_TYPE_STATE): Likewise.
	(LABEL_RETURN_LABELS): Likewise.
	(RETURN_MAP_ADJUSTED): Likewise.
	(LABEL_PENDING_CHAIN): Likewise.

From-SVN: r103142
2005-08-16 00:50:36 +00:00
Tom Tromey
65e8066b7b Make-lang.in (JAVA_OBJS): Removed verify.o
* Make-lang.in (JAVA_OBJS): Removed verify.o
	(java/verify.o): Removed.
	* verify.c: Removed.
	* lang.c (flag_new_verifier): Removed.
	(java_post_options): Updated.
	* java-tree.h (flag_new_verifier): Removed.
	(verify_jvm_instructions): Removed.
	* expr.c (pop_type_0): Assume flag_new_verifier is true.
	(build_java_check_indexed_type): Likewise.
	(expand_java_arraystore): Likewise.
	(expand_java_arrayload): Likewise.
	(pop_arguments): Likewise.
	(expand_byte_code): Likewise.
	(process_jvm_instruction): Likewise.

From-SVN: r103126
2005-08-15 21:26:35 +00:00
Andrew Haley
74b002ba34 [multiple changes]
2005-08-10  Andrew Haley  <aph@redhat.com>

        * java-gimplify.c (java_gimplify_modify_expr): Fix any pointer
        type mismatches to make legal GIMPLE.

2005-08-10  Robin Green <greenrd@greenrd.org>

        PR java/23230:
        * parse.y (maybe_use_access_method): Generalize check from
        java.lang.Object to any superclass of current_class

From-SVN: r102988
2005-08-11 11:49:26 +00:00
Nathan Sidwell
063fb392d2 class.c (build_class_ref): Wrap the primary class type in a NOP_EXPR.
* class.c (build_class_ref): Wrap the primary class type in a
	NOP_EXPR.
	* parse.y (java_complete_lhs) <COMPONENT_REF case>: Extract the
	primary class type from the NOP_EXPR in which it was placed.

From-SVN: r102859
2005-08-08 14:56:18 +00:00
Diego Novillo
baa923061b expr.c (expand_load_internal): Fix missing parens in predicate.
* expr.c (expand_load_internal): Fix missing parens in
	predicate.

From-SVN: r102504
2005-07-28 14:28:12 -04:00
Andrew Haley
0d9f15f1a0 expr.c (expand_load_internal): Convert to destination type.
2005-07-28  Andrew Haley  <aph@redhat.com>

        * expr.c (expand_load_internal): Convert to destination type.

From-SVN: r102486
2005-07-28 15:01:33 +00:00
Andrew Haley
c6e5d1af3f expr.c (expand_load_internal): Convert to destination type.
2005-07-15  Andrew Haley  <aph@redhat.com>

        * expr.c (expand_load_internal): Convert to destination type.

From-SVN: r102485
2005-07-28 15:00:53 +00:00
Manfred Hollstein
32cafd7366 tree-ssa-structalias.c (merge_graph_nodes): Fix uninitialised warnings.
gcc/ChangeLog:

	* tree-ssa-structalias.c (merge_graph_nodes): Fix uninitialised
	warnings.
	(int_add_graph_edge): Likewise.
	(collapse_nodes): Likewise.
	(process_unification_queue): Likewise.

gcc/cp/ChangeLog:

	* parser.c (cp_parser_declaration): Fix unitialised warnings.

gcc/fortran/ChangeLog:

	* match.c (gfc_match_symbol): Fix uninitialised warnings.
	* matchexp.c (gfc_match_expr): Likewise.

gcc/java/ChangeLog:

	* verify-impl.c (check_class_constant): Fix uninitialised warnings.
	(check_constant): Likewise.
	(check_wide_constant): Likewise.

From-SVN: r102273
2005-07-22 07:31:32 +00:00
Giovanni Bajo
4038c495fc Make CONSTRUCTOR use VEC to store initializers.
* c-common.c (complete_array_type): Update to cope with VEC in
	CONSTRUCTOR_ELTS.
	* c-pretty-print.c (pp_c_initializer_list): Use pp_c_constructor_elts.
	(pp_c_constructor_elts): New function.
	* c-pretty-print.h (pp_c_constructor_elts): Declare.
	* c-typeck.c (build_function_call, build_c_cast, digest_init,
	struct constructor_stack, struct initializer_stack,
	constructor_elements, push_init_level, pop_init_level,
	add_pending_init, find_init_member, output_init_element): Update to
	cope with VEC in CONSTRUCTOR_ELTS.
	* coverage.c (build_fn_info_value, build_ctr_info_value,
	build_gcov_info): Likewise.
	* expr.c (categorize_ctor_elements_1, store_constructor,
	expand_expr_real_1): Likewise.
	* fold-const.c (fold_ternary): Likewise.
	* gimplify.c (gimplify_init_ctor_preeval, zero_sized_field_decl,
	gimplify_init_constructor, gimplify_expr): Likewise.
	* tree-dump.c (dequeue_and_dump): Likewise.
	* tree-inline.c (copy_tree_r): Add code to duplicate a CONSTRUCTOR
	node.
	* tree-pretty-print.c (dump_generic_node): Update to cope with VEC in
	CONSTRUCTOR_ELTS.
	* tree-sra.c (generate_element_init_1): Likewise.
	* tree-ssa-ccp.c (fold_const_aggregate_ref): Likewise.
	* tree-ssa-operands.c (get_expr_operands): Likewise.
	* tree-vect-generic.c (expand_vector_piecewise): Likewise.
	* tree-vect-transform.c (vect_get_vec_def_for_operand):
	(get_initial_def_for_reduction): Likewise.
	* tree-vn.c (set_value_handle, get_value_handle): CONSTURCTOR uses
	value handle in annotations.
	* tree.c (tree_node_kind, tree_code_size, make_node_stat,
	tree_node_structure): Add support for constr_kind.
	(build_vector_from_ctor, build_constructor_single,
	build_constructor_from_list): New functions.
	(build_constructor): Update to take a VEC instead of a TREE_LIST.
	(simple_cst_equal, iterative_hash_expr, initializer_zerop, walk_tree):
	Update to cope with VEC in CONSTRUCTOR_ELTS.
	* tree.def (CONSTRUCTOR): Make it a tcc_exceptional node.
	* tree.h (FOR_EACH_CONSTRUCTOR_VALUE, FOR_EACH_CONSTRUCTOR_ELT,
	CONSTRUCTOR_APPEND_ELT): New macros.
	(struct constructor_elt, struct	tree_constructor): New data types.
	(union tree_node): Add tree_constructor field.
	* treestruct.def: Define TS_CONSTRUCTOR.
	* varasm.c (const_hash_1, compare_constant, copy_constant,
	compute_reloc_for_constant, output_addressed_constants,
	initializer_constant_valid_p, output_constant,
	array_size_for_constructor, output_constructor): Update to cope with
	VEC in CONSTRUCTOR_ELTS.
	* vec.h (VEC_empty, VEC_copy): New macros.

ada/
	Make CONSTRUCTOR use VEC to store initializers.
	* decl.c (gnat_to_gnu_entity): Update to cope with VEC in
	CONSTRUCTOR_ELTS.
	* trans.c (extract_values): Likewise.
	* utils.c (convert, remove_conversions): Likewise.
	* utils2.c (contains_save_expr_p, build_binary_op, build_unary_op,
	gnat_build_constructor): Likewise.

cp/
	Make CONSTRUCTOR use VEC to store initializers.
	* call.c (convert_default_arg): Update call to digest_init.
	* class.c (dump_class_hierarchy, dump_array): Update to cope with
	VEC in CONSTRUCTOR_ELTS.
	* cp-tree.h (EMPTY_CONSTRUCTOR_P): Likewise.
	(finish_compound_literal, digest_init): Update declaration.
	* decl.c (struct reshape_iter): New data type.
	(reshape_init_array): Rename to...
	(reshape_init_array_1): Update to cope with VEC in CONSTRUCTOR_ELTS.
	(reshape_init): Rewrite from scratch. Split parts into...
	(reshape_init_array, reshape_init_vector, reshape_init_class,
	reshape_init_r): New functions.
	(check_initializer): Update call to reshape_init. Remove obsolete
	code.
	(initialize_artificial_var, cp_complete_array_type): Update to cope
	with VEC in CONSTRUCTOR_ELTS.
	* decl2.c (grokfield): Update calls to digest_init.
	(mark_vtable_entries): Update to cope with VEC in CONSTRUCTOR_ELTS.
	* error.c (dump_expr_init_vec): New function.
	(dump_expr): Use dump_expr_init_vec.
	* init.c (build_zero_init, build_vec_init): Update to cope with VEC
	in CONSTRUCTOR_ELTS.
	(expand_default_init): Update call to digest_init.
	* parser.c  (cp_parser_postfix_expression): Use a VEC for the
	initializers.
	(cp_parser_initializer_list): Build a VEC of initializers.
	* pt.c (tsubst_copy, tsubst_copy_and_build): Update to cope with VEC
	in CONSTRUCTOR_ELTS.
	* rtti.c (tinfo_base_init, generic_initializer, ptr_initializer,
	ptm_initializer, class_initializer, get_pseudo_ti_init): Use
	build_constructor_from_list instead of build_constructor.
	* semantics.c (finish_compound_literal): Update call to digest_init.
	* tree.c (stabilize_init): Update to cope with VEC in
	CONSTRUCTOR_ELTS.
	* typeck.c (build_ptrmemfunc1): Likewise.
	* typeck2.c: (cxx_incomplete_type_error, split_nonconstant_init_1):
	Likewise.
	(store_init_value): Use build_constructor_from_list and update call
	to digest_init.
	(digest_init): Rewrite.
	(process_init_constructor): Rewrite from scratch. Split into...
	(process_init_constructor_array, picflag_from_initializer,
	process_init_constructor_record, process_init_constructor_union):
	New functions.
	(PICFLAG_ERRONEOUS, PICFLAG_NOT_ALL_CONSTANT, PICFLAG_NOT_ALL_SIMPLE):
	New macros.
	(build_functional_cast): Use build_constructor_from_list instead of
	build_constructor.

fortran/
	Make CONSTRUCTOR use VEC to store initializers.
	* trans-array.c (gfc_build_null_descriptor,
	gfc_trans_array_constructor_value, gfc_conv_array_initializer):
	Update to cope with VEC in CONSTRUCTOR_ELTS.
	* trans-common.c (create_common): Likewise.
	* trans-expr.c (gfc_conv_structure): Likewise.
	* trans-stmt.c (gfc_trans_character_select): Use
	build_constructor_from_list instead of build_constructor.

java/
	Make CONSTRUCTOR use VEC to store initializers.
	* check-init.c (check_init): Update to cope with VEC in
	CONSTRUCTOR_ELTS.
	* class.c (make_field_value, make_method_value, get_dispatch_table,
	make_class_data, emit_symbol_table, emit_catch_table,
	emit_assertion_table): Use build_constructor_from_list instead of
	build_constructor.
	* constants.c (build_constants_constructor): Likewise.
	* java-gimplify.c (java_gimplify_new_array_init): Update to cope with
	VEC in CONSTRUCTOR_ELTS.
	* java-tree.h (START_RECORD_CONSTRUCTOR, PUSH_SUPER_VALUE,
	PUSH_FIELD_VALUE, FINISH_RECORD_CONSTRUCTOR): Create a VEC instead
	of a TREE_LIST.
	* jcf-write.c (generate_bytecode_insns): Update to cope with VEC in
	CONSTRUCTOR_ELTS.
	* parse.y (build_new_array_init): Use build_constructor_from_list
	instead of build_constructor.
	(patch_new_array_init): Update to cope with VEC in
	CONSTRUCTOR_ELTS.
	(array_constructor_check_entry): Likewise.

objc/
	Make CONSTRUCTOR use VEC to store initializers.
	* objc-act.c (objc_build_constructor): Use build_constructor_from_list
	instead of build_constructor.

testsuite/
	Make CONSTRUCTOR use VEC to store initializers.
	* g++.dg/ext/complit3.C: Check for specific error messages.
	* g++.dg/init/brace2.C: Update error message.
	* g++.dg/warn/Wbraces2.C: Likewise.

From-SVN: r102182
2005-07-20 01:19:59 +00:00
Tom Tromey
de227b237f jvspec.c (lang_specific_driver): Put filelist_filename first on command line.
* jvspec.c (lang_specific_driver): Put filelist_filename first on
	command line.

From-SVN: r101977
2005-07-13 16:44:37 +00:00
Tom Tromey
3c503f9a68 reverted erroneous commit
From-SVN: r101949
2005-07-12 22:35:48 +00:00
Tom Tromey
309ca98d96 re PR java/19674 (Empty declaration through semicolon (;) causes compile failure)
PR java/19674:
	* parse-scan.y (interface_member_declaration): Added
	empty_statement.

From-SVN: r101948
2005-07-12 22:35:03 +00:00
Daniel Berlin
820cc88fbd Makefile.in (TREE_H): Add treestruct.def.
2005-07-08  Daniel Berlin  <dberlin@dberlin.org>

	* Makefile.in (TREE_H): Add treestruct.def.
	(c-decl.o): Add pointer-set.h
	* c-decl.c (diagnose_mismatched_decls): Don't attempt to look at
	visibility on regular DECL's.
	(merge_decls): Fix the copying of decl nodes of various types for
	the new structures.  Don't update RTL, section name, weak status,
	etc, on DECL's without RTL.
	(grokdeclarator): DECL_ARG_TYPE_AS_WRITTEN is gone.
	Don't check volatile on non-variable types.
	(store_parm_decls_oldstyle): Use pointer_set instead of DECL_WEAK
	to check whether we have seen arguments.
	* c-objc-common.c (c_tree_printer): Reverse order of tests so that
	flag is checked before field (flag is common, field is not).
	* dwarf2out.c (decl_ultimate_origin):  Only DECL's with
	TS_DECL_COMMON could have an origin.
	(add_location_or_const_value_attribute): Don't check section name
	on non-var/function decls.
	(dwarf2out_var_location): Reverse order of tests.
	* emit-rtl.c (set_reg_attrs_for_parm): DECL_CHECK is dead, replace
	with DECL_WRTL_CHECK.
	* expmed.c (make_tree): rtl is now in decl_with_rtl.
	* fold-const.c (fold_binary): Don't check weakness on
	non-var/function decls.
	(tree_expr_nonzero_p): Ditto.
	(fold_checksum_tree): Use tree_decl_extra as sizeof
	buffer.
	* ggc-page.c (extra_order_size_table): Add sizes for
	tree_decl_non_common, tree_parm_decl,  tree_var_decl, and
	tree_field_decl.
	* gimplify.c (gimplify_bind_expr): Only set
	DECL_SEEN_IN_BIND_EXPR_P on VAR_DECL.
	* integrate.c (copy_decl_for_inlining): Don't set RTL on decl's
	without RTL.
	* langhooks-def.h (LANG_HOOK_INIT_TS): New.
	* langhooks.h (init_ts). New langhook.
	* passes.c (rest_of_decl_compilation): Reverse order of tests.
	* print-tree.c (print_node): Update to only print fields that
	exist in the structures the passed decl has.
	* toplev.c (wrapup_global_declarations): Don't reset
	DECL_DEFER_OUTPUT on DECL's that don't contain it.
	* tree-browser.c (browse_tree): DECL_ARG_TYPE_AS_WRITTEN removed.
	* tree-inline.c (remap_decl): Ditto.
	* tree-outof-ssa.c (create_temp): Reverse order of tests.
	* tree-pretty-print.c (print_declaration): Don't print
	DECL_REGISTER on things that don't contain it.
	* tree-vrp.c (expr_computes_nonzero): Don't check weakness on
	non-var/function decls.
	* tree.c (tree_contains_struct): New structure.
	(init_priority_for_decl): New hashtable.
	(tree_int_map): New structure.
	(tree_int_map_eq): New function.
	(tree_int_map_marked_p): Ditto.
	(tree_int_map_hash): Ditto.
	(tree_map): Move to tree.h.
	(tree_map_eq): Externalize.
	(tree_map_hash): Ditto.
	(tree_map_marked_p): Ditto.
	(init_ttree): Set up tree_contains_struct and call langhook.
	(decl_assembler_name): Use DECL_NON_COMMON_CHECK..
	(tree_code_size): Update for new structures.
	(tree_node_structure): Update for new structures.
	(make_node_stat): Don't try to set DECL_IN_SYSTEM_HEADER on decls
	without the field.
	(copy_node_stat):  Copy init priority.
	(build_decl_stat): Ditto for visibility.
	(ts_enum_names): New.
	(tree_contains_struct_check_failed): New function.
	(decl_init_priority_lookup): Ditto.
	(decl_init_priority_insert): Ditto.
	* treestruct.def: New file.
	* tree.h (CODE_CONTAINS_STRUCT): New macro.
	(CONTAINS_STRUCT_CHECK): Ditto.
	(tree_contains_struct_check_failed): New prototype.
	(DECL_CHECK): Removed.
	(DECL_MINIMAL_CHECK): New.
	(DECL_COMMON_CHECK): Ditto.
	(DECL_WRTL_CHECK): Ditto.
	(DECL_NON_COMMON_CHECK): Ditto.
	(DECL_WITH_VIS_CHECK): Ditto.
	(VAR_OR_FUNCTION_DECL_P): Ditto
	(struct tree_decl_minimal): New structure.
	(struct tree_decl_common): Ditto.
	(struct tree_decl_with_rtl): Ditto.
	(struct tree_decl_with_vis): Ditto.
	(struct tree_decl_non_common): Ditto.
	(struct tree_field_decl): Ditto.
	(struct tree_parm_decl): Ditto.
	(struct tree_var_decl): Ditto.
	(struct tree_function_decl): Ditto.
	(struct tree_const_decl): Ditto.
	(struct tree_result_decl): Ditto.
	(union tree_node): Add new structures.
	* var-tracking.c (track_expr_p): Reverse order of tests.

	* doc/c-tree.texi: Add documentation on DECL node internal structure.


2005-07-08  Daniel Berlin  <dberlin@dberlin.org>

	* utils.c (create_param_decl): DECL_ARG_TYPE_AS_WRITTEN is
	removed.

2005-07-08  Daniel Berlin  <dberlin@dberlin.org>

	* Make-lang.in: Add gt-cp-lang.h.
	(cp-lang.o): Ditto.
	* class.c (create_vtable_ptr): Stop setting DECL_ASSEMBLER_NAME on
	the field.
	* config-lang.in: Add cp-lang.c to gtfiles.
	* cp-lang.c: Include hashtab.h.
	(cp_init_ts): New function.
	(LANG_HOOK_INIT_TS): Use macro.
	(decl_shadowed_for_var_lookup): New function.
	(decl_shadowed_for_var_insert): Ditto.
	* cp-tree.h (THUNK_FUNCTION_CHECK): Use decl_common.
	(NON_THUNK_FUNCTION_CHECK): Ditto.
	(DECL_NAMESPACE_ASSOCIATIONS): Use decl_non_common.
	(DECL_INIT_PRIORITY): Ditto.
	(DECL_HAS_SHADOWED_FOR_VAR_P): Ditto.
	(DECL_SHADOWED_FOR_VAR): Use hashtable.
	(SET_DECL_SHADOWED_FOR_VAR): Ditto.
	* decl.c (duplicate_decls): Update for new/updated structures.
	(poplevel): Use SET_DECL_SHADOWED_FOR_VAR.
	* decl2.c (start_static_initialization_or_destruction): Deal with
	priority.
	* pt.c (tsubst_decl): Check TS_DECL_WRTL before doing
	SET_DECL_RTL.
	* tree.c (handle_init_priority_attribute): Handle priority.

2005-07-08  Daniel Berlin  <dberlin@dberlin.org>

	* objc-act.c (objc_push_parm): DECL_ARG_TYPE_AS_WRITTEN is
	removed.
	* objc-act.h (KEYWORD_ARG_NAME): Use decl_non_common.
	(KEYWORD_KEY_NAME): Use decl_minimal.
	(METHOD_SEL_NAME): Ditto..
	(METHOD_SEL_ARGS): Use decl_non_common.
	(METHOD_ADD_ARGS): Ditto.
	(METHOD_ADD_ARGS_ELLIPSIS_P): Use decl_common.
	(METHOD_DEFINITION): Ditto.
	(METHOD_ENCODING): Ditto.
	* objc-lang.c: (objc_init_ts): New function.

2005-07-08  Daniel Berlin  <dberlin@dberlin.org>

	* trans-decl.c (create_function_arglist): DECL_ARG_TYPE_AS_WRITTEN
	is removed.

From-SVN: r101799
2005-07-08 23:37:11 +00:00
Bryce McKinlay
cb14ee6a76 re PR java/18119 (Private inner class is visible when it shouldn't be)
2005-07-07  Bryce McKinlay  <mckinlay@redhat.com>

	PR java/18119
	* parse.y (inner_class_accessible): New function. Logic moved from
	check_inner_class_access.
	(check_inner_class_access): Use inner_class_accessible.
	(resolve_inner_class): Simplify arguments. Create circularity hash
	here. Keep looking for classes if we found one that was
	inaccessible. Return the inaccessible class only if there is no other
	match.
	(do_resolve_class): Update for new resolve_inner_class arguments.
	Don't create circularity_hash here.

From-SVN: r101715
2005-07-07 15:43:59 +01:00
Bryce McKinlay
ca12deb43e re PR java/21045 (Anonymous inner class constructor's exceptions can't be caught or thrown)
2005-07-07  Bryce McKinlay  <mckinlay@redhat.com>

        PR java/21045
	* parse.y (add_exception_to_throws): New function.
	(purge_unchecked_exceptions): Removed.
	(get_constructor_super): Renamed from verify_constructor_super. Now
	returns the super constructor after verification.
	(java_complete_expand_method): Don't use purge_unchecked_exceptions
	or save/restore the exception list.
	(check_thrown_exceptions): Add uncaught exceptions in anonymous
	class initializers and constructors to the throws clause of the
	method.

2005-07-07  Bryce McKinlay  <mckinlay@redhat.com>

        * testsuite/libjava.compile/PR21045.java: New test.
        * testsuite/libjava.jacks/jacks.xfail: Remove 15.9.5.1-exception-1,
        15.9.5.1-exception-3, 8.3.2-abrupt-6, 8.3.2-abrupt-7.

From-SVN: r101713
2005-07-07 15:34:53 +01:00
Bryce McKinlay
b226520a2d re PR java/19674 (Empty declaration through semicolon (;) causes compile failure)
2005-07-05  Bryce McKinlay  <mckinlay@redhat.com>

        PR java/19674
        * parse.y (interface_member_declaration): Allow empty statements in
        interface declarations.

2005-07-05  Bryce McKinlay  <mckinlay@redhat.com>

	* testsuite/libjava.compile/PR19674.java: New test.

From-SVN: r101634
2005-07-05 22:09:57 +01:00
Paolo Bonzini
ef3303124e Makefile.in: Adjust dependencies.
2005-07-05  Paolo Bonzini  <bonzini@gnu.org>

	* Makefile.in: Adjust dependencies.
	* tree-pass.h: Add new passes and passes formerly in tree-optimize.c.
	* basic-block.h (duplicate_computed_gotos): Remove, it is now static.
	* alias.c (rest_of_handle_cfg, pass_cfg): New.
	* bb-reorder.c (duplicate_computed_gotos): Make it static.
	* cfgexpand.c (tree_expand_cfg): Add code formerly at the beginning of
	rest_of_compilation.

	* bb-reorder.c (gate_duplicate_computed_gotos,
	pass_duplicate_computed_gotos, gate_handle_reorder_blocks,
	rest_of_handle_reorder_blocks, pass_reorder_blocks,
	gate_handle_partition_blocks, rest_of_handle_partition_blocks,
	pass_partition_blocks): New.
	* bt-load.c (gate_handle_branch_target_load_optimize,
	rest_of_handle_branch_target_load_optimize,
	pass_branch_target_load_optimize): New.
	* cfgcleanup.c (rest_of_handle_jump, pass_jump, rest_of_handle_jump2,
	pass_jump2): New.
	* cfglayout.c (pass_insn_locators_initialize): New.
	* cfgrtl.c (pass_free_cfg): New.
	* combine.c (gate_handle_combine, rest_of_handle_combine,
	pass_combine): New.
	* cse.c (gate_handle_cse, rest_of_handle_cse, pass_cse,
	gate_handle_cse2, rest_of_handle_cse2, pass_cse2): New.
	* emit-rtl.c (pass_unshare_all_rtl, pass_remove_unnecessary_notes): New.
	* except.c (pass_set_nothrow_function_flags,
	pass_convert_to_eh_region_ranges, gate_handle_eh, rest_of_handle_eh,
	pass_rtl_eh): New.
	* final.c (pass_compute_alignments, rest_of_handle_final, pass_final,
	rest_of_handle_shorten_branches, pass_shorten_branches,
	rest_of_clean_state, pass_clean_state): New.
	* flow.c (pass_recompute_reg_usage, gate_remove_death_notes,
	rest_of_handle_remove_death_notes, pass_remove_death_notes,
	rest_of_handle_life, pass_life, rest_of_handle_flow2,
	pass_flow2): New.
	* function.c (pass_instantiate_virtual_regs, pass_init_function,
	rest_of_handle_check_leaf_regs, pass_leaf_regs): New.
	* gcse.c (gate_handle_jump_bypass, rest_of_handle_jump_bypass,
	pass_jump_bypass, gate_handle_gcse, rest_of_handle_gcse,
	pass_gcse): New.
	* global.c (rest_of_handle_global_alloc, pass_global_alloc): New.
	* ifcvt.c (gate_handle_if_conversion, rest_of_handle_if_conversion,
	pass_rtl_ifcvt, gate_handle_if_after_combine,
	rest_of_handle_if_after_combine, pass_if_after_combine,
	gate_handle_if_after_reload, rest_of_handle_if_after_reload,
	pass_if_after_reload): New.
	* integrate.c (pass_initial_value_sets): New.
	* jump.c (pass_cleanup_barriers, purge_line_number_notes,
	pass_purge_lineno_notes): New.
	* mode-switching.c (rest_of_handle_mode_switching,
	pass_mode_switching): New.
	* local-alloc.c (rest_of_handle_local_alloc, pass_local_alloc): New.
	* loop-init.c (gate_handle_loop2, rest_of_handle_loop2,
	pass_loop2): New.
	* loop.c (gate_handle_loop_optimize, rest_of_handle_loop_optimize,
	pass_loop_optimize): New.
	* modulo-sched.c (gate_handle_sms, rest_of_handle_sms,
	pass_sms): New.
	* postreload-gcse.c (gate_handle_gcse2, rest_of_handle_gcse2,
	pass_gcse2): New.
	* postreload.c (gate_handle_postreload, rest_of_handle_postreload,
	pass_postreload_cse): New.
	* profile.c (gate_handle_profiling, pass_profiling,
	rest_of_handle_branch_prob, pass_branch_prob): New.
	* recog.c (pass pass_split_for_shorten_branches, gate_do_final_split,
	pass_split_before_regstack, gate_handle_split_before_regstack,
	gate_handle_peephole2, rest_of_handle_peephole2, pass_peephole2,
	rest_of_handle_split_all_insns, pass_split_all_insns): New.
	* reg-stack.c (gate_handle_stack_regs, rest_of_handle_stack_regs,
	pass_stack_regs): New.
	* regmove.c (gate_handle_regmove, rest_of_handle_regmove, pass_regmove,
	gate_handle_stack_adjustments, rest_of_handle_stack_adjustments,
	pass_stack_adjustments): New.
	* regrename.c (gate_handle_regrename, rest_of_handle_regrename,
	pass_regrename): New.
	* reorg.c (gate_handle_delay_slots, rest_of_handle_delay_slots,
	pass_delay_slots, gate_handle_machine_reorg,
	rest_of_handle_machine_reorg, pass_machine_reorg): New.
	* rtl.h (extern void purge_line_number_notes): New.
	* sched-rgn.c (gate_handle_sched, rest_of_handle_sched,
	gate_handle_sched2, rest_of_handle_sched2, pass_sched,
	pass_sched2): New.
	* tracer.c (gate_handle_tracer, rest_of_handle_tracer,
	pass_tracer): New.
	* value-prof.c (gate_handle_value_profile_transformations,
	rest_of_handle_value_profile_transformations,
	pass_value_profile_transformations): New.
	* var-tracking.c (gate_handle_var_tracking,
	pass_variable_tracking): New.
	* web.c (gate_handle_web, rest_of_handle_web, pass_web): New.

	* passes.c (open_dump_file, close_dump_file, rest_of_handle_final,
	rest_of_handle_delay_slots, rest_of_handle_stack_regs,
	rest_of_handle_variable_tracking, rest_of_handle_machine_reorg,
	rest_of_handle_old_regalloc, rest_of_handle_regrename,
	rest_of_handle_reorder_blocks, rest_of_handle_partition_blocks,
	rest_of_handle_sms, rest_of_handle_sched, rest_of_handle_sched2,
	rest_of_handle_gcse2, rest_of_handle_regmove,
	rest_of_handle_tracer, rest_of_handle_if_conversion,
	rest_of_handle_if_after_combine, rest_of_handle_if_after_reload,
	rest_of_handle_web, rest_of_handle_branch_prob,
	rest_of_handle_value_profile_transformations, rest_of_handle_cfg,
	rest_of_handle_jump_bypass, rest_of_handle_combine,
	rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2,
	rest_of_handle_gcse, rest_of_handle_loop_optimize,
	rest_of_handle_loop2, rest_of_handle_branch_target_load_optimize,
	rest_of_handle_mode_switching, rest_of_handle_jump,
	rest_of_handle_eh, rest_of_handle_stack_adjustments,
	rest_of_handle_flow2, rest_of_handle_jump2,
	rest_of_handle_peephole2, rest_of_handle_postreload,
	rest_of_handle_shorten_branches, rest_of_clean_state,
	rest_of_compilation): Remove.

	* cgraphunit.c (ipa_passes): Moved from tree-optimize.c.
	* passes.c (dump_flags, in_gimple_form, all_passes,
	all_ipa_passes, all_lowering_passes, register_one_dump_file,
	register_dump_files, next_pass_1, last_verified, execute_todo,
	execute_one_pass, execute_pass_list, execute_ipa_pass_list): Moved
	from tree-optimize.c.
	(init_optimization_passes): Moved from tree-optimize.c,
	adding the RTL optimizations.
	* tree-dump.h (dump_info_p, dump_flag): Moved from tree.h.
	* tree-optimize.c (dump_flags, in_gimple_form, all_passes,
	all_ipa_passes, all_lowering_passes, register_one_dump_file,
	register_dump_files, next_pass_1, last_verified, execute_todo,
	execute_one_pass, execute_pass_list, execute_ipa_pass_list,
	init_tree_optimization_passes, ipa_passes): Delete.
	* tree-pass.h (enum tree_dump_index): Moved from tree.h, removing
	the RTL dumps.
	(TDF_*, get_dump_file_name, dump_enabled_p, dump_initialized_p,
	dump_begin, dump_end, dump_node, dump_switch_p, dump_flag_name): Moved
	from tree.h.
	(ipa_passes): Remove.
	(all_passes, all_ipa_passes, all_lowering_passes): Now extern.
	* tree.h (enum tree_dump_index, TDF_*, get_dump_file_name,
	dump_enabled_p, dump_initialized_p, dump_begin, dump_end, dump_node,
	dump_switch_p, dump_flag_name): Moved to tree-pass.h.
	(dump_info_p, dump_flag): Moved to tree-dump.h.

	* Makefile.in: Adjust dependencies for tree-pretty-print.c,
	cgraph.c, opts.c.
	* passes.c (finish_optimization_passes): Use dump_begin
	and dump_end, TDI_end.
	(gate_rest_of_compilation): New.
	(pass_rest_of_compilation): Use it.
	(gate_postreload, pass_postreload): New.
	* toplev.c (general_init): Rename init_tree_optimization_passes.
	* toplev.h (init_tree_optimization_passes): Rename to
	init_optimizations_passes.
	* tree-dump.c (dump_flag): Make static.
	(dump_files): Remove RTL dumps.
	* tree-optimize.c (pass_all_optimizations, pass_early_local_passes,
	pass_cleanup_cfg, pass_free_cfg_annotations,
	pass_cleanup_cfg_post_optimizing, pass_free_datastructures,
	pass_init_datastructures, pass_fixup_cfg): Make non-static.
	* tree-pretty-print.c: Include tree-pass.h.
	* cgraph.c: Include tree-dump.h.

cp:
2005-07-05  Paolo Bonzini  <bonzini@gnu.org>

	* Makefile.in (class.o, decl2.o): Adjust dependencies.
	* class.c: Include tree-dump.h.
	* decl2.c: Include tree-dump.h.

java:
2005-07-05  Paolo Bonzini  <bonzini@gnu.org>

	* Makefile.in (parse.o): Adjust dependencies.
	* parse.y: Include tree-dump.h.

From-SVN: r101627
2005-07-05 16:20:53 +00:00
Joseph Myers
dee158440e toplev.c (default_tree_printer): Handle setting location with '+' flag.
2005-07-02  Zack Weinberg  <zack@codesourcery.com>
            Joseph S. Myers  <joseph@codesourcery.com>

	* toplev.c (default_tree_printer): Handle setting location with
	'+' flag.
	* c-objc.common.c (c_tree_printer): Likewise.
	* c-format.c (gcc_diag_flag_specs): Add '+'.
	(gcc_cdiag_char_table): Allow '+' flag for tree formats.
	(format_types_orig): Allow '+' flag for gcc_diag and gcc_cdiag
	formats.
	* c-common.c, c-decl.c, c-objc-common.c, c-pragma.c,
	config/arm/pe.c, config/i386/winnt.c, config/ia64/ia64.c,
	config/mcore/mcore.c, config/sh/symbian.c, config/sol2.c,
	config/v850/v850.c, function.c, stor-layout.c, toplev.c,
	tree-inline.c, tree-optimize.c, tree.c, varasm.c: Use '+' flag
	instead of %J or %H.  Use 'q' flag for quoting.  Avoid '.' at end
	of diagnostics.  Use %q+D not %s for a decl.  Do not pass excess
	format arguments where %J is used without %D.

cp:
	* error.c (location_of): Add comment.
	(locate_error, cp_error_at, cp_warning_at, cp_pedwarn_at): Remove.
	* cp-tree.h (cp_error_at, cp_warning_at, cp_pedwarn_at): Remove.
	* call.c, class.c, decl.c, decl2.c, friend.c, init.c,
	name-lookup.c, parser.c, pt.c, search.c, semantics.c, typeck.c,
	typeck2.c: Use '+' flag instead of %J, cp_error_at, cp_warning_at
	or cp_pedwarn_at.  Mark up some diagnostic strings with N_.

java:
	* class.c, decl.c, expr.c: Use '+' flag instead of %J.  Use 'q'
	flag for quoting.

objc:
	* objc-act.c: Use '+' flag instead of %J.  Use 'q' flag for
	quoting.

testsuite:
	* gcc.dg/format/gcc_diag-1.c: Update.

From-SVN: r101532
2005-07-02 11:55:32 +01:00
Andrew Pinski
200bbdcecb parse.y (issue_warning_error_from_context): Call pp_output_formatted_text to be able to get the buffer.
2005-07-01  Andrew Pinski  <pinskia@physics.uc.edu>

        * parse.y (issue_warning_error_from_context): Call
        pp_output_formatted_text to be able to get the buffer.

From-SVN: r101505
2005-07-01 08:21:09 -07:00
Andrew Pinski
8ce2456a6d parse.y (issue_warning_error_from_context): Update for the renaming of pp_format_text to pp_format.
2005-06-29  Andrew Pinski  <pinskia@physics.uc.edu>

        * parse.y (issue_warning_error_from_context): Update for the
        renaming of pp_format_text to pp_format.

From-SVN: r101497
2005-06-30 20:39:19 -07:00
Paul Brook
617a1b7144 Makefile.in: Set and use UNWIND_H.
2005-06-28  Paul Brook  <paul@codesourcery.com>

gcc/
	* Makefile.in: Set and use UNWIND_H.  Install as unwind.h.
	* c-decl.c (finish_decl): Call default_init_unwind_resume_libfunc.
	* except.c (add_ehspec_entry): Generate arm eabi filter lists.
	(assign_filter_values): Ditto.
	(output_ttype): New function.
	(output_function_exception_table): Use output_ttype.  Generate arm
	eabi filter lists.
	(default_init_unwind_resume_libfunc): New function.
	* except.h (default_init_unwind_resume_libfunc): Add prototype.
	* optabs.c (init_optabs): Don't set unwind_resume_libfunc.
	* opts.c (decode_options): Use targetm.unwind_tables_default.
	* target-def.h (TARGET_ASM_TTYPE): Provide and use definition.
	(TARGET_ARM_EABI_UNWINDER, TARGET_UNWIND_TABLES_DEFAULT): Ditto.
	* target.h (struct gcc_target): Add asm.ttype, unwind_tables_default
	and arm_eabi_unwinder.
	* unwind-c.c: Support Arm EABI unwinder.
	* unwind.h: Rename ...
	* unwind-generic.h: ... To this.
	* doc/tm.texi (TARGET_ASM_TTYPE, TARGET_ARM_EABI_UNWINDER): Document.
	(TARGET_UNWID_TABLES_DEFAULT): Document.

	* config/arm/arm-protos.h (arm_output_fn_unwind): Add prototype.
	* config/arm/arm.c (arm_unwind_emit, arm_output_ttype): New functions.
	(TARGET_UNWIND_EMIT, TARGET_ASM_TTYPE, TARGET_ARM_EABI_UNWINDER):
	Define.
	(thumb_pushpop, thumb_output_function_prologue): Output unwinding
	directives.
	(arm_unwind_emit_stm, arm_unwind_emit_set): New functions.
	* config/arm/arm.h (MUST_USE_SJLJ_EXCEPTIONS): Only define when
	!TARGET_UNWIND_INFO.
	(ARM_OUTPUT_FN_UNWIND, ARM_EABI_UNWIND_TABLES): Define.
	* config/arm/bpabi.h (TARGET_UNWIND_INFO): Define.
	* config/arm/elf.h (ASM_DECLARE_FUNCTION_NAME,
	ASM_DECLARE_FUNCTION_SIZE): Use ARM_OUTPUT_FN_UNWIND.
	* config/arm/lib1funcs.asm: Include libunwind.S.
	* config/arm/libgcc-bpabi.ver: Add unwinding routines.
	* config/arm/libunwind.S: New file.
	* config/arm/pr-support.c: New file.
	* config/arm/t-bpabi (LIB1ASMFUNCS): Add _unwind.
	(UNWIND_H, LIB2ADDEH, LIB2ADDEHDEP): Set.
	* config/arm/t-symbian (UNWIND_H, LIB2ADDEH, LIB2ADDEHDEP): Set.
	* config/arm/unwind-arm.c: New file.
	* config/arm/unwind-arm.h: New file.
	* config/i386/t-netware (USER_H): Remove unwind.h.
	* config/ia64/ia64.h (TARGET_UNWIND_TABLES_DEFAULT): Define.

gcc/cp/
	* Make-lang.in (cp/except.o): Depend on $(TARGET_H)
	* except.c: Include target.h.
	(init_exception_processing): Initialize unwind_resume_libfunc.
	* doc/tm.texi: Document TARGET_ASM_TTYPE
gcc/ada/
	* misc.c (gnat_init_gcc_eh): Call default_init_unwind_resume_libfunc.
gcc/java/
	* decl.c (java_init_decl_processing): Call
	default_init_unwind_resume_libfunc.
gcc/objc/
	* objc-act.c (objc_init_exceptions): Call
	default_init_unwind_resume_libfunc.
libstdc++/
	* acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Check for
	__cxa_end_cleanup.
	* libsupc++/Makefile.am (sources): Add eh_call.c and eh_arm.c.
	* libsupc++/eh_arm.cc: New file.
	* libsupc++/eh_call.cc: New file.
	* libsupc++/eh_catch.cc (__cxa_get_exception_ptr): Use
	__gxx_caught_object.
	(__cxa_begin_catch): Ditto. Use __is_gxx_exception_class. Call
	_Unwind_Complete when using the ARM EABI.
	(__cxa_end_catch): Use __is_gxx_exception_class.
	* libsupc++/eh_personality.cc: Define NO_SIZE_OF_ENCODED_VALUE when
	using the ARM EABI.
	(save_caught_exception, restore_caught_exception): New functions.
	(_throw_typet): New typedef.
	(get_ttype_entry, get_adjusted_ptr, check_exception_spec): Add ARM
	EABI implementations.
	(PERSONALITY_FUNCTION): Use new functions.  Addd support for ARM EABI
	unwinding libary.
	(__cxa_unexpected): Disable when using the ARM EABI.
	* libsupc++/eh_throw.cc (__cxa_throw): Use __GXX_INIT_EXCEPTION_CLASS.
	(__cxa_rethrow): Use __is_gxx_exception_class.  Call
	_Unwind_RaiseException when using the ARM EABI.
	* libsupc++/unwind-cxx.h (struct __cxa_exception): Add fields for ARM
	EABI semantics.
	(struct __cxa_eh_globals): Ditto.
	(__cxa_call_terminate): Add prototype.
	(__cxa_type_match, __cxa_begin_cleanup, __cxa_end_cleanup): Add
	prototypes.
	(__get_exception_header_from_obj, __get_exception_header_from_ue):
	Move earlier in file.
	(__is_gxx_exception_class, __GXX_INIT_EXCEPTION_CLASS,
	__gxx_caught_object): New functions.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* libmath/Makefile.in: Regenerate.
	* libsupc++/Makefile.in: Regenerate.
	* po/Makefile.in: Regenerate.
	* src/Makefie.in: Regenerate.
	* testsuite/makefile.in: Regenerate.

From-SVN: r101385
2005-06-28 19:52:27 +00:00
Tom Tromey
4ebe7d9317 PR java/21540, PR java/13788:
gcc/java/:
	PR java/21540, PR java/13788:
	* parse.y (java_complete_lhs) <CASE_EXPR>: Use
	fold_constant_for_init.
	(patch_binop): Added 'folding' argument.  Updated all callers.
	(patch_unaryop) <NOP_EXPR>: New case.
	(fold_constant_for_init) <NOP_EXPR>: Likewise.
	(fold_constant_for_init) <COND_EXPR>: Fix sense of test.
libjava/:
	PR java/21540, PR java/13788:
	* testsuite/libjava.compile/pr21540.java: New file.
	* testsuite/libjava.compile/pr13788.java: New file.
	* testsuite/libjava.jacks/jacks.xfail: Updated.

From-SVN: r101358
2005-06-27 18:40:16 +00:00
Jan Hubicka
6e0fbdd978 builtins.c (define_builtin): Accept new flags parameter.
* builtins.c (define_builtin): Accept new flags parameter.
	(initialize_builtins): Mark the builtins const and nothrow accordingly.

From-SVN: r101319
2005-06-25 11:22:50 +00:00
Kelley Cook
f12c30a8f1 Update FSF address.
From-SVN: r101309
2005-06-25 00:33:05 +00:00
Tom Tromey
aca02b7e00 verify-impl.c (verify_instructions_0): Correctly handle situation where PC falls off end.
gcc/java/:
	* verify-impl.c (verify_instructions_0): Correctly handle
	situation where PC falls off end.
libjava/:
	* verify.cc (verify_instructions_0): Correctly handle situation
	where PC falls off end.

From-SVN: r101299
2005-06-24 22:09:15 +00:00
Bryce McKinlay
c0f6dc941d re PR java/20697 (Invalid Can't find method error on call to super)
PR java/20697
	* parse.y (find_most_specific_methods_list): Remove special case for
	inner classes.

From-SVN: r101270
2005-06-23 16:00:50 +01:00
Tom Tromey
fbb4c46b2d re PR libgcj/21906 (hang when invoking abstract method)
gcc/java/:
	PR libgcj/21906:
	* class.c (make_method_value): Use soft_abstractmethod_node for
	abstract method.
	* java-tree.h (soft_abstractmethod_node): New define.
	(JTI_SOFT_ABSTRACTMETHOD_NODE): New enum constant.
	* decl.c (java_init_decl_processing): Initialize
	soft_abstractmethod_node.
libjava/:
	PR libgcj/21906:
	* defineclass.cc (handleMethodsEnd): Set ncode for abstract
	methods.
	* include/jvm.h (_Jv_ThrowAbstractMethodError): Declare.
	* link.cc (_Jv_ThrowAbstractMethodError): Renamed.  No longer
	static.
	(append_partial_itable): Use it.
	(set_vtable_entries): Likewise.

From-SVN: r100992
2005-06-15 19:11:43 +00:00
Geoffrey Keating
7bfb5cccd7 Index: ChangeLog
2005-06-13  Geoffrey Keating  <geoffk@apple.com>

	* Makefile.in (install-man): Doesn't really depend on installdirs.
	(various rules for installing manpages): Do depend on installdirs.

Index: cp/ChangeLog
2005-06-13  Geoffrey Keating  <geoffk@apple.com>

	* Make-lang.in (c++.install-man): Doesn't really depend on installdirs.
	(rule for installing g++.1 manpage): Does depend on installdirs.

Index: fortran/ChangeLog
2005-06-13  Geoffrey Keating  <geoffk@apple.com>

	* Make-lang.in (fortran.install-man): Doesn't depend on installdirs.
	(rule for installing f95.1 manpage): Does depend on installdirs.

Index: java/ChangeLog
2005-06-13  Geoffrey Keating  <geoffk@apple.com>

	* Make-lang.in (rule for installing gcj.1): Depends on installdirs.

From-SVN: r100928
2005-06-14 09:03:46 +00:00
Per Bothner
885beb81ab expr.c (int highest_label_pc_this_method, [...]): New globals.
* expr.c (int highest_label_pc_this_method,
	start_label_pc_this_method): New globals.
	(lookup_label): Add start_label_pc_this_method to pc for label, and
	update highest_label_pc_this_method.  This prevents conflicts between
	labels from different methods.
	* java-tree.h: Declare new globals.
	* jcf-parse.c (parse_class_file): If needed bump
	start_label_pc_this_method and reset highest_label_pc_this_method.

From-SVN: r100896
2005-06-13 12:30:47 -07:00
Tom Tromey
924b245026 re PR java/21844 (miscompilation of LinkedHashMap)
PR java/21844:
	* parse.y (nested_field_access_p): Handle case where outer field
	is inherited by enclosing class.

From-SVN: r100893
2005-06-13 19:20:22 +00:00
Per Bothner
d35310e309 * class.c (inherits_from_p): Do load_class if needed.
From-SVN: r100860
2005-06-12 12:54:59 -07:00
Kaveh R. Ghazi
74118f1510 gjavah.c (error): Add ATTRIBUTE_PRINTF_1.
* gjavah.c (error): Add ATTRIBUTE_PRINTF_1.
	* java-tree.h (parse_error_context): Move...
	* parse.h (parse_error_context): ... here, add ATTRIBUTE_GCC_DIAG.
	* parse.y (parse_warning_context): Add ATTRIBUTE_GCC_DIAG.
	* verify-impl.c (debug_print): Add ATTRIBUTE_PRINTF_1.

From-SVN: r100795
2005-06-09 10:55:02 +00:00
Roger Sayle
77462a3c00 * typeck.c (convert): Only clear TREE_OVERFLOW on INTEGER_CST nodes.
From-SVN: r100791
2005-06-09 03:38:09 +00:00
Jakub Jelinek
4b794eaf73 exgettext: Handle gmsgid and cmsgid arguments specially, as gcc-internal-format and c-format.
gcc/po/
	* exgettext: Handle gmsgid and cmsgid arguments specially,
	as gcc-internal-format and c-format.  Because of xgettext
	bug, invoke xgettext once with --language=c, once with
	--language=GCC-source and then merge together.  Fail if
	xgettext is not 0.14.5 or later.
gcc/
	* intl.h (G_): New macro.
	* rtl-error.c (error_for_asm, warning_for_asm): Use gmsgid
	instead of msgid for argument name.
	* tree-ssa.c (warn_uninit): Likewise.
	* c-parser.c (c_parser_error): Likewise.
	* config/rs6000/rs6000-c.c (SYNTAX_ERROR): Likewise.
	* config/darwin-c.c (BAD): Likewise.
	* config/c4x/c4x-c.c (BAD): Likewise.
	* c-pragma.c (GCC_BAD, GCC_BAD2): Likewise.
	* c-errors.c (pedwarn_c99, pedwarn_c90): Likewise.
	* c-common.c (c_parse_error): Likewise.
	* diagnostic.c (diagnostic_set_info, verbatim, inform, warning,
	warning0, pedwarn, error, sorry, fatal_error, internal_error):
	Likewise.
	(fnotice): Use cmsgid instead of msgid for argument name.
	* gcov.c (fnotice): Likewise.
	* protoize.c (notice): Likewise.
	* final.c (output_operand_lossage): Likewise.
	* gcc.c (fatal, notice): Likewise.
	(error): Use gmsgid instead of msgid for argument name.
	* collect2.c (notice, fatal_perror, fatal): Use cmsgid instead
	of msgid for argument name.
	(error): Use gmsgid instead of msgid for argument name.
	* c-decl.c (locate_old_decl, implicit_decl_warning): Use G_()
	instead of N_().
	* c-typeck.c (readonly_error, convert_for_assignment): Likewise.
	* tree-inline.c (inline_forbidden_p_1): Likewise.
	* ABOUT-GCC-NLS: Require gettext 0.14.5 or later.  Mention the new
	conventions for marking translations.
	* doc/install.texi: Mention gettext 0.14.5 or later requirement.
gcc/cp/
	* error.c (locate_error): Use gmsgid instead of msgid for argument
	name.
	(cp_error_at, cp_warning_at, cp_pedwarn_at): Likewise.
gcc/java/
	* jv-scan.c (fatal_error, warning, warning0): Use gmsgid instead of
	msgid for argument name.
	* gjavah.c (error): Likewise.
	* java-tree.h (parse_error_context): Likewise.
	* parse.y (parse_error_context, parse_warning_context,
	issue_warning_error_from_context): Likewise.

From-SVN: r100676
2005-06-06 21:31:40 +02:00
Tom Tromey
4267db9877 re PR java/21722 (gcj miscompiles accesses to static final vars with indirect dispatch)
PR java/21722:
	* class.c (build_static_field_ref): Don't fold constant fields if
	current class is from a .class file and we're using indirect
	dispatch.

From-SVN: r100533
2005-06-03 04:06:19 +00:00
Kaveh R. Ghazi
4c714dd4a6 basic-block.h, [...]: Don't include errors.h and include toplev.h if necessary.
* basic-block.h, bb-reorder.c, c-gimplify.c, config/darwin.c,
	config/rs6000/rs6000-c.c, dominance.c, gimple-low.c, gimplify.c,
	lambda-code.c, lambda-trans.c, tree-browser.c, tree-cfg.c,
	tree-chrec.c, tree-data-ref.c, tree-dfa.c, tree-eh.c,
	tree-if-conv.c, tree-into-ssa.c, tree-loop-linear.c,
	tree-mudflap.c, tree-nomudflap.c, tree-outof-ssa.c,
	tree-pretty-print.c, tree-scalar-evolution.c, tree-sra.c,
	tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c,
	tree-ssa-dse.c, tree-ssa-forwprop.c, tree-ssa-live.c,
	tree-ssa-operands.c, tree-ssa-phiopt.c, tree-ssa-pre.c,
	tree-ssa-propagate.c, tree-ssa-sink.c, tree-ssa-threadupdate.c,
	tree-ssa-uncprop.c, tree-ssa.c, tree-vect-analyze.c,
	tree-vect-transform.c, tree-vectorizer.c, vec.c: Don't include
	errors.h and include toplev.h if necessary.

	* rtl.c, varray.c: If we're compiling as a GENERATOR_FILE, include
	errors.h otherwise include toplev.h.

	* Makefile.in: Update dependencies.

ada:
	* misc.c: Don't include errors.h.

fortran:
	* fortran/trans-decl.c: Don't include errors.h.
	* fortran/Make-lang.in: Updates dependencies.

java:
	* java/verify-glue.c: Don't include errors.h and include toplev.h.
	* java/Make-lang.in: Updates dependencies.

treelang:
	* treelang/lex.l, treelang/parse.y: Don't include errors.h and
	include toplev.h.
	* treelang/Make-lang.in: Updates dependencies.

From-SVN: r100420
2005-06-01 02:51:18 +00:00
Ranjit Mathew
cd8394dd97 Correct Martin Loewis's last name ("oe" was "o" with umlaut) mangled by
my editor in the previous commit.

From-SVN: r100247
2005-05-27 05:22:05 +00:00
Ranjit Mathew
38c9d142c8 re PR java/19870 (gcj -C doesn't generate accessors for private members across nested class boundaries)
PR java/19870.
	* java-tree.h (OUTER_FIELD_ACCESS_IDENTIFIER_P): Rename to
	NESTED_FIELD_ACCESS_IDENTIFIER_P.
	(FIELD_INNER_ACCESS): Rename to FIELD_NESTED_ACCESS.
	(FIELD_INNER_ACCESS_P): Rename to FIELD_NESTED_ACCESS_P.
	* jcf-write.c (generate_classfile): Use
	NESTED_FIELD_ACCESS_IDENTIFIER_P instead of
	OUTER_FIELD_ACCESS_IDENTIFIER_P.
	* parse.y (build_outer_field_access): Rename to
	build_nested_field_access. Support static fields and outer-to-inner
	class accesses.
	(outer_field_access_p): Rename to nested_field_access_p. Support
	static fields and generalise to outer-to-inner class and sibling
	inner class accesses.
	(outer_field_expanded_access_p): Rename to
	nested_field_expanded_access_p and support static fields.
	(outer_field_access_fix): Rename to nested_field_access_fix and
	support static fields.
	(build_outer_field_access_expr): Rename to
	build_nested_field_access_expr and support static fields.
	(build_outer_field_access_methods): Rename to
	build_nested_field_access_methods and support static fields. For
	static fields, generate accessors without class instance parameters.
	(build_outer_field_access_method): Rename to
	build_nested_field_access_method and support static fields.
	(build_outer_method_access_method): Use
	NESTED_FIELD_ACCESS_IDENTIFIER_P instead of
	OUTER_FIELD_ACCESS_IDENTIFIER_P.
	(resolve_expression_name): Consider static field accesses across
	nested classes.
	(resolve_qualified_expression_name): Likewise.
	(java_complete_lhs): Use nested_field_access_fix instead of
	outer_field_access_fix.
	(patch_unary_op): Rename outer_field_flag to nested_field_flag.
	Use nested_field_expanded_access_p instead of
	outer_field_expanded_access_p. Use nested_field_access_fix instead
	of outer_field_access_fix.
	(check_thrown_exceptions): Use NESTED_FIELD_ACCESS_IDENTIFIER_P
	instead of OUTER_FIELD_ACCESS_IDENTIFIER_P.

From-SVN: r100246
2005-05-27 05:15:26 +00:00
Bryce McKinlay
a04323f4cb decl.c (GCJ_BINARYCOMPAT_ADDITION, [...]): Removed.
2005-05-26  Bryce McKinlay  <mckinlay@redhat.com>

	* decl.c (GCJ_BINARYCOMPAT_ADDITION,
	GCJ_BOOTSTRAP_LOADER_ADDITION): Removed.
	(FLAG_BINARYCOMPAT_ABI, FLAG_BOOTSTRAP_LOADER,
	MINOR_BINARYCOMPAT_ABI_VERSION): New.
	(GCJ_CURRENT_BC_ABI_VERSION): Use new method to calculate version ID.
	(parse_version): Calculate version ID using new method. Use
	bit-flags for flag_indirect_dispatch and flag_bootstrap_classes.

2005-05-26  Bryce McKinlay  <mckinlay@redhat.com>

	* include/jvm.h (FLAG_BINARYCOMPAT_ABI, FLAG_BOOTSTRAP_LOADER): New.
	(GCJ_BINARYCOMPAT_ADDITION, GCJ_BOOTSTRAP_LOADER_ADDITION): Removed.
	(OLD_GCJ_40_BC_ABI_VERSION): Renamed. Old-style version ID for
	BC-ABI classes.
	(GCJ_CXX_ABI_VERSION): Renamed from GCJ_ABI_VERSION.
	(GCJ_40_BC_ABI_VERSION): New. Calculate version	IDs using new
	method.
	(_Jv_CheckABIVersion): Check for both old and new style version IDs.
	(_Jv_ClassForBootstrapLoader): Use FLAG_BOOTSTRAP_LOADER.

From-SVN: r100222
2005-05-26 22:07:04 +01:00
Richard Henderson
6de33afa78 re PR libgcj/21692 (unexpected java.lang.NoClassDefFoundError)
PR libgcj/21692
cp/
        * cp-tree.h (make_alias_for): Declare.
        * decl2.c (build_java_method_aliases): New.
        (cp_finish_file): Call it.
        * method.c (make_alias_for): Split out from ...
        (make_alias_for_thunk): ... here.

java/
        * Make-lang.in (java/mangle.o): Depend on LANGHOOKS_DEF_H.
        * class.c (build_class_ref): Set DECL_CLASS_FIELD_P and
        DECL_CONTEXT; avoid pushdecl_top_level.
        (build_dtable_decl): Set DECL_VTABLE_P and DECL_CONTEXT.
        (layout_class): Don't SET_DECL_ASSEMBLER_NAME.
        (layout_class_method): Likewise.
        * decl.c (java_mark_cni_decl_local): New.
        (java_mark_class_local): Use it.
        * java-tree.h (DECL_LOCAL_CNI_METHOD_P): New.
        (DECL_CLASS_FIELD_P, DECL_VTABLE_P): New.
        (struct lang_decl_func): Add local_cni;
        (struct lang_decl_var): Add class_field, vtable.
        (java_mangle_decl): Declare.
        * lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
        * mangle.c: Remove dup obstack.h; include langhooks-def.h.
        (mangle_obstack_1): New.
        (java_mangle_decl): Remove obstack argument.  Call mangle_class_field,
        mangle_vtable, and mangle_local_cni_method_decl.  Fall back to
        lhd_set_decl_assembler_name for things that don't need mangling.
        (mangle_class_field): Rename from java_mangle_class_field, make
        static, don't call init_mangling or finish_mangling.
        (mangle_vtable): Similarly.
        (mangle_local_cni_method_decl): New.
        (init_mangling): Remove obstack argument.  Use &mangle_obstack_1,
        gcc_assert, and MANGLE_RAW_STRING.
        (finish_mangling): Use gcc_assert, remove if 0 debugging code.

From-SVN: r100171
2005-05-25 15:08:31 -07:00
DJ Delorie
5c498b10af common.opt (-Wattributes): New.
* common.opt (-Wattributes): New.  Default true.
* doc/invoke.texi (-Wno-attributes): Document.

* attribs.c (decl_attributes): Move warning control from if() to
warning(OPT_*).
* c-common.c (handle_packed_attribute): Likewise.
(handle_nocommon_attribute): Likewise.
(handle_common_attribute): Likewise.
(handle_noreturn_attribute): Likewise.
(handle_noinline_attribute): Likewise.
(handle_always_inline_attribute): Likewise.
(handle_used_attribute): Likewise.
(handle_unused_attribute): Likewise.
(handle_const_attribute): Likewise.
(handle_transparent_union_attribute): Likewise.
(handle_constructor_attribute): Likewise.
(handle_destructor_attribute): Likewise.
(handle_mode_attribute): Likewise.
(handle_alias_attribute): Likewise.
(handle_visibility_attribute): Likewise.
(handle_tls_model_attribute): Likewise.
(handle_malloc_attribute): Likewise.
(handle_returns_twice_attribute): Likewise.
(handle_pure_attribute): Likewise.
(handle_deprecated_attribute): Likewise.
(handle_vector_size_attribute): Likewise.
(handle_nothrow_attribute): Likewise.
(handle_cleanup_attribute): Likewise.
(handle_warn_unused_result_attribute): Likewise.
(handle_sentinel_attribute): Likewise.
* c-decl.c (diagnose_mismatched_decls): Likewise.
(start_decl): Likewise.
(grokdeclarator): Likewise.
(start_function): Likewise.
* c-format.c (check_function_format): Likewise.
* stor-layout.c (place_field): Likewise.
(finalize_record_size): Likewise.
* tree.c (handle_dll_attribute)): Likewise.
* varasm.c (default_assemble_visibility): Likewise.
* config/darwin.c (darwin_handle_weak_import_attribute): Likewise.
(darwin_assemble_visibility): Likewise.
* config/arc/arc.c (arc_handle_interrupt_attribute): Likewise.
* config/arm/arm.c (arm_handle_fndecl_attribute): Likewise.
(arm_handle_isr_attribute): Likewise.
* config/avr/avr.c (avr_handle_progmem_attribute): Likewise.
(avr_handle_fndecl_attribute): Likewise.
* config/bfin/bfin.c (handle_int_attribute): Likewise.
* config/c4x/c4x.c (c4x_handle_fntype_attribute): Likewise.
* config/h8300/h8300.c (h8300_handle_fndecl_attribute): Likewise.
(h8300_handle_eightbit_data_attribute): Likewise.
(h8300_handle_tiny_data_attribute): Likewise.
* config/i386/i386.c (ix86_handle_cdecl_attribute): Likewise.
(ix86_handle_regparm_attribute): Likewise.
(ix86_handle_struct_attribute): Likewise.
* config/i386/winnt.c (ix86_handle_shared_attribute): Likewise.
(i386_pe_encode_section_info): Likewise.
* config/ia64/ia64.c (ia64_handle_model_attribute): Likewise.
* config/ip2k/ip2k.c (ip2k_handle_progmem_attribute): Likewise.
(ip2k_handle_fndecl_attribute): Likewise.
* config/m32r/m32r.c (m32r_handle_model_attribute): Likewise.
* config/m68hc11/m68hc11 (m68hc11_handle_page0_attribute): Likewise.
(m68hc11_handle_fntype_attribute): Likewise.
(m68hc11_encode_section_info): Likewise.
* config/m68k/m68k.c (m68k_handle_fndecl_attribute): Likewise.
* config/mcore/mcore.c (mcore_handle_naked_attribute): Likewise.
* config/ns32k/ns32k.c (ns32k_handle_fntype_attribute): Likewise.
* config/rs6000/rs6000.c (rs6000_handle_longcall_attribute): Likewise.
* config/sh/sh.c (sh_handle_interrupt_handler_attribute): Likewise.
(sh_handle_sp_switch_attribute): Likewise.
(sh_handle_trap_exit_attribute): Likewise.
* config/sh/symbian.c (sh_symbian_dllimport_p): Likewise.
(sh_symbian_handle_dll_attribute): Likewise.
* config/stormy16/stormy16.c (xstormy16_handle_interrupt_attribute): Likewise.
(xstormy16_handle_below100_attribute): Likewise.
* config/v850/v850.c (v850_handle_interrupt_attribute): Likewise.

[testsuite]

* gcc.dg/Wattributes-1.c: New.
* gcc.dg/Wattributes-2.c: New.
* gcc.dg/Wattributes-3.c: New.

[cp]

* decl.c (duplicate_decls): Move warning control from if() to
warning(OPT_*).
* name-lookup.c (parse_using_directive): Likewise.
* parser.c (cp_parser_elaborated_type_specifier): Likewise.
(cp_parser_init_declarator): Likewise.
* tree.c (handle_com_interface_attribute): Likewise.

[java]

* class.c (set_constant_value): Move warning control from if() to
warning(OPT_*).

From-SVN: r100136
2005-05-25 00:18:19 -04:00
Richard Henderson
e0f391dd90 builtins.c (define_builtin): Don't call make_decl_rtl.
* builtins.c (define_builtin): Don't call make_decl_rtl.
        * constants.c (build_constant_data_ref): Likewise.
        * class.c (build_utf8_ref): Likewise.
        (build_fieldref_cache_entry, build_static_field_ref): Likewise.
        (get_dispatch_table, layout_class_method): Likewise.
        (build_class_ref): Likewise. Don't set DECL_SIZE or DECL_SIZE_UNIT
        by hand.
        (make_local_function_alias): Don't SET_DECL_ASSEMBLER_NAME.
        (make_method_value): Use METHOD_ABSTRACT instead of DECL_RTL_SET_P
        to determine if we need a non-zero address.
        * decl.c (builtin_function): Don't call make_decl_rtl.
        (give_name_to_locals): Don't SET_DECL_ASSEMBLER_NAME.
        * expr.c (build_known_method_ref): Don't call make_decl_rtl.
        * resource.c (compile_resource_data): Likewise.
        * parse.y (resolve_field_access): Re-word comment to avoid
        building DECL_RTL.

From-SVN: r100108
2005-05-24 12:22:03 -07:00
Richard Henderson
8cfb12bfd5 class.c (registered_class): Take it out of class_roots; turn into a vec of trees.
* class.c (registered_class): Take it out of class_roots; turn into
        a vec of trees.
        (register_class): Make static.  Don't duplicate decl node.  Use
        VEC_safe_push.
        (emit_register_classes): Use VEC_iterate.  Use output_constant
        instead of assemble_integer.  Don't call mark_decl_referenced
        directly.
        * java-tree.h (register_class): Remove decl.

From-SVN: r100107
2005-05-24 12:18:51 -07:00
Paolo Bonzini
6fb09909fc re PR java/17845 (More problems with simple type names as superclasses)
2005-05-19  Paolo Bonzini  <bonzini@gnu.org>

	PR java/17845

	* parse.y (register_package, package_list): Remove.
	(package_declaration): Do not call register_package.
	(do_resolve_class): Do not use package_list.

From-SVN: r99977
2005-05-19 11:16:27 +00:00
Gerald Pfeifer
d7f35e4832 jcf-write.c (generate_bytecode_insns): Remove unused variable.
* jcf-write.c (generate_bytecode_insns) <SAVE_EXPR>: Remove
	unused variable.

From-SVN: r99745
2005-05-15 20:03:57 +00:00
Tom Tromey
5dbf7c2a45 reverted erroneous checkin
From-SVN: r99742
2005-05-15 18:31:26 +00:00
Tom Tromey
b4220f64e3 re PR java/21519 (ICE in generate_bytecode_conditional, at java/jcf-write.c:1337)
gcc/java:
	PR java/21519:
	* jcf-write.c (generate_bytecode_insns) <SAVE_EXPR>: Don't call
	NOTE_PUSH.
libjava:
	PR java/21519:
	* testsuite/libjava.compile/pr21519.java: New file.
	* testsuite/libjava.compile/pr21519.no-link: New file.

From-SVN: r99739
2005-05-15 18:28:29 +00:00
Bryce McKinlay
f5ea88a3c8 [multiple changes]
2005-05-12  Bryce McKinlay  <mckinlay@redhat.com>

	* include/jvm.h (gcj::verifyClasses): Declare.
	* link.cc (gcj::verbose_class_flag): Moved.
	* prims.cc (gcj::verifyClasses): Define here.
	(gcj::verbose_class_flag): Move definition here.
	(_Jv_Linker::wait_for_state): Don't call verify_class
	if gcj::verifyClasses is not set.
	* gij.cc (main): Set gcj::verifyClasses when '-noverify' is given.

2005-05-12  Aaron Luchko  <aluchko@redhat.com>

	* gij.cc (main): Recognize '-verify', '-noverify', and
	'-verifyremote'

2005-05-12  Aaron Luchko <aluchko@redhat.com>

        * gcj.texi: Add '-verify', '-noverify', and '-verifyremote'.

From-SVN: r99646
2005-05-13 02:02:39 +01:00
Tom Tromey
cca1655eab gcj.texi (Code Generation): Document -fbootstrap-classes.
gcc/java:
	* gcj.texi (Code Generation): Document -fbootstrap-classes.
	* decl.c (GCJ_BOOTSTRAP_LOADER_ADDITION): New macro.
	(parse_version): Use it.
	* lang.opt (-fbootstrap-classes): New option.
libjava:
	* external/w3c_dom/Makefile.in: Rebuilt.
	* external/w3c_dom/Makefile.am (libw3c_gcj_la_GCJFLAGS): Added
	-fbootstrap-classes.
	* external/sax/Makefile.in: Rebuilt.
	* external/sax/Makefile.am (libsax_gcj_la_GCJFLAGS): Added
	-fbootstrap-classes.
	* java/lang/Class.h (_Jv_CopyClassesToSystemLoader): Declare as
	friend.
	* java/lang/natVMClassLoader.cc (getSystemClassLoaderInternal):
	Call _Jv_CopyClassesToSystemLoader.
	* java/lang/natClassLoader.cc (system_class_list): New global.
	(_Jv_RegisterClassHookDefault): Handle bootstrap and system
	classes differently.
	(_Jv_CopyClassesToSystemLoader): New function.
	(SYSTEM_LOADER_INITIALIZED): New define.
	* include/jvm.h (GCJ_BOOTSTRAP_LOADER_ADDITION): New define.
	(_Jv_CheckABIVersion): Use it.
	(_Jv_ClassForBootstrapLoader): New function.
	* Makefile.in: Rebuilt.
	* Makefile.am (AM_GCJFLAGS): Added -fbootstrap-classes.

From-SVN: r99604
2005-05-12 01:27:15 +00:00
Paolo Bonzini
27e928edee re PR java/21436 (imports not remembered for previously compiled files)
gcc/java:
2005-05-10  Paolo Bonzini  <bonzini@gnu.org>

	PR java/21436
	* class.c (maybe_layout_super_class): Look for imports in this_class.
	* parse.h (ctxp_for_generation_last): New.
	(do_resolve_class): Add a parameter.
	* parse.y (ctxp_for_generation_last): New.
	(java_pop_parser_context): Add at end of list.
	(find_in_imports, find_in_imports_on_demand): Look in ctxp
	if the TYPE_IMPORT_LIST or respectively the TYPE_IMPORT_DEMAND_LIST of
	the given type are NULL.
	(do_resolve_class): Look into the imports of the new second parameter.
	Adjust recursive calls.
	(resolve_class, resolve_inner_class, find_as_inner_class): Adjust
	calls to do_resolve_class.
	(create_class): Set the TYPE_IMPORT_LIST and TYPE_IMPORT_DEMAND_LIST.
	(java_complete_class): Do not do that here.

libjava:
2005-05-10  Paolo Bonzini  <bonzini@gnu.org>

	PR java/21436
	* testsuite/libjava.jacks/jacks.xfail: Adjust.

From-SVN: r99513
2005-05-10 13:23:35 +00:00
Thomas Fitzsimmons
d8be0aabf7 re PR java/20309 (gcjh needs a -force option)
2005-05-03  Thomas Fitzsimmons  <fitzsim@redhat.com>

        PR java/20309
        * Make-lang.in (java): Add gjnih.
        (JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
        (GJNIH_OBJS): New variable.
        (gjnih$(exeext)): New target.
        (JAVA_MANFILES): Add gjnih.1.
        (java.uninstall): Add gjnih.1.
        (java.mostlyclean): Add gjnih.
        (java.maintainer-clean): Add gjnih.1.
        (java/gjavah-jni.o): New target.
        (.INTERMEDIATE): Add gjnih.pod.
        (gjnih.pod): New target.
        * config-lang.in (stagestuff): Add gjnih.
        * gcj.texi (Top): Add gjnih node.
        (Invoking gcjh): Add descriptions of -force, -old, -trace, -J and
        -bootclasspath options.
        (Invoking gjnih): New node.
        * gjavah.c Initialize flag_jni to 1 if JNI_DEFAULT is defined.
        (TOOLNAME): New macro.
        (error): Replace hard-coded gcjh with TOOLNAME.
        (process_file): Likewise.
        (usage): Likewise.
        (version): Likewise.
        (help): Likewise.  Add help output for -force, -old, -trace and -J
        options.
        (OPT_FORCE, OPT_OLD, OPT_TRACE): New macros.
        (options): Add force, old, trace and J fields.
        (main): Handle -force, -old, -trace and -J options.

From-SVN: r99206
2005-05-04 01:46:41 +00:00
Tom Tromey
a67aa338b6 re PR java/21245 (gcjh creates invalid/empty header files)
PR java/21245:
	* gjavah.c (main): Unlink output file on error.

From-SVN: r99182
2005-05-03 20:51:30 +00:00
Kazu Hirata
f384d65856 constants.c, [...]: Update copyright.
* constants.c, jvgenmain.c, lang.opt, resource.c: Update
	copyright.

From-SVN: r99173
2005-05-03 18:47:49 +00:00
Tom Tromey
22e8617b22 tree.c (build_block): Removed unused 'tags' argument.
gcc:
	* tree.c (build_block): Removed unused 'tags' argument.
	* tree.h (build_block): Removed argument.
gcc/java:
	* expr.c (build_jni_stub): Updated for change to build_block.
gcc/treelang:
	* treetree.c (poplevel): Updated for change to build_block.
gcc/fortran:
	* f95-lang.c (poplevel): Updated for change to build_block.

From-SVN: r99019
2005-04-29 20:27:58 +00:00
Andrew Pinski
5e4b794a4d expr.c (force_evaluation_order): Declare 'saved' earlier.
2005-04-29  Andrew Pinski  <pinskia@gcc.gnu.org>

	* expr.c (force_evaluation_order): Declare 'saved' earlier.

From-SVN: r99018
2005-04-29 20:19:42 +00:00
Andrew Haley
2c80f01549 re PR java/19285 (Interfaces not initialized by static field access)
2005-04-28  Andrew Haley  <aph@redhat.com>

        PR java/19285
        * java-tree.h (soft_resolvepoolentry_node): New.
        (alloc_constant_fieldref): Declare.
        * expr.c (expand_java_field_op): Don't call class_init for
        accesses to static fields with indirect dispatch.
        * builtins.c (initialize_builtins): Add "__builtin_expect".
        * decl.c (soft_resolvepoolentry_node): New variable.
        (java_init_decl_processing): Create a decl for
        "_Jv_ResolvePoolEntry".
        * class.c (build_fieldref_cache_entry): New function.
        (build_static_field_ref): Rewrite for indirect dispatch.
        * constants.c (find_name_and_type_constant_tree): New function.
        (alloc_constant_fieldref): Likewise.
        (build_constants_constructor): Handle CONSTANT_Fieldref and
        CONSTANT_NameAndType.

        PR java/21115
        * expr.c (force_evaluation_order): Convert outgoing args smaller
        than integer.

From-SVN: r99010
2005-04-29 18:43:25 +00:00
Bryce McKinlay
b40c360d5e gcj.texi (libgcj Runtime Properties): Remove obsolete gnu.gcj.runtime.NameFinder.* system properties.
* gcj.texi (libgcj Runtime Properties): Remove obsolete
	gnu.gcj.runtime.NameFinder.* system properties. Update documentation
	for gnu.gcj.runtime.NameFinder.use_addr2line and gnu.gcj.progname.

From-SVN: r98871
2005-04-27 19:29:27 +01:00
Kaveh R. Ghazi
2653bb0c12 collect2.c, [...]: Replace calls to unlock_stream' with unlock_std_streams'.
* collect2.c, gcc.c, gcov-dump.c, gcov.c, gen-protos.c,
	gensupport.c, protoize.c, toplev.c: Replace calls to
	`unlock_stream' with `unlock_std_streams'.

java:
	* gjavah.c, jcf-dump.c, jv-scan.c, jvgenmain.c: Replace calls
	to `unlock_stream' with `unlock_std_streams'.

From-SVN: r98753
2005-04-26 00:24:02 +00:00
Jakub Jelinek
58a690ae24 Make-lang.in (java/decl.o, [...]): Depend on $(EXPR_H) instead of just expr.h.
* Make-lang.in (java/decl.o, java/resource.o): Depend on $(EXPR_H)
	instead of just expr.h.

From-SVN: r98679
2005-04-25 00:16:49 +02:00
Kaveh R. Ghazi
98a3dad411 collect2.c (main): Unlock the stdio streams.
* collect2.c (main): Unlock the stdio streams.
	* gcc.c (main): Likewise.
	* gcov-dump.c (main): Likewise.
	* gcov.c (main): Likewise.
	* gen-protos.c (main): Likewise.
	* gensupport.c (init_md_reader_args_cb): Likewise.
	* protoize.c (main): Likewise.
	* toplev.c (general_init): Likewise.

java:
	* gjavah.c (main): Unlock the stdio streams.
	* jcf-dump.c (main): Likewise.
	* jv-scan.c (main): Likewise.
	* jvgenmain.c (main): Likewise.

From-SVN: r98676
2005-04-24 22:11:55 +00:00
DJ Delorie
d4ee4d2525 diagnostic.c (warning): Accept parameter to classify warning option.
* diagnostic.c (warning): Accept parameter to classify warning option.
(warning0): New, for when a pointer to an error() like function is needed.
* errors.c (warning): Likewise.
* errors.h (warning, warning0): Adjust prototypes.
* toplev.h (warning, warning0): Likewise.

* attribs.c, builtins.c, c-common.c, c-decl.c, c-format.c,
c-gimplify.c, c-lex.c, c-objc-common.c, c-opts.c, c-parser.c,
c-pragma.c, c-typeck.c, calls.c, cgraph.c, coverage.c, emit-rtl.c,
fold-const.c, fortran/trans-decl.c, function.c, gcse.c,
genautomata.c, haifa-sched.c, opts.c, passes.c, regclass.c,
reload1.c, stmt.c, stor-layout.c, toplev.c, tree-cfg.c,
tree-dump.c, tree-inline.c, tree-mudflap.c, tree-optimize.c,
tree-ssa.c, tree.c, varasm.c: Adjust warning() callers.

* config/alpha/alpha.c, config/arc/arc.c, config/arm/arm.c,
config/avr/avr.c, config/bfin/bfin.c, config/c4x/c4x-c.c,
config/c4x/c4x.c, config/cris/cris.c, config/darwin-c.c,
config/darwin.c, config/darwin.h, config/h8300/h8300.c,
config/i386/cygming.h, config/i386/djgpp.h, config/i386/i386.c,
config/i386/winnt.c, config/ia64/ia64-c.c, config/ia64/ia64.c,
config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.c,
config/mmix/mmix.c, config/ns32k/ns32k.c, config/pa/pa-hpux11.h,
config/pa/pa.c, config/rs6000/aix43.h, config/rs6000/aix51.h,
config/rs6000/aix52.h, config/rs6000/darwin.h,
config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
config/s390/s390.c, config/sh/sh.c, config/sh/sh.h,
config/sh/symbian.c, config/sol2-c.c, config/sol2.c,
config/stormy16/stormy16.c, config/v850/v850-c.c,
config/v850/v850.c, config/xtensa/xtensa.c: Adjust warning()
callers.

* ada/misc.c: Adjust warning() callers.

* cp/call.c, cp/class.c, cp/cvt.c, cp/decl.c, cp/decl2.c,
cp/except.c, cp/friend.c, cp/init.c, cp/lex.c, cp/mangle.c,
cp/method.c, cp/name-lookup.c, cp/parser.c, cp/repo.c, cp/rtti.c,
cp/tree.c, cp/typeck.c, cp/typeck2.c: Adjust warning() callers.

* fortran/trans-decl.c: Adjust warning() callers.

* java/class.c, java/decl.c, java/expr.c, java/jcf-io.c,
java/jcf-parse.c, java/jv-scan.c, java/parse.y: Adjust warning()
callers.

* objc/objc-act.c: Adjust warning() callers.

* treelang/parse.y: Adjust warning() callers.

From-SVN: r98633
2005-04-23 17:29:07 -04:00
Bryce McKinlay
55f9636756 gcj.texi (Object fields): Change "Integer" to "Int" in example contructor.
2005-04-21  Bryce McKinlay  <mckinlay@redhat.com>

        * gcj.texi (Object fields): Change "Integer" to "Int" in example
        contructor.

From-SVN: r98510
2005-04-21 16:49:38 +01:00
Bryce McKinlay
fcda200251 gcj.texi: Fix typos and bogus example.
2005-04-20  Bryce McKinlay  <mckinlay@redhat.com>

   * gcj.texi: Fix typos and bogus example.

From-SVN: r98478
2005-04-21 01:22:54 +01:00
Kazu Hirata
9be3f9b143 * except.c: Fix a comment typo.
From-SVN: r98413
2005-04-19 15:45:28 +00:00
Julian Brown
61e723301e decl.c (finish_method): Revert patch from 2005-04-13 for breaking indirect dispatch with PIC.
* java/decl.c (finish_method): Revert patch from 2005-04-13 for breaking
	indirect dispatch with PIC.

From-SVN: r98408
2005-04-19 12:55:24 +00:00
Andrew Haley
d393cb7237 java-except.h (struct eh_range.handler): Remove unused field.
2005-04-18  Andrew Haley  <aph@redhat.com>

        * java-except.h (struct eh_range.handler): Remove unused field.
        (handle_nested_ranges): Remove function declaration.
        (sanity_check_exception_range): Add function declaration.
        * verify.c (verify_jvm_instructions): Remove call to
        handle_nested_ranges.
        * verify-glue.c (verify_jvm_instructions_new): Call
        sanity_check_exception_range.
        * except.c (link_handler, eh_range_freelist, link_handler,
        handle_nested_ranges): Remove.
        (add_handler): Rewrite.
        (sanity_check_exception_range): New function.
        (print_ranges): New function.

From-SVN: r98395
2005-04-19 09:52:21 +00:00
Julian Brown
e22a7bcf26 elfos.h (MAKE_DECL_ONE_ONLY): Redefined to stop DECL_WEAK from being used for symbols with vague linkage when...
* gcc/config/elfos.h (MAKE_DECL_ONE_ONLY): Redefined to stop DECL_WEAK
	from being used for symbols with vague linkage when
	HAVE_GAS_COMDAT_GROUP is true.
	* gcc/java/decl.c (finish_method): Give methods once-only linkage.

From-SVN: r98089
2005-04-13 15:24:03 +00:00
Richard Sandiford
0b026622a5 lang.opt: Refer to the GCC internals documentation instead of c.opt.
fortran/
	* lang.opt: Refer to the GCC internals documentation instead of c.opt.

ada/
	* lang.opt: Refer to the GCC internals documentation instead of c.opt.

java/
	* lang.opt: Refer to the GCC internals documentation instead of c.opt.

treelang/
	* lang.opt: Refer to the GCC internals documentation instead of c.opt.

From-SVN: r98012
2005-04-12 08:35:26 +00:00
Kaveh R. Ghazi
d502f210b9 system.h: Poison PARAMS.
* system.h: Poison PARAMS.

java:
	* java-tree.h: Don't use PARAMS().

From-SVN: r97816
2005-04-08 01:02:59 +00:00
Per Bothner
e87047c6af class.c (push_class): By default, suppress debug output.
* class.c (push_class): By default, suppress debug output.
	(finish_class): Enable debug output for classes we're emitting.

From-SVN: r97797
2005-04-07 12:12:53 -07:00
Andrew Haley
53b42091b9 gcj.texi: Correct gcj-dbtool instructions.
2005-04-07  Andrew Haley  <aph@redhat.com>

        * gcj.texi: Correct gcj-dbtool instructions.

From-SVN: r97787
2005-04-07 15:48:02 +00:00
Kazu Hirata
df04438806 gcj.texi: Fix a typo.
* gcj.texi: Fix a typo.
	* lang.c: Fix a comment typo.

From-SVN: r97551
2005-04-04 15:29:52 +00:00
Thomas Fitzsimmons
b6121641fc re PR libgcj/20090 (gij should be implemented in Java)
2005-04-01  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gcj.texi (Invoking gij): Add descriptions of new -X options.
	Mention recognized-and-ignored compatibility options.
	(Memory allocation): Add descriptions of JvMalloc, JvRealloc and
	JvFree.
	(About CNI): Add Memory allocation section.

2005-04-01  Thomas Fitzsimmons  <fitzsim@redhat.com>

	PR libgcj/20090, PR libgcj/20526
	* gij.cc (nonstandard_opts_help): New function.
	(add_option): New function.
	(main): Support java options.  Set java.class.path.  Don't set
	_Jv_Jar_Class_Path.
	* prims.cc (parse_x_arg): New function.
	(parse_init_args): Call parse_x_arg for -X and _ options, when
	ignoreUnrecognized is true.
	(new _Jv_RunMain): New vm_args variant.
	(old _Jv_RunMain): Call new vm_args _Jv_RunMain.
	(_Jv_Jar_Class_Path): Remove variable.
	* include/java-props.h: Likewise.
	* include/cni.h (JvRealloc): New function.
	* include/jvm.h (_Jv_RunMain): Declare vm_args variant.
	* java/lang/natRuntime.cc (insertSystemProperties): Remove
	_Jv_Jar_Class_Path logic.  Use JV_VERSION and JV_API_VERSION
	macros.
	* configure.ac (JV_VERSION): Define.
	(JV_API_VERSION): Likewise.
	* configure: Regenerate.
	* include/config.h.in: Regenerate.

From-SVN: r97429
2005-04-02 02:26:51 +00:00
Tom Tromey
77c10b31ec decl.c (java_init_decl_processing): Fix types of _Jv_MonitorEnter...
* decl.c (java_init_decl_processing): Fix types of
	_Jv_MonitorEnter, _Jv_MonitorExit, _Jv_AllocObject,
	_Jv_AllocObjectNoFinalizer, _Jv_Throw, _Jv_NewPrimArray,
	_Jv_JNI_PopSystemFrame, _Jv_divI, _Jv_remI, _Jv_divJ, _Jv_remJ.

From-SVN: r97409
2005-04-01 17:18:39 +00:00
Jan Hubicka
cd9c7bd28b [multiple changes]
2005-03-31  Jan Hubicka  <jh@suse.cz>

	2004-11-02  Jan Hubicka  <jh@suse.cz>

	* cgraph.c (cgraph_varpool_node_name): New function.
	(dump_cgraph_varpool_node): New function.
	(dump_varpool): New function.
	* cgraphunit.c (cgraph_optimize): Dump varpool.

	2004-10-16  Jan Hubicka  <jh@suse.cz>

	* cgraph.c (decide_is_variable_needed): New function.
	(cgraph_varpool_finalize_decl): Use it.
	* cgraphunit.c (cgraph_optimize): Assemble_pending_decls when not doing
	unit-at-a-time.
	* final.c (output_addr_const): Do not call mark_referenced.
	* passes.c (rest_of_decl_compilation): ifdef out DECL_RTL_SET_P hack;
	always go via cgraph.
	* toplev.c (wrapup_global_declarations): Kill non-unit-at-a-time code.
	(check_global_declarations): Ifdef out code clearing DECL_RTL.
	* tree-optimize.c (execute_inline): Mark functions called.
	* i386.c (output_pic_addr_const): Do not call mark_decl_referenced.

	2004-10-11  Jan Hubicka  <jh@suse.cz>

	* cgraph.c (cgraph_varpool_first_unanalyzed_node): New global voriable
	(cgraph_varpool_last_needed_node): New static variable.
	(enqueue_needed_varpool_node): Break out from ...; add items to the
	end of queue; update first pointers.
	(cgraph_varpool_mark_needed_node): ... here.
	(cgraph_varpool_finalize_decl): Use enqueue_needed_varpool_node.
	(cgraph_varpool_assemble_pending_decls): Move to cgraphunit.c
	* cgraph.h (cgraph_varpool_node): Add analyzed field.
	(cgraph_varpool_first_unanalyzed_node): Declare.
	* cgraphunit.c: Include output.h.
	(cgraph_varpool_analyze_pending_decls): New function.
	(cgraph_varpool_assemble_pending_decls): Move from cgraph.c; bail out
	for errors, analyze pending decls.
	(cgraph_finalize_compilation_unit): Only analyze decls.
	(cgraph_optimize): Assemble the decls after expanding.

From-SVN: r97287
2005-03-30 22:28:02 +00:00
Ian Lance Taylor
15f188a462 * parse.y (maybe_yank_clinit): Don't crash if bbody is NULL.
From-SVN: r97264
2005-03-30 17:55:57 +00:00
Tom Tromey
2d47d84c92 jcf-dump.c (HANDLE_INNERCLASSES_ATTRIBUTE): Handle cases where inner_class_info_index==0 or outer_class_info_index==0.
* jcf-dump.c (HANDLE_INNERCLASSES_ATTRIBUTE): Handle cases where
	inner_class_info_index==0 or outer_class_info_index==0.

From-SVN: r97263
2005-03-30 17:46:48 +00:00
Tom Tromey
dc0a6205e6 natRuntime.cc (insertSystemProperties): Set gnu.gcj.runtime.endorsed.dirs.
libjava:
	* java/lang/natRuntime.cc (insertSystemProperties): Set
	gnu.gcj.runtime.endorsed.dirs.
	* Makefile.in: Rebuilt.
	* Makefile.am (ordinary_java_source_files): Added
	HelperClassLoader.java.
	(AM_CXXFLAGS): Define GCJ_ENDORSED_DIRS.
	* gnu/gcj/runtime/VMClassLoader.java (VMClassLoader): Extends
	HelperClassLoader.
	(init): Use addDirectoriesFromProperty.
	* gnu/gcj/runtime/BootClassLoader.java (BootClassLoader): Extends
	HelperClassLoader.  Use addDirectoriesFromProperty.  Handle
	gnu.gcj.runtime.endorsed.dirs.
	* gnu/gcj/runtime/HelperClassLoader.java: New file.
gcc/java:
	* gcj.texi (libgcj Runtime Properties): Document
	gnu.gcj.runtime.endorsed.dirs.

From-SVN: r97207
2005-03-29 21:47:03 +00:00
Anthony Green
206318ea45 From libjava...
2005-03-24  Anthony Green  <green@redhat.com>

        * gnu/gcj/tools/gcj_dbtool/Main.java: Accept libdir argument with
        -p option.
        (usage): Add [LIBDIR] to help output.
        * gnu/gcj/tools/gcj_dbtool/natMain.cc: New file.
        * Makefile.am (AM_CXXFLAGS): Define
        LIBGCJ_DEFAULT_DATABASE_PATH_TAIL.
        (db_pathtail): New macro.

From gcc/java...

2005-03-24  Anthony Green  <green@redhat.com>

        * gcj.texi (Invoking gcj-dbtool): Document new LIBDIR option to
        'gcj-dbtool -p'.

From-SVN: r97028
2005-03-25 00:38:43 +00:00
Tom Tromey
85c4f26a86 jvm.h (GCJ_40_BC_ABI_VERSION): New define.
libjava:
	* include/jvm.h (GCJ_40_BC_ABI_VERSION): New define.
	(_Jv_CheckABIVersion): Use it.
gcc/java:
	* decl.c (GCJ_CURRENT_BC_ABI_VERSION): New define.
	(parse_version): Use it.

From-SVN: r96948
2005-03-23 20:27:12 +00:00
Joseph Myers
d101034cd8 langhooks.h (truthvalue_conversion): Remove.
* langhooks.h (truthvalue_conversion): Remove.
	* langhooks-def.h (LANG_HOOKS_INITIALIZER): Remove
	LANG_HOOKS_TRUTHVALUE_CONVERSION.
	* system.h (LANG_HOOKS_TRUTHVALUE_CONVERSION): Poison.
	* gimplify.c (gimple_boolify): Don't use truthvalue_conversion.
	* c-objc-common.h (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.

ada:
	* misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.

cp:
	* cp-objcp-common.h (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.

fortran:
	* f95-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.

java:
	* lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.

treelang:
	* treetree.c (LANG_HOOKS_TRUTHVALUE_CONVERSION,
	tree_lang_truthvalue_conversion): Remove.
	* tree-convert.c: Don't call truthvalue_conversion.

From-SVN: r96947
2005-03-23 19:47:09 +00:00
Andrew Haley
6726a1f593 re PR java/20522 (ICE in update_aliases, at java/decl.c:163)
2005-03-18  Andrew Haley  <aph@redhat.com>

        PR java/20522
        * decl.c (update_aliases): Don't update variables that are about
        to die.
        (maybe_poplevels): Add comment.

From-SVN: r96683
2005-03-18 13:59:06 +00:00
Bryce McKinlay
3af57c7014 re PR java/20502 (gcj failure if .jar contains same .class twice)
2005-03-17  Bryce McKinlay  <mckinlay@redhat.com>

	PR java/20502
	* jcf-parse.c (duplicate_class_warning): New function.
	(java_parse_file): Call duplicate_class_warning if
	CLASS_FROM_CURRENTLY_COMPILED_P is already set.
	(parse_zip_file_entries): Likewise. Also set
	CLASS_FROM_CURRENTLY_COMPILED_P.

From-SVN: r96617
2005-03-17 15:54:20 +00:00
Andrew Haley
d8e978472c expr.c (expand_java_arrayload): Don't generate a NullPointerException based on the type of the node.
2005-03-16  Andrew Haley  <aph@redhat.com>

        * expr.c (expand_java_arrayload): Don't generate a
        NullPointerException based on the type of the node.
        (build_java_array_length_access): Likewise.

From-SVN: r96611
2005-03-17 14:43:26 +00:00
Zack Weinberg
a1286ef574 gcc-version.m4: Delete.
config:
	* gcc-version.m4: Delete.
fastjar:
	* Makefile.am (fastjar_TEXINFOS): Add gcc-vers.texi.
	(BASEVER, DEVPHASE): New variables.
	(POD2MAN): Adjust setting of --release option.
	(fastjar.1, grepjar.1, gcc-vers.texi): New rules.
	* Makefile.in: Regenerate.
	* configure.ac: Do not invoke TL_AC_GCC_VERSION.
	* aclocal.m4, configure: Regenerate.
gcc:
	* BASE-VER, DATESTAMP, DEV-PHASE: New files.
	* Makefile.in (gcc_version, gcc_version_trigger, ): Delete.
	(BASEVER, DEVPHASE, DATESTAMP, BASEVER_c, DEVPHASE_c, DATESTAMP_c)
	(BASEVER_s, DEVPHASE_s, DATESTAMP_s): New variables.
	(version): Define using $(BASEVER_c).
	(Makefile, config.status, build/gcov-iov.o): No longer depends on
	version.c.
	(version.o): Depend on version files; add custom generation command.
	(prefix.o): Define BASEVER on command line.
	(s-iov): Depend on version files; adjust command.
	(TEXI_CPP_FILES, TEX_IGCC_FILES, TEXI_GCCINT_FILES, TEXI_CPPINT_FILES):
	Add gcc-vers.texi.
	(gcc-vers.texi): New rule.
	(doc/%.info, doc/%.dvi): Add -I . to command line.
	(doc/gccinstall.dvi): Likewise.
	(PACKAGE): Delete.  All uses replaced with "gcc".
	* aclocal.m4: Do not include gcc-version.m4.
	* configure.ac: Do not invoke TL_AC_GCC_VERSION.
	Do not AC_SUBST nor AC_DEFINE PACKAGE or VERSION.
	Set is_release based on contents of DEV-PHASE.
	Set gcc_version based on contents of BASE-VER.
	Define WIN32_REGISTRY_KEY only if the user overrode the default.
	* config.in, configure: Regenerate.
	* gccbug.in: Determine version of GCC in use at runtime.
	* gcov-iov.c: Get version number and development phase from
	command line, not by including version.c.
	* intl.c: Replace all uses of PACKAGE with "gcc".
	* libada-mk.in: Delete unused "gcc_version" variable.
	* prefix.c: Default WIN32_REGISTRY_KEY to BASEVER.
	* version.c: (VERSUFFIX): New hook for redistributors; adjust
	commentary to match.
	(version_string): Put together from pieces.
	* config/alpha/x-vms: Do not use $(gcc_version).
	* config/i386/t-nwld: Likewise.
	* doc/include/gcc-common.texi: Include gcc-vers.texi for
	version-GCC and DEVELOPMENT.
gcc/ada:
	* Make-lang.in (doc/gnat_ugn_unw.info, doc/gnat_rm.info)
	(doc/gnat_ugn_unw.dvi, doc/gnat_rm.dvi): Add gcc-vers.texi
	to dependencies.
gcc/fortran:
	* Make-lang.in (GFORTRAN_TEXI): Add gcc-vers.texi.
gcc/java:
	* Make-lang.in (TEXI_JAVA_FILES): Add gcc-vers.texi.
gcc/treelang:
	* Make-lang.in (TEXI_TREELANG_FILES): Add gcc-vers.texi.
libstdc++-v3:
	* include/Makefile.am (c++config.h): Depend on DATESTAMP from gcc
	subdirectory.  Generate #define of __GLIBCXX__ from contents of
	that file.
	* include/Makefile.in: Regenerate.
	* include/bits/c++config: Do not define __GLIBCXX__.
maintainer-scripts:
	* README: Update.
	* gcc_release: Update gcc/DEV-PHASE if that file exists, instead
	of gcc/version.c.
	* update_version: Handle updating gcc/DATESTAMP.
	* update_web_docs: Generate gcc-vers.texi first.

From-SVN: r96549
2005-03-16 06:04:10 +00:00
Tom Tromey
558b8548b4 Main.java (main): Handle '-p'.
libjava:
	* gnu/gcj/tools/gcj_dbtool/Main.java (main): Handle '-p'.
	(usage): Document '-p'.
	* Makefile.in: Rebuilt.
	* Makefile.am (dbexecdir): New variable.
	(db_name): Likewise.
	(dbexec_DATA): Likewise.
	($(db_name)): New target.
	(AM_CXXFLAGS): Define LIBGCJ_DEFAULT_DATABASE.
	* java/lang/natRuntime.cc (insertSystemProperties): Set default
	system database.
gcc/java:
	* gcj.texi (Invoking gcj-dbtool): Document 'gcj-dbtool -p'.
	(libgcj Runtime Properties): Document the default .db.

From-SVN: r96303
2005-03-11 17:35:37 +00:00
Ranjit Mathew
2743ba1c48 re PR java/20312 (No warning on bad method)
PR java/20312
	* parse.y (checks_throws_clauses): Check exceptions list even when
	the base class does not come from a source file being compiled.
	(java_complete_lhs): Remove unused variable 'wfl'.

From-SVN: r96251
2005-03-10 18:40:26 +00:00
Ranjit Mathew
9e1af876ec re PR java/20338 (Program compiled with gcj crashes when accessing private static method from nested class)
PR java/20338
	* decl.c (finish_method): Emit _Jv_InitClass for private static
	methods inside inner classes as well.

From-SVN: r96200
2005-03-09 19:04:54 +00:00
Julian Brown
2a6464a6d3 * Revert patch from 2005-03-08 for causing bootstrap failure on
ppc-darwin.

From-SVN: r96138
2005-03-08 23:36:25 +00:00
Bryce McKinlay
b1e11d1e30 [multiple changes]
2005-03-07  Ranjit Mathew  <rmathew@hotmail.com>

        * lang.c (flag_new_verifier): Enable by default, regardless of ABI.

2005-03-08  Bryce McKinlay  <mckinlay@redhat.com>

	* testsuite/libjava.lang/pr13107_2.xfail: Remove xfail.
	* testsuite/libjava.lang/pr13107_3.xfail: Likewise.

From-SVN: r96114
2005-03-08 16:24:21 +00:00
Julian Brown
9148ab01d1 * decl.c (finish_method): Give methods once-only linkage.
From-SVN: r96106
2005-03-08 15:42:57 +00:00
Bryce McKinlay
a2da2c9a68 [multiple changes]
2005-03-04  Bryce McKinlay  <mckinlay@redhat.com>

	* verify-glue.c (vfy_is_assignable_from): Perform static check using
	can_widen_reference_to if the C++ ABI is in use.
	(vfy_get_interface_count, vfy_get_interface): Remove unused functions.
	* verify-impl.c (debug_print, make_utf8_const, init_type, copy_type,
	type_isresolved, init_state, set_pc, state_get_pc,
	_Jv_BytecodeVerifier): Clean up unused and disabled functions.
	(verify_fail): Report the current PC from the verifier context.
	(free_state): Remove #if 0 block to enable this function.
	(free_verifier_context): Call free_state on state_list iterator
	values before freeing them.
	* expr.c (pop_type_0): Pop correct type for error message when stack
	contains a multi-word type.

2005-03-04  Ranjit Mathew  <rmathew@hotmail.com>

	* expr.c (build_java_array_length_access): Remove !flag_new_verifier
	for known NULL array length access.

From-SVN: r96044
2005-03-07 21:10:49 +00:00
Tom Tromey
7f8b151be7 gcj.texi (Invoking gcj-dbtool): Document '-f'.
gcc/java:
	* gcj.texi (Invoking gcj-dbtool): Document '-f'.
libjava:
	* gnu/gcj/tools/gcj_dbtool/Main.java (main): Recognize '-f'.
	(usage): Document '-f'.

From-SVN: r96041
2005-03-07 20:16:25 +00:00
Kazu Hirata
1ddc032813 jcf-dump.c, [...]: Update copyright.
* jcf-dump.c, jcf-io.c, jcf-reader.c, lang.c, parse.h,
	typeck.c: Update copyright.

From-SVN: r95967
2005-03-06 12:57:57 +00:00
Ranjit Mathew
ecf713657e Remove xref code.
* xref.c, xref.h: Remove file.
	* Make-lang.in (java/xref.o): Remove.
	* java-tree.h (flag_emit_xref, do_not_fold): Remove declaration.
	* lang.c (flag_emit_xref): Remove definition.
	* parse.h (DECL_END_SOURCE_LINE, DECL_INHERITED_SOURCE_LINE): Remove.
	* typeck.c (convert): Remove use of do_not_fold.
	* parse.y (do_not_fold): Remove definition.
	(parser grammar): Remove xref code.
	(maybe_create_class_interface_decl, create_class): Likewise.
	(register_fields, method_header, finish_method_declaration): Likewise.
	(declare_local_variables, source_end_java_method): Likewise.
	(java_complete_expand_classes): Do not set do_not_fold.
	(java_complete_expand_method): Remove xref code.
	(java_expand_classes, resolve_field_access, patch_invoke): Likewise.
	(java_complete_tree, java_complete_lhs, patch_assignment): Likewise.
	(patch_binop, build_string_concatenation, patch_array_ref): Likewise.
	(patch_synchronized_statement, patch_throw_statement): Likewise.
	(maybe_build_class_init_for_field): Likewise.

From-SVN: r95965
2005-03-06 08:42:33 +00:00
Kazu Hirata
3f724eb8a7 c-semantics.c (build_stmt): Use TYPE_P instead of IS_NON_TYPE_CODE_CLASS.
gcc/
	* c-semantics.c (build_stmt): Use TYPE_P instead of
	IS_NON_TYPE_CODE_CLASS.
	* tree.h (IS_NON_TYPE_CODE_CLASS): Remove.
	(NON_TYPE_CHECK): Use TYPE_P instead of
	IS_NON_TYPE_CODE_CLASS.

java/
	* expr.c (build_expr_wfl, expr_add_location): Use TYPE_P
	instead of IS_NON_TYPE_CODE_CLASS.

From-SVN: r95942
2005-03-05 20:21:31 +00:00
Andrew Haley
7235c3007d re PR java/18362 (internal compiler error: in size_binop, at fold-const.c:1598)
2005-03-04  Andrew Haley  <aph@redhat.com>

        PR java/18362
        * class.c (set_method_index): Don't set method_index if it is
        NULL_TREE.
        (layout_class_method): Don't complain about "non-static method foo
        overrides static method" in the case of indirect dispatch.

From-SVN: r95888
2005-03-04 15:38:13 +00:00
Kaveh R. Ghazi
cea914801f jcf-io.c (caching_stat): Use __extension__ to avoid pedantic warning.
* jcf-io.c (caching_stat): Use __extension__ to avoid pedantic
	warning.
	* Make-lang.in: Don't elide warnings in jcf-io.c.

From-SVN: r95819
2005-03-03 00:27:03 +00:00
Per Bothner
7cea62b4f5 re PR java/8608 (segmentation fault on compiling bad program)
PR java/8608
	* check-init.c (wfl): Remove static.
	(final_assign_error, check_init): Replace calls to parse_error_context
	by plain error.
	(check_init): Save, set, and restore input_location for each exp.

From-SVN: r95749
2005-03-01 09:24:52 -08:00
Per Bothner
837491bcc8 jcf-reader.c (get_attribute): Handle SourceDebugExtension (JSR 45) if HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE...
* jcf-reader.c (get_attribute): Handle SourceDebugExtension (JSR 45)
	if HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE is defined.

From-SVN: r95748
2005-03-01 09:03:45 -08:00
Per Bothner
027b7c36fb java-tree.h (IDENTIFIER_HANDLECLASS_VALUE): Remove ancient macro.
* java-tree.h (IDENTIFIER_HANDLECLASS_VALUE): Remove ancient macro.
Also improve commenst for IDENTIFIER_CLASS_VALUE.

From-SVN: r95747
2005-03-01 08:45:19 -08:00
Thomas Fitzsimmons
bc71e4a22b re PR libgcj/16923 (-D* Options passed to JNI_CreateJavaVM are ignored)
2005-02-23  Thomas Fitzsimmons  <fitzsim@redhat.com>

	PR libgcj/16923
	* gcj.texi (Invocation): Add descriptions of JvVMInitArgs and
	JvVMOption.

2005-02-23  Thomas Fitzsimmons  <fitzsim@redhat.com>

	PR libgcj/16923
	* jni.cc (JNI_CreateJavaVM): Check JNI version.  Cast args to
	JvVMInitArgs.  Pass args to _Jv_CreateJavaVM and check return
	value.  Move argument parsing code to prims.cc.
	* prims.cc (no_properties): Remove.
	(_Jv_Compiler_Properties): Initialize to NULL.
	(_Jv_Properties_Count): Initialize to 0.
	(parse_verbose_args): New function.
	(parse_init_args): New function.
	(_Jv_CreateJavaVM): Call parse_init_args.
	(_Jv_RunMain): Check return value of _Jv_CreateJavaVM.
	* gcj/cni.h (JvVMOption): New struct.
	(JvVMInitArgs): Likewise.
	(JvCreateJavaVM): Declare vm_args as JvVMInitArgs* rather than
	void*.
	* libjava/gcj/javaprims.h (_Jv_VMOption): New struct.
	(_Jv_VMInitArgs): Likewise.
	* include/java-props.h (_Jv_Properties_Count): Declare.
	* java/lang/natRuntime.cc (insertSystemProperties): Use
	_Jv_Properties_Count in for loop exit condition.
	* testsuite/libjava.jni/jni.exp
	(gcj_invocation_compile_c_to_binary): New procedure.
	(gcj_invocation_test_one): Likewise.
	(gcj_jni_run): Run JNI invocation API tests.
	* testsuite/libjava.jni/invocation/PR16923.c,
	testsuite/libjava.jni/invocation/PR16923.java,
	testsuite/libjava.jni/invocation/PR16923.out: New test.

From-SVN: r95459
2005-02-23 17:36:26 +00:00
Tom Tromey
84b6a4d217 re PR java/20056 ('verification failed: incompatible type on stack' with --indirect-dispatch)
PR java/20056:
	* verify-impl.c (EITHER): New define.
	(types_compatible): Handle it.
	(check_field_constant): Use it.

From-SVN: r95404
2005-02-22 18:14:37 +00:00
Tom Tromey
e022a6cb91 re PR java/20056 ('verification failed: incompatible type on stack' with --indirect-dispatch)
PR java/20056:
	* verify-impl.c (types_equal): Fixed test.

From-SVN: r95267
2005-02-19 04:02:09 +00:00
Tom Tromey
1870a43b3e re PR java/20056 ('verification failed: incompatible type on stack' with --indirect-dispatch)
PR java/20056:
	* verify-glue.c (vfy_class_has_field): New function.
	* verify.h (vfy_class_has_field): Declare.
	* verify-impl.c (check_field_constant): Added 'putfield'
	argument.
	(verify_instructions_0): Updated.
	(types_equal): New function.

From-SVN: r95258
2005-02-19 01:14:17 +00:00
Tom Tromey
adfec6a67b re PR java/19921 (wrong argument count for invokeInterface with new multidimensional array)
gcc/java:
	PR java/19921:
	* jcf-write.c (generate_bytecode_insns) <CALL_EXPR>: Note the
	stack effect of multianewarray.

libjava:
	For PR java/19929:
	* testsuite/libjava.lang/PR19929.out: New file.
	* testsuite/libjava.lang/PR19929.java: New file.

From-SVN: r95041
2005-02-14 20:04:36 +00:00
Andrew Haley
891df09c56 re PR java/19907 (Incorrect code generated for ManifestElement.java)
2005-02-14  Andrew Haley  <aph@redhat.com>

        PR java/19907
        * expr.c (expand_byte_code): Call promote_arguments().
        (promote_arguments): New function.
        * decl.c (check_local_unnamed_variable): Remve special case for
        new verifier.
        (find_local_variable): Promote all boolean types to int
        when searching for local variable decls.

From-SVN: r95015
2005-02-14 14:58:22 +00:00
Kazu Hirata
537677ba9d builtins.c, [...]: Update copyright.
* builtins.c, java-except.h, jcf-parse.c, jv-scan.c, lex.c,
	parse-scan.y: Update copyright.

From-SVN: r94940
2005-02-12 15:21:14 +00:00
Per Bothner
7b45aab422 re PR java/15543 ("jv-scan --complexity" segfaults)
PR java/15543
	* parse-scan.y (input_location): Remove variable.
	(main_input_filename): New - replaces input_filename, which isn't
	settable if USE_MAPPED_LOCATION.
	* lex.c (java_init_lex): Wrap some more places in #ifndef JC1-LITE,
	so we don't reference input_location or wfl_operator in that case.
	* jv-scan.c (expand_location): Remove - no longer used.
	(main): Set main_input_filename rather than input_filename.

From-SVN: r94928
2005-02-11 22:12:40 -08:00
Richard Henderson
c6a912da40 builtins.c (DEF_BUILTIN): Add COND argument.
* builtins.c (DEF_BUILTIN): Add COND argument.
        * tree.h (DEF_BUILTIN): Likewise.
        * builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN, DEF_EXT_LIB_BUILTIN,
        DEF_C94_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN): Update to
        match.
        (DEF_BUILTIN_STUB): New.
        (BUILT_IN_STACK_SAVE, BUILT_IN_STACK_RESTORE, BUILT_IN_INIT_TRAMPOLINE,
        BUILT_IN_ADJUST_TRAMPOLINE, BUILT_IN_NONLOCAL_GOTO,
        BUILT_IN_PROFILE_FUNC_ENTER, BUILT_IN_PROFILE_FUNC_EXIT): Use it.
        * c-common.c (DEF_BUILTIN): Add COND argument.
        * tree.c (local_define_builtin): New.
        (build_common_builtin_nodes): New.
ada/
        * utils.c (gnat_define_builtin): Remove.
        (gnat_install_builtins): Use build_common_builtin_nodes.
fortran/
        * f95-lang.c (gfc_init_builtin_functions): Call
        build_common_builtin_nodes; do not define any functions handled
        by it.
java/
        * builtins.c (initialize_builtins): Call build_common_builtin_nodes.
        * decl.c (java_init_decl_processing): Initialize const_ptr_type_node.
treelang/
        * treetree.c (treelang_init_decl_processing): Call
        build_common_builtin_nodes.

From-SVN: r94785
2005-02-09 16:22:25 -08:00
Marcin Dalecki
86641a95b6 expr.c (add_type_assertion): Use the proper enumeration type, since this is what htab_find_slot() is expecting.
2005-02-08  Marcin Dalecki  <martin@dalecki.de>

	* expr.c (add_type_assertion): Use the proper enumeration type,
	since this is what htab_find_slot() is expecting.

From-SVN: r94743
2005-02-08 19:14:39 +00:00
Joseph Myers
706bb773ec cpp.texi: Include gcc-common.texi.
* doc/cpp.texi: Include gcc-common.texi.  Don't define gcctabopt
	macro locally.  Don't give last revision date.  Use GCC version
	number from gcc-common.texi.
	* doc/cppinternals.texi: Include gcc-common.texi.  Don't give last
	revision date.  Use GCC version number from gcc-common.texi.
	Describe being a library as current state rather than as 3.x
	history.
	* doc/gcc.texi: Remove last update date.
	* doc/gccint.texi: Likewise.  Update copyright dates.
	* doc/install.texi: Update copyright dates.

fortran:
	* gfortran.texi: Don't give last update date.

java:
	* gcj.texi: Update copyright dates.

treelang:
	* treelang.texi: Don't use local treelang version number.  Don't
	give last update date.

From-SVN: r94683
2005-02-06 20:20:59 +00:00
Tom Tromey
f88459359d gcj.texi (libgcj Runtime Properties): Default library_control to 'cache'.
* gcj.texi (libgcj Runtime Properties): Default library_control
	to 'cache'.

From-SVN: r94612
2005-02-02 21:09:25 +00:00
Ranjit Mathew
55967ba27b re PR java/15543 ("jv-scan --complexity" segfaults)
PR java/15543
        * parse-scan.y (formal_parameter): Use $2 (type) instead of $$
        (modifiers) when square brackets are present in a declaration for
        a final paramter.
        * jv-scan.c (main): Set input_filename and input_line.

From-SVN: r94598
2005-02-02 18:41:25 +00:00
Tom Tromey
3d4da704e7 re PR java/19742 (gcjh shouldn't mangle names in JNI output.)
PR java/19742:
	* gjavah.c (get_field_name): Don't override name for JNI header.

From-SVN: r94578
2005-02-02 00:44:08 +00:00
Roger Sayle
8ddd633ab7 jcf-write.c (generate_bytecode_insns): Implement RSHIFT_EXPR of unsigned types using iushr and lushr JVM bytecodes.
* jcf-write.c (generate_bytecode_insns): Implement RSHIFT_EXPR
	of unsigned types using iushr and lushr JVM bytecodes.

From-SVN: r94560
2005-02-01 21:20:34 +00:00
Ranjit Mathew
f619dcab0c re PR java/19738 (gcjh generates invalid class member floating-point initialisers)
PR java/19738
	* gjavah.c (jni_print_float): Do not emit floating-point
	initialiser for a static final field.
	(jni_print_double): Likewise.

From-SVN: r94553
2005-02-01 18:38:12 +00:00
Mark Mitchell
22f8a06852 revert: gjavah.c (print_field_info): Mark static data members of floating-point type with "__extension__".
Revert:
	2005-01-31  Mark Mitchell  <mark@codesourcery.com>
	* gjavah.c (print_field_info): Mark static data members of
	floating-point type with "__extension__".

From-SVN: r94547
2005-02-01 17:13:08 +00:00
Mark Mitchell
8c94c75ae7 parser.c (cp_parser_primary_expression): Don't complain about floating-point literals in integral constant expressions...
* parser.c (cp_parser_primary_expression): Don't complain about
	floating-point literals in integral constant expressions when
	!pedantic.

	* gjavah.c (print_field_info): Mark static data members of
	floating-point type with "__extension__".

From-SVN: r94527
2005-02-01 06:58:27 +00:00
Ranjit Mathew
7f75bb8318 re PR java/9157 (SEGV on bad java source)
PR java/9157
        * parse.y (build_string_concatenation): Remove redundant if.
        (patch_conditional_expr): Attempt to patch_string() the condition
        of a ?: as well, in addition to its other operands.

From-SVN: r94513
2005-02-01 02:36:29 +00:00
Tom Tromey
60b5ee6b47 * Make-lang.in (java/java-tree-inline.o): Removed.
From-SVN: r94224
2005-01-25 18:57:44 +00:00
Ranjit Mathew
c5e72f5182 Correct the date for my last ChangeLog entry.
From-SVN: r94206
2005-01-25 06:28:42 +00:00
Ranjit Mathew
31fc696ccb re PR java/19070 (internal compiler error: in generate_bytecode_conditional, at java/jcf-write.c:1271)
PR java/19070
        * parse.y (patch_binop): Allow comparisons against NULL only
        if the other operand is of a reference type.

From-SVN: r94205
2005-01-25 06:12:32 +00:00
Tom Tromey
2a4d062618 java-tree.h (gcj_abi_version): Declare.
* java-tree.h (gcj_abi_version): Declare.
	* class.c (make_class_data): Push gcj_abi_version into "next"
	field.  Renamed field.
	* decl.c (gcj_abi_version): New global.
	(parse_version): New function.
	(java_init_decl_processing): Call it.  Renamed 'next' field.
	Include version.h.
	(GCJ_BINARYCOMPAT_ADDITION): New define.

From-SVN: r94174
2005-01-24 19:07:06 +00:00
Roger Sayle
d5f625555a re PR java/19295 (Incorrect bytecode produced for bitwise AND)
PR java/19295
	* jcf-write.c (generate_bytecode_insns): Conversions between
	integer types of the same precision shouldn't generate widening
	or narrowing conversion bytecodes.

	* testsuite/libjava.compile/PR19295.java: New test case.

From-SVN: r94162
2005-01-24 14:34:19 +00:00
Kazu Hirata
6aa9e91ac1 * java-except.h, java-tree.h: Remove unused prototypes.
From-SVN: r94068
2005-01-22 16:45:08 +00:00
Andrew Pinski
155d49d7d7 re PR java/18091 (Valgrind errors building libjava)
2005-01-20  Andrew Pinski  <pinskia@gcc.gnu.org>

	PR java/18091:
	* jcf-write.c (perform_relocations): Don't call memcpy if source
	and destination are the same.

From-SVN: r94007
2005-01-21 02:38:23 +00:00
Tom Tromey
6db1446e54 verify-impl.c (get_short): Sign extend.
* verify-impl.c (get_short): Sign extend.
	(get_int): Likewise.

From-SVN: r93772
2005-01-17 19:29:04 +00:00
Ranjit Mathew
88910b6aed expr.c (build_jni_stub): Replace mistaken use of TYPE_SIZE_UNIT with TYPE_SIZE.
* expr.c (build_jni_stub): Replace mistaken use of TYPE_SIZE_UNIT
        with TYPE_SIZE.

From-SVN: r93227
2005-01-12 17:28:05 +00:00
Ranjit Mathew
2b816e14b7 * verify.c: Revert to the version before the BC-ABI merge.
From-SVN: r93147
2005-01-10 18:14:36 +00:00
Ranjit Mathew
5bf8aebc12 re PR java/19277 (allows array.length++ although it is final)
PR java/19277
        * check-init.c (check_init): Take care of references that do not
        have an explicit final variable declaration (e.g. array length
        access) for pre/post in/de-crement operators.

From-SVN: r93144
2005-01-10 18:01:04 +00:00
Mark Wielaard
b927d3a451 parse.y (process_imports): Allocate (and free) original_name only when not already defined.
* parse.y (process_imports): Allocate (and free) original_name only
       when not already defined.
       * jcf-parse.c (read_class): Free results of find_class() and
       lrealpath().
       (java_parse_file): Keep pointer to head of file_list and free when
       done. Free result of lrealpath().

From-SVN: r93109
2005-01-09 13:54:34 +00:00
Tom Tromey
b4a49222ae * gcj.texi (Standard Properties): java.ext.dirs is now used.
From-SVN: r92965
2005-01-05 18:58:00 +00:00
Andrew Haley
521fce5217 typeck.c: Use fold_convert for ints and booleans.
2004-12-20  Andrew Haley  <aph@redhat.com>

        * typeck.c: Use fold_convert for ints and booleans.

From-SVN: r92419
2004-12-20 13:35:25 +00:00
Andrew Haley
cd5fcd3366 re PR java/18931 (Java bytecode ICE in except.c remove_unreachable_regions)
2004-12-17  Andrew Haley  <aph@redhat.com>

        PR java/18931
        * typeck.c (convert): Use a CONVERT_EXPR when converting to
        BOOLEAN_TYPE or CHAR_TYPE.
        (convert_to_boolean, convert_to_char) : Remove.
        * convert.h (convert_to_boolean, convert_to_char) : Remove.
        * expr.c (expand_load_internal): Do type conversion if type is not
        as required.

From-SVN: r92314
2004-12-17 15:09:11 +00:00
Danny Smith
eb536e6bff re PR target/18459 (gcj no longer works on win32)
PR target/18459
Fix ChangeLog entry to refer to correct PR
http://gcc.gnu.org/ml/gcc-cvs/2004-12/msg00507.html

From-SVN: r92079
2004-12-13 08:35:10 +00:00
Danny Smith
e50e6b88e4 defaults.h (TARGET_USE_JCR_SECTION): New macro.
gcc
	PR/18549
	* defaults.h (TARGET_USE_JCR_SECTION): New macro.
	* doc/tm.texi (TARGET_USE_JCR_SECTION): Document it.
	* config/i386/cygming.h (TARGET_USE_JCR_SECTION): Override
	default.

gcc/java
	PR/18549
	* class.c (emit_register_classes): Use TARGET_USE_JCR_SECTION.
	Update comment.

From-SVN: r92078
2004-12-13 06:57:13 +00:00
Andrew Haley
9e6a1ba9af re PR java/18811 (rhug build problem, regression?)
2004-12-07  Andrew Haley  <aph@redhat.com>

	PR java/18811:
	* jcf-parse.c (load_class): Remove sanity test for missing inner
	class file.

From-SVN: r91901
2004-12-08 14:08:22 +00:00
Andrew Haley
477c6c35b5 jcf-parse.c (load_class): Remove sanity test for missing inner class file.
2004-12-07  Andrew Haley  <aph@redhat.com>

	* jcf-parse.c (load_class): Remove sanity test for missing inner
	class file.

From-SVN: r91900
2004-12-08 14:01:50 +00:00
Tom Tromey
6e07ee6da0 Make-lang.in (JAVA_MANFILES): Added gcj-dbtool.
* Make-lang.in (JAVA_MANFILES): Added gcj-dbtool.
	(java.uninstall): Likewise.
	(java.maintainer-clean): Likewise.
	(.INTERMEDIATE): Likewise.
	(java.install-man): Likewise.
	(gcj-dbtool.pod): New target.
	* gcj.texi (Code Generation): Document -findirect-dispatch.
	(libgcj Runtime Properties): Document
	gnu.gcj.precompiled.db.path.
	(Top): Link to "Invoking gcj-dbtool".

From-SVN: r91785
2004-12-06 17:59:57 +00:00
Tom Tromey
a58d74533c re PR java/14853 (Assignment to final field permitted when compiling to native)
PR java/14853:
	* java-tree.h (extract_field_decl): Declare.
	* parse.y (extract_field_decl): Renamed from
	strip_out_static_field_access_decl.  No longer static.
	* check-init.c (get_variable_decl): Unwrap COMPOUND_EXPRs.

From-SVN: r91778
2004-12-06 15:32:38 +00:00
Tom Tromey
c56c2878f7 lang.c (flag_new_verifier): Define.
* lang.c (flag_new_verifier): Define.
	(java_post_options): Set flag_new_verifier if indirect dispatch
	is being used.
	* lang.opt (fnew-verifier): Removed.

From-SVN: r91693
2004-12-03 19:43:52 +00:00
Tom Tromey
8b45a0d38e re PR bootstrap/14614 (Double target prefixed gcjh)
PR bootstrap/14614:
	* Make-lang.in (java.install-common): Only install transformed

From-SVN: r91692
2004-12-03 19:32:38 +00:00
Andrew Haley
2360c81be6 re PR java/18812 (ICE in catalina/common/lib/naming-resources.jar)
2004-12-03  Andrew Haley  <aph@redhat.com>

	PR java/18812
	* except.c (link_handler): Patch 'outer' field of siblings of the
	range we're demoting.

From-SVN: r91690
2004-12-03 18:11:21 +00:00
Andrew Haley
3381c28f38 re PR java/18697 (Miscompilation of GtkMenuItemPeer.setParent(MenuItem))
2004-12-03  Andrew Haley  <aph@redhat.com>

	PR java/18697
	* class.c (layout_class_method): Don't fail to override a method
	simply because it has DECL_ARTIFICIAL set.

From-SVN: r91689
2004-12-03 18:01:59 +00:00
Tom Tromey
5c5d79d28c re PR java/16675 (Null parameter values for anonymous constructor invocation require explicit cast)
PR java/16675:
	* parse.y (craft_constructor): Special case null_pointer_node.

From-SVN: r91657
2004-12-02 19:41:03 +00:00
Tom Tromey
ea7b59ba69 re PR java/18741 (ICE tree check: expected class 'expression', have 'declaration' (var_decl))
PR java/18741:
	* java-gimplify.c (java_gimplify_expr): Don't call
	SET_EXPR_LOCATION unless wrapped tree is an expression.

From-SVN: r91645
2004-12-02 16:37:41 +00:00
Per Bothner
ca6b99558d jcf-parse.c (set_source_filename): Improvement to Andrew's fix...
* jcf-parse.c (set_source_filename):  Improvement to Andrew's fix:
	Fix fencepost error in 'i', which got executed one too many times.
	Also, fold memcpy into explicit loop, as originally intended.
	Also, free temporary 'buf' which otherwise leaks.

From-SVN: r91411
2004-11-27 22:49:48 -08:00
Per Bothner
ad50046692 expr.c (build_expr_wfl): Only declare last_file and last_filenode local static variables if...
* expr.c (build_expr_wfl): Only declare last_file and last_filenode
	local static variables if not USE_MAPPED_LOCATION.

From-SVN: r91408
2004-11-27 22:44:20 -08:00
Kazu Hirata
0b1214ef13 * class.c, decl.c, expr.c: Fix comment typos.
From-SVN: r91392
2004-11-27 20:48:17 +00:00
Andrew Pinski
532815a787 re PR java/18305 (Class initialization optimization is not done when compiled from .class)
2004-11-26  Andrew Pinski  <pinskia@physics.uc.edu>

        PR java/18305
        * decl.c (end_java_method): Call
        attach_init_test_initialization_flags on all the init_decls.
        * parse.y (attach_init_test_initialization_flags): Move to ...
        * expr.c (attach_init_test_initialization_flags): here and
        support BIND_EXPR also.
        * java-tree.h (attach_init_test_initialization_flags): Prototype.
        * jcf-parse.c (parse_class_file): Don't disable class init
        optimization.

From-SVN: r91343
2004-11-26 10:04:45 -08:00
Joseph Myers
597cdf4f43 darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Use %qs instead of `%s' in diagnostic.
* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Use %qs
	instead of `%s' in diagnostic.

cp:
	* g++spec.c, lex.c: Avoid ` as left quote in diagnostics.

fortran:
	* f95-lang.c, gfortranspec.c, trans-decl.c: Avoid ` as left quote
	in diagnostics.

java:
	* gjavah.c, jcf-dump.c, jv-scan.c, jvspec.c: Avoid ` as left quote
	in diagnostics.

From-SVN: r91282
2004-11-25 11:13:38 +00:00
Richard Henderson
eb9744a7a6 verify-glue.c (vfy_init_name, [...]): Use ANSI declaration form.
* verify-glue.c (vfy_init_name, vfy_clinit_name, vfy_object_type,
        vfy_string_type, vfy_throwable_type): Use ANSI declaration form.

From-SVN: r91278
2004-11-25 00:00:33 -08:00
Tom Tromey
6a4877c440 verify.c (defer_merging): Don't use C++-style comment.
* verify.c (defer_merging): Don't use C++-style comment.
	* verify.h (java_opcode): Added java_opcode_end.
	* class.c (build_class_ref): Remove C++ comment and old FIXME.

From-SVN: r91277
2004-11-25 07:03:55 +00:00
Tom Tromey
528d9c63e7 verify-impl.c (vfy_push_type): Removed bogus "return".
* verify-impl.c (vfy_push_type): Removed bogus "return".
	(initialize_stack): Use vfy_alloc and vfy_free.
	(verify_instructions_0): Likewise.

From-SVN: r91276
2004-11-25 05:14:25 +00:00
Tom Tromey
367390404d * Merged gcj-abi-2-dev-branch to trunk.
(Actual changes too large to list in the commit message;
see ChangeLog.)

From-SVN: r91270
2004-11-25 03:47:08 +00:00
Steven Bosscher
39afeb1aad c-opts.c (c_common_post_options): Don't clear flag_inline_functions.
gcc/
	* c-opts.c (c_common_post_options): Don't clear
	flag_inline_functions.
	* dojump.c (clear_pending_stack_adjust): Remove check on
	flag_inline_functions, it's always true.
	* config/alpha/alpha.md (movdi_er_maybe_g): Remove splitter
	that can never trigger.
	* config/c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): Don't look at
	flag_inline_trees, now that flag_inline_functions is never
	cleared.
	* config/pdp11/pdp11.h (OPTIMIZATION_OPTIONS): Don't set
	flag_inline_functions at optimization levels greater than
	or equal to 3.  This is already done by default.

ada/
	* misc.c (gnat_post_options): Don't clear
	flag_inline_functions.

cp/
	* decl.c (cxx_init_decl_processing): Don't clear
	flag_inline_functions.

fortran/
	* options.c (gfc_post_options): Don't clear flag_inline_functions.

java/
	* class.c (make_class_data): Don't check flag_inline_functions.
	* lang.c (flag_really_inline): Remove unused flag.
	(java_handle_option): Don't set it here.  Remove special handling
	of flag_inline_functions for Java.
	(java_init): Don't set flag_inline_trees here.  Already done...
	(java_post_options): ...here.  Don't clear flag_inline_functions.

From-SVN: r91190
2004-11-24 19:45:32 +00:00
Steven Bosscher
16df8078b8 expr.c (expand_expr_real_1): Remove cases for EXIT_BLOCK_EXPR and LABELED_BLOCK_EXPR.
gcc/
	* expr.c (expand_expr_real_1): Remove cases for EXIT_BLOCK_EXPR
	and LABELED_BLOCK_EXPR.
	* gimplify.c (gimplify_labeled_block_expr): Remove.
	(gimplify_exit_block_expr): Remove.
	(gimplify_expr): Don't call them.
	* tree-inline.c (copy_body_r): Don't handle EXIT_BLOCK_EXPR
	and LABELED_BLOCK_EXPR.
	(estimate_num_insns_1): Likewise.
	(walk_tree): Likewise.
	* tree-pretty-print.c (dump_generic_node): Don't handle
	EXIT_BLOCK_EXPR and LABELED_BLOCK_EXPR.
	* tree.def (EXIT_BLOCK_EXPR): Moved to java-tree.def.
	(LABELED_BLOCK_EXPR): Likewise.
	* tree.h (LABELED_BLOCK_LABEL): Moved to java-tree.h.
	(LABELED_BLOCK_BODY): Likewise.
	(EXIT_BLOCK_LABELED_BLOCK): Likewise.
	(EXIT_BLOCK_RETURN): Removed.

java/
	* java-gimplify.c (java_gimplify_labeled_block_expr): New function.
	(java_gimplify_exit_block_expr): New function.
	(java_gimplify_expr): Use them to gimplify EXIT_BLOCK_EXPR and
	LABELED_BLOCK_EXPR.
	* java-tree.def (LABELED_BLOCK_EXPR): Moved from tree.def.
	(EXIT_BLOCK_EXPR): Likewise.
	* java-tree.h (LABELED_BLOCK_LABEL): Moved from tree.h.
	(LABELED_BLOCK_BODY): Likewise.
	(EXIT_BLOCK_LABELED_BLOCK): Likewise.
	* jcf-write.c (generate_bytecode_insns): Don't handle the unused
	EXIT_BLOCK_RETURN operand.  Use EXIT_BLOCK_LABELED_BLOCK instead of
	TREE_OPERAND.
	* lang.c (java_tree_inlining_walk_subtrees): Handle EXIT_BLOCK_EXPR.
	(java_dump_tree): Use LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY, and
	EXIT_BLOCK_LABELED_BLOCK instead of TREE_OPERAND.  Don't handle the
	second operand of EXIT_BLOCK_EXPR.
	* parse.y (find_expr_with_wfl): Use LABELED_BLOCK_BODY instead of
	TREE_OPERAND.
	(build_bc_statement): Use build1 to build EXIT_BLOCK_EXPR nodes.

From-SVN: r91149
2004-11-24 11:41:38 +00:00
Ben Elliston
37cd02de30 xref.h (xref_flag_value): Remove.
* xref.h (xref_flag_value): Remove.
	(xref_set_data, xref_get_data): Likewise.
	(xref_set_current_fp): Likewise.
	(XREF_NONE): Likewise.
	(XREF_GET_DATA): Likewise.
	* xref.c (xref_flag_value): Remove.
	(xref_set_data, xref_get_data): Likewise.
	(xref_set_current_fp): Likewise.

From-SVN: r91078
2004-11-23 17:52:22 +11:00
Ben Elliston
82698cdede gjavah.c (output_directory): Make static.
* gjavah.c (output_directory): Make static.
	(temp_directory): Likewise.

From-SVN: r91074
2004-11-23 15:13:23 +11:00
Tom Tromey
35d7f8f422 decl.c (instn_ptr_type_node): Removed.
* decl.c (instn_ptr_type_node): Removed.
	(lineNumbers_ptr_type_node): Removed.
	(jint_type): Removed.
	(jint_ptr_type): Removed.

From-SVN: r90693
2004-11-15 21:31:47 +00:00
Mike Stump
9d65c5cb57 Makefile.in: Add html support.
* Makefile.in: Add html support.
        * java/Make-lang.in: Likewise.
        * fortran/Make-lang.in: Likewise.
        * treelang/Make-lang.in: Likewise.
        * doc/install.texi: Likewise.
        * doc/makefile.texi: Likewise.
        * doc/sourcebuild.texi: Likewise.

From-SVN: r90577
2004-11-13 07:35:55 +00:00
Andrew Pinski
6571838f58 re PR java/15576 (Class initialization optimization is disabled)
2004-11-09  Andrew Pinski  <pinskia@physics.uc.edu>

        PR java/15576
        * check-init.c (check_init): Ignore DECL_EXPR.
        * expr.c (always_initialize_class_p): Reenable.
        (build_class_init): Use a variable to store the decl.  Also use
        boolean_false_node instead of integer_zero_node.
        * parse.y (attach_init_test_initialization_flags): Add a decl_expr
        to the block.

From-SVN: r90343
2004-11-09 06:33:32 -08:00
Tom Tromey
5e74a4ebf7 re PR java/16843 (gcjh generated headers don't define final constants)
PR java/16843:
	* gjavah.c (HANDLE_END_FIELD): Call print_field_info when
	generating a JNI header.
	(print_field_info): Handle JNI headers.
	(jni_print_float): Likewise.
	(jni_print_double): Likewise.

From-SVN: r90277
2004-11-08 18:03:01 +00:00
Andrew Pinski
517f199e1e decl.c (end_java_method): Remove duplicated code.
2004-11-08  Andrew Pinski  <pinskia@physics.uc.edu>

        * decl.c (end_java_method): Remove duplicated code.

From-SVN: r90264
2004-11-08 06:27:36 -08:00
Zack Weinberg
d08bf5fa33 lex.h (HAVE_ICONV): Undefine if we do not have HAVE_ICONV_H as well.
* lex.h (HAVE_ICONV): Undefine if we do not have HAVE_ICONV_H
	as well.

Co-Authored-By: Gerald Pfeifer <gerald@pfeifer.com>

From-SVN: r90168
2004-11-06 08:50:30 +00:00
Bryce McKinlay
65e9700cc0 re PR java/17265 (Libjava doesn't build)
2004-11-02  Bryce McKinlay  <mckinlay@redhat.com>

	PR java/17265
	* class.c: Reinstate 2004-08-18 patch.
	(make_local_function_alias): Don't create an alias for extern (native)
	functions.

From-SVN: r89993
2004-11-02 16:52:55 +00:00