Commit Graph

257 Commits

Author SHA1 Message Date
Tom Tromey
ff68219131 * expr.c (push_value): Always flush quick stack.
From-SVN: r116905
2006-09-12 19:51:08 +00:00
Tom Tromey
4b943588d1 re PR java/28754 (java.lang.nullPointerException while accessing final static members of an interface)
PR java/28754:
	* expr.c (expand_java_field_op): Initialize field's declaring
	interface if necessary.

From-SVN: r116890
2006-09-12 15:55:07 +00:00
Tom Tromey
91da2e7c33 re PR java/28892 (assignment to static field not in class initializer)
PR java/28892:
	* expr.c (expand_java_field_op): No error for assignments not in
	class initializer or constructor.

From-SVN: r116889
2006-09-12 15:47:26 +00:00
Andrew Haley
6de5f432f1 java-tree.h (update_aliases): Remove
2006-06-21  Andrew Haley  <aph@redhat.com>

        * java-tree.h (update_aliases): Remove
        * expr.c (expand_iinc): Remove call to update_aliases().
        (STORE_INTERNAL): Likewise.
        * decl.c (update_aliases, initialize_local_variable) 
        (maybe_pushlevels): Set DECL_VALUE_EXPR for debugging decls.

From-SVN: r114931
2006-06-23 12:14:44 +00:00
Andrew Haley
fe4e7c6527 re PR java/1305 ([JSR133] GCJ ignores volatile modifier)
2006-06-19  Andrew Haley  <aph@redhat.com>

        PR java/1305
        PR java/27908
        * expr.c (java_modify_addr_for_volatile): New function.
        (expand_java_field_op): Handle volatile fields.
        * java-gimplify.c (java_gimplify_component_ref): Call
        java_modify_addr_for_volatile to give the field_ref the correct
        volatile type.
        (java_gimplify_modify_expr): Likewise.
        * java-tree.h (java_modify_addr_for_volatile): New decl.

From-SVN: r114778
2006-06-19 17:38:08 +00:00
Andrew Haley
313ab5ee9c expr.c (build_field_ref): Pass NULL_TREE as SPECIAL arg to get_symbol_table_index().
2006-06-08  Andrew Haley  <aph@redhat.com>

        * expr.c (build_field_ref): Pass NULL_TREE as SPECIAL arg to
        get_symbol_table_index().
        (maybe_rewrite_invocation): Set SPECIAL if we need to access a
        private method.
        (build_known_method_ref): New arg: special.  Pass it to
        get_symbol_table_index.
        (get_symbol_table_index): Put SPECIAL in the TREE_PURPOSE field of
        the method list.
        (build_invokevirtual): New arg: special.  Pass it to
        get_symbol_table_index.
        (expand_invoke): New variable: special.
        Pass it to maybe_rewrite_invocation().
        Pass it to build_known_method_ref().
        * class.c (build_symbol_entry): Add new arg: special.  Use it to
        build the symbol table conbstructor.
        (emit_symbol_table): Extract SPECIAL from the method list and pass
        it to build_symbol_entry().
        * parse.y (patch_invoke): Call maybe_rewrite_invocation() and set
        special accordingly.

From-SVN: r114487
2006-06-08 14:01:40 +00:00
Kazu Hirata
375277f69d class.c, [...]: Fix comment typos.
* class.c, except.c, expr.c, java-gimplify.c: Fix comment
	typos.

From-SVN: r114172
2006-05-28 18:07:29 +00:00
Tom Tromey
153d08d59b expr.c (java_push_constant_from_pool): Handle 'ldc class'.
* expr.c (java_push_constant_from_pool): Handle 'ldc class'.
	* verify-glue.c (vfy_class_type): New function.
	* verify-impl.c (check_constant): Allow 'ldc class'.
	* verify.h (vfy_class_type): Declare.

From-SVN: r114135
2006-05-26 15:41:46 +00:00
Andrew Haley
b2ed63b4aa [multiple changes]
2006-05-04  Andrew Haley  <aph@redhat.com>

        * class.c (make_field_value): Always build_address_of fdecl if
        there is an initializer.

2006-05-03  Andrew Haley  <aph@redhat.com>

        PR libgcj/27352
        * expr.c (maybe_rewrite_invocation): New function.
        (rewrite_arglist_getclass): Likewise.
        (rules): New.
        (expand_invoke): Call maybe_rewrite_invocation.
        * parse.y (patch_invoke): Likewise.
        * java-tree.h: (maybe_rewrite_invocation): New function.

2006-05-03  Andrew Haley  <aph@redhat.com>

        PR libgcj/27352
        * java/lang/Class.java (getClassLoader(Class)): New.
        forName(String, Class): New.
        * java/lang/natClass.cc (getClassLoader(Class)): New.

2006-05-02  Andrew Haley  <aph@redhat.com>

        * prims.cc (_Jv_NewMultiArray): Check for phantom class.

From-SVN: r113532
2006-05-04 18:44:53 +00:00
Kazu Hirata
f48c58e8f1 * expr.c, gjavah.c: Fix comment typos.
From-SVN: r112784
2006-04-08 17:07:16 +00:00
Andrew Haley
e47247850c re PR libgcj/26858 (NullPointerException not generated for large classes...)
2006-04-03  Andrew Haley  <aph@redhat.com>

        PR java/26858
        * expr.c (build_field_ref): Don't check the field offset if
        flag_syntax_only.

From-SVN: r112640
2006-04-03 14:31:56 +00:00
Andrew Haley
e6b7893e34 re PR libgcj/26858 (NullPointerException not generated for large classes...)
2006-03-30  Andrew Haley  <aph@redhat.com>

        PR java/26858
        * lang.c (java_attribute_table): New.
        (LANG_HOOKS_ATTRIBUTE_TABLE): Define.
        * expr.c (build_field_ref): Add a null pointer check for all
        fields of offset > 4k.  Don't do so for accesses via the this
        pointer, which we know can never be null.
        * class.c (build_java_method_type): Mark arg 1 of all nonstatic
        methods nonnull.

From-SVN: r112574
2006-03-31 11:43:43 +00:00
Andrew Haley
58e0c554fd re PR java/26192 (ICE while compiling jar or class file (azureus))
2006-02-09  Andrew Haley  <aph@redhat.com>

        PR java/26192
        * expr.c (expand_invoke): Allow methods in arrays to be resolved
        in their superclass.

        * typeck.c (build_java_array_type): Generate TYPE_STUB_DECLs for
        array types.

From-SVN: r110799
2006-02-09 14:05:31 +00:00
Andrew Haley
0920886f9f re PR java/25535 (gcj broken on 64-bit big-endian systems)
2006-02-07  Andrew Haley  <aph@redhat.com>

        * expr.c (expand_invoke): (BC mode.)  If we find a method in a
        class other than the one in which we expected to find it, ignore
        the result.

        PR java/25535
        * constants.c (build_constants_constructor): move initializer into
        first halfword on a 6-bit big-endian machine.

From-SVN: r110710
2006-02-07 19:02:39 +00:00
Tom Tromey
fb579387f9 re PR java/26097 (Libjava failed to build)
PR java/26097:
	* expr.c (push_type): Avoid side effect in gcc_assert.

From-SVN: r110598
2006-02-04 23:30:01 +00:00
Andreas Tobler
74a88f62d1 expr.c (java_stack_swap): Revert gcc_assert patch.
2006-02-04  Andreas Tobler  <a.tobler@schweiz.ch>

	* expr.c (java_stack_swap): Revert gcc_assert patch.

From-SVN: r110579
2006-02-04 01:21:55 +01:00
Ben Elliston
ab184b2a8f java-gimplify.c: Use gcc_assert and gcc_unreachable throughout.
* java-gimplify.c: Use gcc_assert and gcc_unreachable throughout.
	* typeck.c: Likewise.
	* verify-impl.c: Likewise.
	* class.c: Likewise.
	* decl.c: Likewise.
	* jcf-parse.c: Likewise.
	* constants.c: Likewise.
	* check-init.c: Likewise.
	* jcf-write.c: Likewise.
	* verify-glue.c: Likewise.
	* mangle.c: Likewise.
	* expr.c: Likewise.
	* lang.c: Likewise.
	* boehm.c: Likewise.

From-SVN: r110541
2006-02-03 22:56:58 +11: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
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
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
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
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
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
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
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
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
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
Kelley Cook
f12c30a8f1 Update FSF address.
From-SVN: r101309
2005-06-25 00:33:05 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Hans-Peter Nilsson
e86d9e4bca expr.c (expr_add_location): Move declaration to before all statements.
* expr.c (expr_add_location): Move declaration to before all
	statements.
	* parse.y (java_expand_classes): Ditto.
	* lex.c (java_peek_unicode): Ditto.

From-SVN: r89152
2004-10-16 18:27:32 +00:00