Commit Graph

229 Commits

Author SHA1 Message Date
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
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
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
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
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
Kelley Cook
f12c30a8f1 Update FSF address.
From-SVN: r101309
2005-06-25 00:33:05 +00: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
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
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
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
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
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
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
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
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
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
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
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
Julian Brown
9148ab01d1 * decl.c (finish_method): Give methods once-only linkage.
From-SVN: r96106
2005-03-08 15:42:57 +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
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
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
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
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
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
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
Ranjit Mathew
a1402da35c parse.y (parse_warning_context): Remove ATTRIBUTE_PRINTF_2 and rename parameter 'msg' to 'msgid' in function...
* parse.y (parse_warning_context): Remove ATTRIBUTE_PRINTF_2 and
	rename parameter 'msg' to 'msgid' in function declaration.
	(issue_warning_error_from_context): Likewise.
	(yyerror): Rename parameter 'msg' to 'msgid'.
	(all over): Use new quoting style for diagnostics.

	* check-init.c: Use %<, %> and %q for quoting in diagnostics,
	if possible, else convert `foo' to 'foo'.
	* class.c: Likewise.
	* decl.c: Likewise.
	* expr.c: Likewise.
	* jcf-io.c: Likewise.
	* jcf-parse.c: Likewise.
	* lang.c: Likewise.
	* lex.c: Likewise.
	* parse.h: Likewise.

From-SVN: r89110
2004-10-15 18:43:10 +00:00
Jan Hubicka
0f0377f6dd c-decl.c (c_expand_body): Update call tree_rest_of_compilation.
* c-decl.c (c_expand_body): Update call tree_rest_of_compilation.
	* cgraphunit.c (cgraph_build_static_cdtor): Likewise.
	* toplev.h (tree_rest_of_compilation): Update prototype.
	* tree-optimize.c (tree_rest_of_compilation):  Kill nested_p argument.

	* misc.c (gnat_expand_body): Update call of tree_rest_of_compilation.

	* semantics.c (expand_body): Update call of tree_rest_of_compilation.

	* f95-lang.c (gfc_expand_function): Update call of
	tree_rest_of_compilation.
	* trans-decl.c (gfc_generate_constructors): Likewise.

	* java.c (java_expand_body): Update call of tree_rest_of_compilation.

	* treetree.c (treeland_expand_function): Update call of
	tree_rest_of_compilation.

From-SVN: r88396
2004-10-01 15:11:25 +00:00
Per Bothner
de39930392 check-init.c (check_init): Handle USE_MAPPED_LOCATION case.
* check-init.c (check_init): Handle USE_MAPPED_LOCATION case.
	* decl.c (finish_method, java_add_stmt): Likewise.
	* java-gimplify.c (java-gimplify.c):  Likewise.
	* jcf-write.c (generate_bytecode_insns):  Likewise.
	* lang.c (java_post_options): Likewise - call linemap_add.

From-SVN: r88324
2004-09-29 19:16:46 -07:00
Andrew Haley
eab3f38f80 re PR java/17007 (Inconsistent builtin attributes set by Java front end)
2004-09-29  Andrew Haley  <aph@redhat.com>

        PR java/17007
        * parse.y (patch_binop): Don't mess with the TREE_SIDE_EFFECTS of the
        result of TRUNC_MOD_EXPR.
        (patch_unaryop): Likewise for CONVERT_EXPR, which may throw.
        * decl.c (java_init_decl_processing): Mark
        soft_lookupinterfacemethod_node and soft_instanceof_node pure.

From-SVN: r88289
2004-09-29 14:13:17 +00:00
Nathan Sidwell
7d60be94d6 tree.h (build_int_cst): New, sign extended constant.
* tree.h  (build_int_cst): New, sign extended constant.
	(build_int_cstu): New, zero extended constant.
	(build_int_cst_wide): Renamed from build_int_cst.
	* tree.c (build_int_cst, build_int_cstu): New.
	(build_int_cst_wide): Renamed from build_int_cst.
	(make_vector_type, build_common_tree_nodes,
	build_common_tree_nodes_2): Adjust build_int_cst calls.
	* builtins.c (expand_builtin_prefetch, expand_builtin_strstr,
	expand_builtin_strpbrk, expand_builtin_fputs,
	build_string_literal, expand_builtin_printf,
	expand_builtin_sprintf, fold_builtin_classify_type,
	fold_builtin_lround, fold_builtin_bitop, fold_builtin_isascii,
	fold_builtin_toascii, fold_builtin_isdigit,
	simplify_builtin_strstr, simplify_builtin_strpbrk,
	fold_builtin_fputs, simplify_builtin_sprintf): Likewise.
	* c-common.c (start_fname_decls, fix_string_type, shorten_compare,
	DEF_ATTR_INT): Likewise.
	* c-decl.c (complete_array_type, check_bitfield_type_and_width):
	Likewise.
	* c-lex.c (interpret_integer, lex_charconst): Likewise.
	* c-parse.in (primary) <TYPES_COMPATIBLE_P> Likewise.
	* c-pretty-print.c (pp_c_integer_constant): Likewise.
	* c-typeck.c (really_start_incremental_init, push_init_level,
	set_nonincremental_init_from_string): Likewise.
	* calls.c (load_register_parameters): Likewise.
	convert.c (convert_to_pointer): Likewise.
	coverage.c (coverage_counter_alloc, tree_coverage_counter_ref,
	build_fn_info_type, build_fn_info_value, build_ctr_info_value,
	build_gcov_info): Likewise.
	* except.c (init_eh, assign_filter_values): Likewise.
	* expmed.c (store_fixed_bit_field, extract_bit_field,
	extract_fixed_bit_field, extract_split_bit_field, expand_shift,
	expand_mult_const, expand_mult_highpart_adjust, extract_high_half,
	expand_sdiv_pow2, expand_divmod, make_tree): Likewise.
	* expr.c (convert_move, emit_group_load, emit_group_store,
	expand_assignment, store_constructor, store_field,
	expand_expr_real_1, reduce_to_bit_field_precision): Likewise.
	fold-const.c (force_fit_type, int_const_binop, fold_convert_const,
	invert_truthvalue, optimize_bit_field_compare,
	decode_field_reference, all_ones_mask_p, constant_boolean_node,
	fold_div_compare, fold, fold_read_from_constant_string,
	fold_negate_const, fold_abs_const, fold_not_const, round_up,
	round_down): Likewise.
	* function.c (assign_parm_setup_block): Likewise.
	* stmt.c (shift_return_value, expand_case, estimate_case_costs):
	Likewise.
	* stor-layout.c (layout_type, initialize_sizetypes,
	set_min_and_max_values_for_integral_type): Likewise.
	* tree-chrec.c (chrec_fold_multiply_poly_poly,
	reset_evolution_in_loop): Likewise.
	* tree-chrec.h (build_polynomial_chrec): Likewise.
	* tree-complex.c (build_replicated_const): Likewise.
	* tree-eh.c (honor_protect_cleanup_actions,
	lower_try_finally_onedest, lower_try_finally_copy,
	lower_try_finally_switch): Likewise.
	* tree-mudflap.c (mf_build_string, mx_register_decls,
	mudflap_register_call, mudflap_enqueue_constant): Likewise.
	* tree-nested.c (get_trampoline_type, get_nl_goto_field): Likewise.
	* tree-pretty-print.c (dump_generic_node): Likewise.
	* tree-ssa-ccp.c (widen_bitfield, maybe_fold_offset_to_array_ref):
	Likewise.
	* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
	* tree-ssa-loop-niter.c (number_of_iterations_cond,
	loop_niter_by_eval, upper_bound_in_type, lower_bound_in_type):
	Likewise.
	* tree-ssa-loop-ivcanon.c (create_canonical_iv,
	canonicalize_loop_induction_variables): Likewise.
	* tree-vectorizer.c (vect_create_index_for_array_ref,
	vect_transform_loop_bound, vect_compute_data_ref_alignment):
	Likewise.

	* config/alpha/alpha.c (alpha_initialize_trampoline, alpha_va_start,
	alpha_gimplify_va_arg_1): Likewise.
	* config/arm/arm.c (arm_get_cookie_size): Likewise.
	* config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
	* config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
	* config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
	* config/mips/mips.c (mips_build_builtin_va_list, mips_va_start,
	mips_gimplify_va_arg_expr): Likewise.
	* config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
	* config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg,
	add_compiler_branch_island): Likewise.
	* config/s390/s390.c (s390_va_start): Likewise.
	* config/sh/sh.c (sh_va_start): Likewise.
	* config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
	Likewise.
	* config/xtensa/xtensa.c (xtensa_va_start,
	xtensa_gimplify_va_arg_expr): Likewise.

	* objc/objc-act.c (build_objc_string_object,
	build_objc_symtab_template, init_def_list, init_objc_symtab,
	init_module_descriptor, generate_static_references,
	build_selector_translation_table, get_proto_encoding,
	build_typed_selector_reference, build_selector_reference,
	build_next_objc_exception_stuff,
	build_method_prototype_list_template, generate_descriptor_table,
	generate_protocols, build_protocol_initializer,
	build_ivar_list_template, build_method_list_template,
	build_ivar_list_initializer, generate_ivars_list,
	generate_dispatch_table, generate_protocol_list,
	build_category_initializer, build_shared_structure_initializer,
	generate_shared_structures, handle_impent,
	generate_objc_image_info): Likewise.

2004-04-25  Paolo Bonzini  <bonzini@gnu.org>

	* cfglayout.c (duplicate_insn_chain): Remove references to
	NOTE_INSN_LOOP_VTOP and NOTE_INSN_LOOP_CONT.
	* cfgloop.h (struct loop): Remove fields vtop, cont and cont_dominator.
	* cfgrtl.c (rtl_delete_block): Remove handling of NOTE_INSN_LOOP_CONT.
	* final.c (final_scan_insn): Remove references to NOTE_INSN_LOOP_VTOP
	and NOTE_INSN_LOOP_CONT.
	* insn-notes.def (NOTE_INSN_LOOP_VTOP, NOTE_INSN_LOOP_CONT): Remove.
	* jump.c (squeeze_notes): Remove references to NOTE_INSN_LOOP_VTOP
	and NOTE_INSN_LOOP_CONT.
	* loop.c (scan_loops, find_and_verify_loops, for_each_insn_in_loop,
	check_dbra_loop, loop_dump_aux): Remove references to removed notes
	and fields.
	* reorg.c (mostly_true_jump): Do not rely on NOTE_INSN_LOOP_VTOPs.
	* unroll.c (unroll_loop, copy_loop_body, loop_iterations): Remove
	references to removed notes and fields.
	(subtract_reg_term, ujump_to_loop_cont): Remove.

From-SVN: r86544
2004-08-25 09:52:54 +00:00
Nathan Sidwell
8c1d6d62a6 c-decl.c (c_init_decl_processing): Adjust build_common_tree_nodes call.
* c-decl.c (c_init_decl_processing): Adjust
	build_common_tree_nodes call.
	* expmed.c (const_mult_add_overflow_p): Use
	build_distinct_type_copy.
	* stor-layout.c (early_type_list): Remove.
	(layout_type): Don't append to early_type_list.
	(initialize_sizetypes): Add signed_p argument.
	(set_sizetype): Overwrite the stub type nodes directly.
	* tree.c (copy_node_stat): Clear a type's value cache here ...
	(build_distinct_type): ... not here.
	(build_common_tree_nodes): Add signed_sizetype argument. Adjust.
	* tree.h (initialize_sizetypes): Add signed_p argument.
	(build_common_tree_nodes): Likewise.

	* ada/utils.c (gnat_init_decl_processing): Adjust
	build_common_tree_nodes call.

	* cp/decl.c (cxx_init_decl_processing): Adjust
	build_common_tree_nodes call.

	* fortran/f95-lang.c (gfc_init_decl_processing): Adjust
	build_common_tree_nodes call.

	* java/decl.c (java_init_decl_processing): Adjust
	initialize_sizetypes call.

	* objc/objc-act.c (get_static_reference): Use
	build_variant_type_copy.
	(get_protocol_reference): Likewise.
	* objc/objc-act.h (TREE_STATIC_TEMPLATE): Use TREE_PRIVATE.

	* treelang/treetree.c (treelang_init_decl_processing): Adjust
	build_common_tree_nodes call.

From-SVN: r86493
2004-08-24 16:39:43 +00:00
Nathan Sidwell
4a90aeeb51 tree.h (build_int_cst): New.
.:	* tree.h (build_int_cst): New.
	(build_int_2): Remove.
	* tree.c (build_int_2): Remove.
	(build_int_cst): New.
	(make_vector_type, build_common_tree_nodes,
	build_common_tree_nodes_2): Use build_int_cst.
	* builtins.c (expand_builtin_prefetch, expand_builtin_strstr,
	expand_builtin_strpbrk, expand_builtin_fputs,
	build_string_literal, expand_builtin_printf,
	expand_builtin_sprintf, fold_builtin_lround, fold_builtin_bitop,
	fold_builtin_bitop, fold_builtin_isascii, fold_builtin_toascii,
	fold_builtin_isdigit, simplify_builtin_strstr,
	simplify_builtin_strpbrk, fold_builtin_fputs,
	simplify_builtin_sprintf): Use build_int_cst.
	* c-common.c (start_fname_decls, fix_string_type,
	c_common_nodes_and_builtins, c_init_attributes,
	shorten_compare): Likewise.
	* c-decl.c (complete_array_type,
	check_bitfield_type_and_width): Likewise.
	* c-lex.c (interpret_integer, lex_charconst): Likewise.
	* c-parse.in (primary): <TYPES_COMPATIBLE_P> Likewise.
	* c-pretty-print.c (pp_c_integer_constant): Likewise.
	* c-typeck.c (really_start_incremental_init, push_init_level,
	set_nonincremental_init_from_string): Likewise.
	* calls.c (load_register_parameters): Likewise.
	* convert.c (convert_to_pointer): Likewise.
	* coverage.c (coverage_counter_alloc, tree_coverage_counter_ref,
	build_fn_info_type, build_ctr_info_value, build_gcov_info):
	Likewise.
	* except.c (init_eh, assign_filter_values, assign_filter_values):
	Likewise.
	* expmed.c (store_fixed_bit_field, extract_bit_field,
	extract_fixed_bit_field, extract_split_bit_field, expand_shift,
	expand_mult_const, expand_mult_highpart_adjust, extract_high_half,
	expand_sdiv_pow2, expand_divmod, make_tree): Likewise.
	* expr.c (convert_move, emit_group_load, emit_group_store,
	expand_assignment, store_constructor, store_field,
	expand_expr_real_1, reduce_to_bit_field_precision): Likewise.
	* fold-const.c (force_fit_type, int_const_binop, fold_convert_const,
	invert_truthvalue, optimize_bit_field_compare,
	decode_field_reference, all_ones_mask_p, constant_boolean_node,
	fold_div_compare, fold, fold_read_from_constant_string,
	fold_negate_const, fold_abs_const, fold_not_const): Likewise.
	* function.c (assign_parm_setup_block): Likewise.
	* stmt.c (shift_return_value, expand_end_case_type,
	estimate_case_costs): Likewise.
	* stor-layout.c (layout_type, initialize_sizetypes,
	set_min_and_max_values_for_integral_type): Likewise.
	* tree-chrec.c (chrec_fold_multiply_poly_poly,
	reset_evolution_in_loop): Likewise.
	* tree-chrec.h (build_polynomial_chrec): Likewise.
	* tree-complex.c (build_replicated_const): Likewise.
	* tree-eh.c (honor_protect_cleanup_actions,
	lower_try_finally_onedest, lower_try_finally_copy,
	lower_try_finally_switch): Likewise.
	* tree-mudflap.c (mf_build_string, mx_register_decls,
	mudflap_register_call, mudflap_enqueue_constant): Likewise.
	* tree-nested.c (get_trampoline_type, get_nl_goto_field): Likewise.
	* tree-pretty-print.c (dump_generic_node): Likewise.
	* tree-ssa-ccp.c (widen_bitfield, maybe_fold_offset_to_array_ref):
	Likewise.
	* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
	* tree-ssa-loop-niter.c (number_of_iterations_cond,
	loop_niter_by_eval, upper_bound_in_type, lower_bound_in_type):
	Likewise.

	* config/alpha/alpha.c (alpha_initialize_trampoline,
	alpha_va_start, alpha_gimplify_va_arg_1): Use build_int_cst.
	* config/arm/arm.c (arm_get_cookie_size): Likewise.
	* config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
	* config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
	* config/i860/i860.c (i860_va_start): Likewise.
	* config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
	* config/mips/mips.c (mips_build_builtin_va_list, mips_va_start,
	mips_gimplify_va_arg_expr): Likewise.
	* config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
	* config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg,
	add_compiler_branch_island): Likewise.
	* config/s390/s390.c (s390_va_start): Likewise.
	* config/sh/sh.c (sh_va_start): Likewise.
	* config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
	Likewise.
	* config/xtensa/xtensa.c (xtensa_va_start,
	xtensa_gimplify_va_arg_expr): Likewise.

	* objc/objc-act.c (build_objc_string_object,
	build_objc_symtab_template, init_def_list, init_objc_symtab,
	init_module_descriptor, generate_static_references,
	build_selector_translation_table, get_proto_encoding,
	build_typed_selector_reference, build_selector_reference,
	build_next_objc_exception_stuff,
	build_method_prototype_list_template, generate_descriptor_table,
	generate_protocols, build_protocol_initializer,
	build_ivar_list_template, build_method_list_template,
	build_ivar_list_initializer, generate_ivars_list,
	generate_dispatch_table, generate_protocol_list,
	build_category_initializer, build_shared_structure_initializer,
	generate_shared_structures, handle_impent,
	generate_objc_image_info): Use build_int_cst.
ada:
	* cuintp.c (UI_To_gnu): Use build_int_cst..
	* trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
	* utils.c (init_gigi_decls): Likewise.
	* utils2.c (build_call_raise): Likewise.
cp:
	* call.c (convert_class_to_reference,
	build_user_type_conversion_1, convert_like_real,
	build_java_interface_fn_ref, build_special_member_call): Use
	build_int_cst.
	* class.c (build_vtbl_initializer): Likewise.
	* cp-gimplify.c (cp_gimplify_expr): Likewise.
	* cvt.c (cp_convert_to_pointer): Likewise.
	* decl.c (cxx_init_decl_processing, complete_array_type): Likewise.
	* decl2.c (start_static_initialization_or_destruction,
	generate_ctor_or_dtor_function): Likewise.
	* except.c (build_throw): Likewise.
	* lex.c (cxx_init): Likewise.
	* mangle.c (write_integer_cst): Likewise.
	* rtti.c (build_headof, get_tinfo_decl_dynamic,
	build_dynamic_cast_1, ptr_initializer, ptm_initializer,
	get_pseudo_ti_init): Likewise.
	* search.c (get_dynamic_cast_base_type): Likewise.
	* tree.c (build_shared_int_cst): Likewise.
fortran:
	* trans-array.c (gfc_trans_array_constructor_value): Use
	build_int_cst.
	* trans-const.c (gfc_build_string_const,
	gfc_init_constants, gfc_conv_mpz_to_tree,
	gfc_conv_constant_to_tree): Likewise.
	* trans-decl.c (gfc_get_symbol_decl): Likewise.
	* trans-intrinsic.c (gfc_conv_intrinsic_ibits,
	gfc_conv_intrinsic_len, prepare_arg_info): Likewise.
	* trans-io.c (add_case, set_error_locus, build_dt,
	transfer_expr): Likewise.
	* trans-stmt.c (gfc_trans_label_assign, gfc_trans_pause,
	gfc_trans_stop, gfc_trans_character_select): Likewise.
	* trans-types.c (gfc_init_types, gfc_get_dtype): Likewise.
	* trans.c (gfc_trans_runtime_check): Likewise.
java:
	* boehm.c (get_boehm_type_descriptor): Use build_int_cst.
	* class.c (build_utf8_ref, build_static_field_ref,
	make_field_value, make_method_value, get_dispatch_table,
	make_class_data, emit_symbol_table, emit_catch_table): Likewise.
	* constants.c (get_tag_node,  build_ref_from_constant_pool,
	build_constants_constructor): Likewise.
	* decl.c (java_init_decl_processing): Likewise.
	* expr.c (build_java_array_length_access, build_newarray,
	expand_java_multianewarray, expand_java_pushc, expand_iinc,
	build_java_binop, build_field_ref, expand_java_add_case,
	expand_java_call, build_known_method_ref, build_invokevirtual,
	build_invokeinterface, build_jni_stub): Likewise.
	* java-gimplify.c (java_gimplify_new_array_init): Likewise.
	* jcf-parse.c (get_constant): Likewise.
	* lex.c (do_java_lex): Likewise.
	* parse.y (patch_binop, patch_unaryop, patch_cast,
	build_null_of_type, patch_newarray): Likewise.
	* resource.c (compile_resource_data): Likewise.
	* typeck.c (build_prim_array_type): Likewise.

From-SVN: r86022
2004-08-15 15:45:33 +00:00
Geoffrey Keating
0e6df31e19 re PR c/14516 (-fleading-underscore does not work correctly for file static variables)
2004-08-04  Geoffrey Keating  <geoffk@apple.com>

	PR 14516
	* c-common.c (c_expand_decl): Don't special-case static VAR_DECLs.
	* c-common.h (make_rtl_for_local_static): Delete.
	* c-decl.c (shadow_tag_warned): Clean up comment.
	(finish_decl): Clean up spacing.  Use set_user_assembler_name when
	appropriate.  Don't pass asmspec to rest_of_decl_compilation.
	* c-semantics.c (make_rtl_for_local_static): Delete.
	* expr.c (init_block_move_fn): Use set_user_assembler_name.
	(init_block_clear_fn): Likewise.
	* passes.c (rest_of_decl_compilation): Remove asmspec parameter,
	expect it to be in DECL_ASSEMBLER_NAME.  Update callers in many files.
	* toplev.h (rest_of_decl_compilation): Remove asmspec parameter.
	* tree.h (make_decl_rtl): Remove second parameter.
	(set_user_assembler_name): New.
	* varasm.c (set_user_assembler_name): New.
	(make_decl_rtl): Remove second parameter.  Update callers in many
	files.

Index: cp/ChangeLog
2004-08-04  Geoffrey Keating  <geoffk@apple.com>

	* decl.c (make_rtl_for_nonlocal_decl): Set DECL_ASSEMBLER_NAME rather
	than passing it as a parameter to rest_of_decl_compilation.
	* decl2.c (grokfield): Use set_user_assembler_name.

From-SVN: r85593
2004-08-05 05:52:01 +00:00
Roger Sayle
dc6d70957c decl.c (update_aliases, [...]): Replace calls to build with calls to buildN.
* decl.c (update_aliases, initialize_local_variable): Replace calls
	to build with calls to buildN.
	* java-gimplify.c (java_gimplify_modify_expr): Likewise.
	* java-tree.h (BUILD_MONITOR_ENTER, BUILD_MONITOR_EXIT): Likewise.
	* parse.h (BUILD_THROW): Likewise.
	* parse.y (switch_expression, synchronized_statement,
	catch_clause_parameter, array_creation_expression,
	conditional_expression, make_qualified_name,
	resolve_qualified_expression_name, patch_method_invocation,
	patch_invoke, build_method_invocation, build_new_invocation,
	build_assignment, patch_assignment, build_binop, patch_binop,
	build_string_concatenation, build_incdec, patch_unaryop,
	patch_cast, build_array_ref, build_newarray_node, patch_newarray,
	patch_return, build_if_else_statement, build_labeled_block,
	build_new_loop, build_loop_body, build_bc_statement,
	build_assertion, encapsulate_with_try_catch, build_try_statement,
	build_try_finally_statement, patch_synchronized_statement,
	emit_test_initialization): Likewise, replace build with buildN.

From-SVN: r85410
2004-08-01 18:04:42 +00:00
Bernardo Innocenti
381166d48e * decl.c: Rename all identifiers named class' to cl'.
From-SVN: r85152
2004-07-25 19:54:37 +02:00
Richard Henderson
b785f485ec c-decl.c (start_function): Set DECL_ARTIFICIAL and DECL_IGNORED_P on the RESULT_DECL.
* c-decl.c (start_function): Set DECL_ARTIFICIAL and DECL_IGNORED_P
        on the RESULT_DECL.
        * cgraphunit.c (cgraph_build_static_cdtor): Likewise.
        * integrate.c (copy_decl_for_inlining): Copy DECL_ARTIFICIAL and
        DECL_IGNORED_P to new decl.
ada/
        * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and
        DECL_IGNORED_P on RESULT_DECL.
cp/
        * decl.c (start_preparsed_function): Set DECL_ARTIFICIAL and
        DECL_IGNORED_P on RESULT_DECL.
        * semantics.c (finalize_nrv): Copy them too.
fortran/
        * trans-decl.c (gfc_build_function_decl): Set DECL_ARTIFICIAL
        and DECL_IGNORED_P on RESULT_DECL.
        (gfc_generate_constructors): Likewise.
java/
        * decl.c (build_result_decl): Set DECL_ARTIFICIAL and DECL_IGNORED_P.

From-SVN: r85145
2004-07-25 01:10:28 -07:00
Bernardo Innocenti
e18476eb94 c-common.c: Convert ATTRIBUTE_UNUSED to ARG_UNUSED in parameter lists.
* c-common.c: Convert ATTRIBUTE_UNUSED to ARG_UNUSED in parameter
	lists.
	* c-decl.c: Likewise.
	* c-format.c: Likewise.
	* c-lex.c: Likewise.
	* c-opts.c: Likewise.
	* c-pragma.c: Likewise.
	* c-typeck.c: Likewise.
	* gencheck.c: Likewise.
	* genconditions.c: Likewise.
	* genconfig.c: Likewise.
	* genflags.c: Likewise.
	* gengtype.c: Likewise.
	* gensupport.c: Likewise.
	* ggc-none.c: Likewise.
	* langhooks.c: Likewise.
	* statistics.h: Likewise.
	* stub-objc.c: Likewise.
	* java/decl.c: Likewise.

From-SVN: r85128
2004-07-25 02:13:01 +02:00
Andrew Haley
00150bf9f3 verify.c (verify_jvm_instructions): Comment change only.
2004-07-20  Andrew Haley  <aph@redhat.com>

	* verify.c (verify_jvm_instructions): Comment change only.

	* typeck.c (build_java_array_type): Add size field to array name.

	* java-tree.h (LOCAL_SLOT_P): New.
	(update_aliases): Add PC argument.
	(pushdecl_function_level): New function.

	* java-gimplify.c (java_gimplify_expr): Handle VAR_DECL,
	MODIFY_EXPR, and SAVE_EXPR.
	(java_gimplify_modify_expr): New function.

	* expr.c (push_type_0): Call find_stack_slot() to create temporary.
	(expand_iinc): Pass PC to update_aliases().
	(STORE_INTERNAL): Likewise.
	(process_jvm_instruction): Likewise.

	* decl.c (base_decl_map): New variable.
	(uniq): New variable.
	(update_aliases): Rewrite with more thorough checking.
	(debug_variable_p): New function.
	(push_jvm_slot): Don't initialize local variable.  Don't pushdecl.
	(check_local_named_variable): Delete whole function.
	(initialize_local_variable): New function.
	(check_local_unnamed_variable): Add checks and comments.
	(find_local_variable): Rewrite.
	(java_replace_reference): New function.
	(function_binding_level): New variable.
	(pushdecl_function_level): New function.
	(maybe_pushlevels): Set DECL_LOCAL_END_PC.
	(maybe_pushlevels): Call pushdecl() on each of the new decls.
	(start_java_method): Reset uniq.  Create base_decl_map.  Set
	function_binding_level.
	(end_java_method): Null unused fields to save memory.

From-SVN: r85009
2004-07-21 16:03:43 +00:00
Roger Sayle
94cdeb1ad3 builtins.c (max_builtin, [...]): Replace calls to build with buildN.
* builtins.c (max_builtin, min_builtin,
	java_build_function_call_expr): Replace calls to build with buildN.
	* class.c (build_class_ref, build_static_field_ref,
	get_dispatch_table, make_class_data, layout_class_method): Likewise.
	* constants.c (build_ref_from_constant_pool): Likewise.
	* decl.c (update_aliases, push_jvm_slot, poplevel, finish_method,
	add_stmt_to_compound): Likewise.
	* except.c (build_exception_object_ref, expand_end_java_handler):
	Likewise.
	* java-gimplify.c (java_gimplify_case_expr,
	java_gimplify_default_expr, java_gimplify_block,
	java_gimplify_new_array_init, java_gimplify_try_expr): Likewise.
	* jcf-write.c (generate_bytecode_insns): Likewise.
	* typeck.c (convert_ieee_real_to_integer): Likewise.

From-SVN: r84894
2004-07-18 13:17:03 +00:00
Joseph Myers
9dcf6e7366 langhooks.h (estimate_num_insns, [...]): Remove hooks.
* langhooks.h (estimate_num_insns, pushlevel, poplevel, set_block,
	maybe_build_cleanup, update_decl_after_saving): Remove hooks.
	* langhooks.c (lhd_clear_binding_stack): Remove.
	* langhooks-def.h (lhd_clear_binding_stack,
	LANG_HOOKS_MAYBE_BUILD_CLEANUP,
	LANG_HOOKS_UPDATE_DECL_AFTER_SAVING,
	LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS, LANG_HOOKS_PUSHLEVEL,
	LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
	(LANG_HOOKS_CLEAR_BINDING_STACK): Define to lhd_do_nothing.
	* system.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS,
	LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_SET_BLOCK,
	LANG_HOOKS_MAYBE_BUILD_CLEANUP,
	LANG_HOOKS_UPDATE_DECL_AFTER_SAVING, LANG_HOOKS_POPLEVEL): Poison.
	* tree.h (poplevel): Don't declare.
	* c-lang.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
	LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
	* objc/objc-lang.c (LANG_HOOKS_CLEAR_BINDING_STACK,
	LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
	Remove.

ada:
	* misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
	LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.

cp:
	* cp-lang.c (LANG_HOOKS_MAYBE_BUILD_CLEANUP, LANG_HOOKS_PUSHLEVEL,
	LANG_HOOKS_POPLEVEL, LANG_HOOKS_UPDATE_DECL_AFTER_SAVING): Remove.
	* cp-tree.h (poplevel): Declare.
	(set_block): Remove.
	* decl.c (set_block): Remove.

fortran:
	* f95-lang.c (set_block): Remove.
	(gfc_clear_binding_stack): New.
	(LANG_HOOKS_CLEAR_BINDING_STACK): Define.
	(struct binding_level): Remove block_created_by_back_end.
	(clear_binding_level): Likewise.
	(poplevel): Don't handle block_created_by_back_end.

java:
	* java-tree.h (set_block): Remove.
	* lang.c (java_clear_binding_stack): New.
	(LANG_HOOKS_CLEAR_BINDING_STACK): Define.
	* decl.c (struct binding_level): Remove this_block.
	(clear_binding_level): Likewise.
	(poplevel): Don't handle this_block.
	(set_block): Remove.

treelang:
	* treetree.c (set_block): Remove.
	(struct binding_level): Remove block_created_by_back_end.
	(clear_binding_level): Likewise.
	(tree_code_create_function_initial,
	tree_code_create_function_wrapup): Call pushlevel and poplevel
	directly rather than through hooks.
	(poplevel): Don't handle block_created_by_back_end.

From-SVN: r84499
2004-07-11 10:53:06 +01:00
Richard Henderson
c9b9aa64e9 cgraph.h (cgraph_build_static_cdtor): Declare.
* cgraph.h (cgraph_build_static_cdtor): Declare.
        * cgraphunit.c (cgraph_build_static_cdtor): New.
        * c-objc-common.c (build_cdtor): Use it.
        * coverage.c (create_coverage): Likewise.
        * libfuncs.h (LTI_gcov_init, gcov_init_libfunc): Remove.
        * optabs.c (init_optabs): Don't set gcov_init_libfunc.
java/
        * class.c (registerClass_libfunc): Remove.
        (init_class_processing): Don't set it.
        (emit_register_classes): Take list_p parameter.  Fill it in
        with _Jv_RegisterClass calls.
        * decl.c (java_init_decl_processing): Don't call
        init_resource_processing.
        * jcf-parse.c (java_emit_static_constructor): New.
        (java_parse_file): Call it.
        * resource.c (registerResource_libfunc): Remove.
        (init_resource_processing): Remove.
        (write_resource_constructor): Take list_p parameter.  Fill it in
        with _Jv_RegisterResource calls.
        * java-tree.h: Update prototypes.

From-SVN: r83958
2004-07-01 00:51:12 -07:00
Andrew Haley
ba60e4754a except.c (expand_start_java_handler): Push a new binding level.
2004-06-29  Andrew Haley  <aph@redhat.com>

        * except.c (expand_start_java_handler): Push a new binding level.
        Don't build a TRY_CATCH_EXPR now, we'll do it later.  Call
        register_exception_range() to register where we'll do it.
        (expand_end_java_handler): Remove old bogus code.  Replace with
        new logic that simply builds TRY_CATCH_EXPRs and inserts them at
        the top of the expression we're curently building.
        (maybe_end_try): Delete.
        * decl.c (binding_level.exception_range): New field.
        (clear_binding_level): Add field exception_range.  Reformat.
        (poplevel): Call expand_end_java_handler().
        (poplevel): Call java_add_stmt only if functionbody is false.
        (maybe_poplevels): Don't call maybe_end_try() from here.
        (end_java_method): Clear no longer used trees in function decl.
        (register_exception_range): New function.
        * java-tree.h (register_exception_range, struct eh_range): Declare.

From-SVN: r83857
2004-06-29 16:18:46 +00:00
Ranjit Mathew
fe0b9fb522 Formatting fixes.
* expr.c (class_has_finalize_method): Fix method name indentation.
        (expand_java_call): Remove K&R style parameter declaration.
        (expand_invoke): Fix statement indentation.
        (expand_java_field_op): Likewise.
        * parse-scan.y: Fix typo.
        (reset_report): Fix method name indentation.
        * parse.y (unresolved_type_p, build_expr_block): Remove extra blank
        line. Fix typos.
        * verify.c (verify_jvm_instructions): Document parameters, insert
        page break.
        * lang.c (lang_init_source): Fix method name indentation.
        * class.c (common_enclosing_context_p): Likewise.
        (emit_symbol_table): Fix parameter list indentation.
        * decl.c (add_stmt_to_compound, java_add_stmt): Remove K&R style
        parameter declaration.
        * constants.c: Fix copyright notice indentation.
        * typeck.c (find_method_in_superclasses): Fix parameter list
        indentation.
        (find_method_in_interfaces): Likewise.
        * zextract.c (makelong): Fix method name indentation.

From-SVN: r83738
2004-06-27 18:16:49 +00:00
Andrew Haley
56c5197bc8 re PR java/16113 (ICE: Segmentation fault when compiling bytecode with debugging info and try/catch)
Fixes PR java/16113.
	* decl.c (force_poplevels): Remove call to expand_end_bindings.

Co-Authored-By: Ranjit Mathew <rmathew@hotmail.com>

From-SVN: r83509
2004-06-22 18:22:43 +00:00
Bryce McKinlay
062583ea1c decl.c (struct binding_level): Add GTY marker.
* decl.c (struct binding_level): Add GTY marker. Compile
	binding_depth unconditionally.
	(current_binding_level, free_binding_level, global_binding_level):
	Likewise.
	(clear_binding_level): Unconditionally set binding_depth.
	(make_binding_level): Use ggc_alloc_cleared, not xmalloc.

From-SVN: r82323
2004-05-27 14:05:34 +01:00
Diego Novillo
6de9cd9a88 Merge tree-ssa-20020619-branch into mainline.
From-SVN: r81764
2004-05-13 02:41:07 -04:00