Commit Graph

1465 Commits

Author SHA1 Message Date
Ralph Loader
c6a25d3a3d re PR java/12374 (Segfault on "".x)
PR java/12374:
	* parse.y (qualify_ambiguous_name): Remove lots of broken
	field access processing - there's no need to do that here,
	because we have resolve_field_access.  Remove
	RESOLVE_EXPRESSION_NAME_P as it isn't used anywhere else.
	* java-tree.h: Remove RESOLVE_EXPRESSION_NAME_P as it isn't
	used.

From-SVN: r74217
2003-12-03 07:04:19 +00:00
Jeff Sturm
50abb28b64 re PR java/13237 (ICE on Math.sqrt(2.0))
Fix PR java/13237
* parse.y (java_complete_lhs): Save location prior to patching
CALL_EXPR.

From-SVN: r74101
2003-12-01 14:19:41 +00:00
Mohan Embar
8bc7a74021 re PR middle-end/12548 ([non-weak] gcj now failes to compile included example)
PR java/12548
  * resource.c (write_resource_constructor): Append
  "_resource" to constructor identifier name.

From-SVN: r73940
2003-11-26 01:34:32 +00:00
Jeff Sturm
75182467b0 re PR java/13183 ([unit-at-a-time] incorrect multidimensional array initializer with -O2)
Fix PR java/13183.
* constants.c (cpool_for_class): New function.
(outgoing_cpool): Remove global variable.
(alloc_name_constant): Use cpool_for_class.
(build_constants_constructor): Likewise.
* decl.c (java_expand_body): Set current_class.
* java-tree.h (outgoing_cpool) Remove declaration.
(init_outgoing_cpool): Likewise.
* jcf-parse.c (init_outgoing_cpool): Remove function.
(parse_class_file): Don't call init_outgoing_cpool.
* parse.y (java_complete_expand_methods): Don't call
init_outgoing_cpool.  Don't save outgoing_cpool.
(java_expand_classes): Don't restore outgoing_cpool.
(java_finish_classes): Likewise.

From-SVN: r73926
2003-11-25 17:32:54 +00:00
Mohan Embar
33fe459632 Make-lang.in: (java.install-common) Add symlink for $(target_noncanonical)-gcjh for native builds.
* Make-lang.in: (java.install-common) Add
	symlink for $(target_noncanonical)-gcjh for
	native builds.

From-SVN: r73875
2003-11-24 15:14:23 +00:00
Joseph Myers
a03ad584d6 Makefile.in (extraclean): Delete.
gcc:
	* Makefile.in (extraclean): Delete.
	* configure.in (target_list): Remove extraclean.
	* configure: Regenerate.
	* doc/makefile.texi, doc/sourcebuild.texi: Update.
	* objc/Make-lang.in (objc.extraclean): Delete.

gcc/ada:
	* Make-lang.in (ada.extraclean): Delete.

gcc/cp:
	* Make-lang.in (c++.extraclean): Delete.

gcc/f:
	* Make-lang.in (f77.extraclean): Delete.

gcc/java:
	* Make-lang.in (java.extraclean): Delete.

gcc/treelang:
	* Make-lang.in (treelang.extraclean): Delete.

From-SVN: r73759
2003-11-20 10:08:56 +00:00
Joseph Myers
49a4172630 Makefile.in (lang_checks): Add.
gcc:
	* Makefile.in (lang_checks): Add.
	(check-c++, check-f77, check-java, check-g++, check-g77,
	check-objc): Remove hardcoded targets.
	* doc/sourcebuild.texi: Document testsuite hooks.
	* objc/Make-lang.in (check-objc, lang_checks): Add.

gcc/cp:
	* Make-lang.in (check-g++, lang_checks): Add.

gcc/f:
	* Make-lang.in (check-f77, lang_checks): Add.

gcc/java:
	* Make-lang.in (check-java): Add.

gcc/treelang:
	* Make-lang.in: Remove obsolete comment.

From-SVN: r73758
2003-11-20 09:59:59 +00:00
Jeff Sturm
c2a141a0f3 re PR rtl-optimization/13024 (gcj can't build current rhug)
Fix PR java/13024.
* except.c (prepare_eh_table_type): Allocate variable-sized
buffer `buf' with alloca.

From-SVN: r73752
2003-11-20 03:34:59 +00:00
Jeff Sturm
b8ca854ad1 re PR java/12857 (Illegal method modifier when loading a generated .class)
Fix PR java/12857.

decl.c (java_init_decl_processing): Don't initialize
class_not_found_type_node, no_class_def_found_type_node.

java-tree.h (JTI_CLASS_NOT_FOUND_TYPE_NODE,
JTI_NO_CLASS_DEF_FOUND_TYPE_NODE): Remove from java_tree_index.
(class_not_found_type_node, no_class_def_found_type_node):
Don't define.

parse.y (build_dot_class_method_invocation): Add this_class
argument.  Qualify method invocations to a different class.
(create_new_parser_context): Initialize saved_data_ctx to 0.
(java_parser_context_save_global): Initialize saved_data_ctx to 1.
(build_dot_class_method): Don't load classes.  Register
incomplete types.
(build_incomplete_class_ref): Special cases for interfaces
and inner classes.  Move build_dot_class_method call to here...
(patch_incomplete_class_ref): ...from here.  Pass current_class
to build_dot_class_method_invocation.
(build_assertion): Pass class_type to
build_dot_class_method_invocation.
(encapsulate_with_try_catch): Handle EXPR_WITH_FILE_LOCATION node.

From-SVN: r73691
2003-11-18 03:57:08 +00:00
Jeff Sturm
a78e4fa764 re PR java/12739 (gcj emits dead bytecode)
Fix PR java/12739.
* java-tree.h (BLOCK_EMPTY_P): Define.
* parse.y (java_complete_lhs): Check for empty blocks
in TRY_FINALLY_EXPR case.

From-SVN: r73690
2003-11-18 03:42:30 +00:00
Andrew Haley
6bbb4ad35e java-tree.h (LOCAL_VAR_OUT_OF_SCOPE_P): New.
2003-09-12  Andrew Haley  <aph@redhat.com>

        * java-tree.h (LOCAL_VAR_OUT_OF_SCOPE_P): New.
        (struct lang_decl_var:freed): New variable.
        * decl.c (poplevel): Mark local vars that have gone out of scope.
        (push_jvm_slot): Don't use the RTL of a var that has gone out of
        scope.

From-SVN: r73675
2003-11-17 17:39:05 +00:00
Jason Merrill
7d60db051a Makefile.in, [...]: Create TAGS.sub files in each directory and TAGS files that include them for...
* Makefile.in, objc/Make-lang.in, ada/Make-lang.in, cp/Make-lang.in,
        java/Make-lang.in, f/Make-lang.in: Create TAGS.sub files in each
        directory and TAGS files that include them for each front end.

From-SVN: r73643
2003-11-16 01:17:21 -05:00
Tom Tromey
45c00e222f * gjavah.c (print_stub_or_jni): Pass `env' to FatalError.
From-SVN: r73642
2003-11-16 04:46:48 +00:00
Jason Merrill
1b2b8ee7a9 re PR rtl-optimization/12547 ([tree-ssa] simple java code with -fcheck-references causes gimplification failed)
PR optimization/12547
        * lang.c (java_tree_inlining_walk_subtrees): Just walk
        BLOCK_EXPR_BODY directly.

From-SVN: r73530
2003-11-12 20:25:24 -05:00
Andrew Haley
0adaa7e4a5 re PR java/11045 (int cast bug)
2003-11-12  Andrew Haley  <aph@redhat.com>

        PR java/11045
        * parse.y (fold_constant_for_init): Check that we really do have a
        constant.

From-SVN: r73497
2003-11-12 17:00:53 +00:00
Andrew Haley
7304c6cfe9 re PR java/11533 (Inlining drops static initialization of inner class)
2003-11-12  Andrew Haley  <aph@redhat.com>

        PR java/11533
        * lang.c (merge_init_test_initialization): Clear DECL_INITIAL for
        init_test_decls being inlined.

        PR java/12890:
        * parse.y (do_resolve_class): Check return value from
        breakdown_qualified().

From-SVN: r73494
2003-11-12 15:24:42 +00:00
Tom Tromey
5b84be7383 re PR java/12915 (Broken String concatenation)
PR java/12915:
	* parse.y (merge_string_cste): Handle case where we have a
	pointer that happens to be zero, not null_pointer_node.

From-SVN: r73461
2003-11-11 20:20:07 +00:00
Tom Tromey
87a9cbf9ae jcf-parse.c (classify_zip_file): Correctly compare filename_length against length of manifest file's name.
* jcf-parse.c (classify_zip_file): Correctly compare
	filename_length against length of manifest file's name.

From-SVN: r73429
2003-11-10 22:13:21 +00:00
Tom Tromey
b9bc36658c re PR libgcj/12894 (META-INF entries should be incoluded as --resource entries when compiling jars)
PR java/12894:
	* jcf-parse.c (classify_zip_file): Only skip MANIFEST.MF file.

From-SVN: r73376
2003-11-08 20:44:04 +00:00
Andrew Haley
4b88687391 expr.c (java_stack_swap): Make sure destination stack slots are of the correct type.
2003-11-06  Andrew Haley  <aph@redhat.com>

        * expr.c (java_stack_swap): Make sure destination stack slots are
        of the correct type.

From-SVN: r73306
2003-11-06 15:19:49 +00:00
Kelley Cook
6306934273 Makefile.in (cpp.dvi): New target split from cpp.info.
2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>

	* Makefile.in (cpp.dvi): New target split from cpp.info.
	(gcc.dvi):  New target split from gcc.info.
	(gccint.dvi): New target split from gccint.info.
	(cppinternals.dvi): New target split from cppinternals.info
	(gccinstall.info): New specific rule.
	(gccinstall.dvi): Likewise.
	(dvi): Move targets to $(docobjdir).
	($(docobjdir)/%.dvi): New implicit rule.

ada/
2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>

	* Make-lang.in (dvi): Move targets to $(docobjdir).
	(gnat_ug_vms.dvi): Simplify rule and adjust target.
	(gnat_ug_wnt.dvi): Likewise.
	(gnat_ug_unx.dvi): Likewise.
	(gnat_ug_vxw.dvi): Likewise.
	(gnat_rm.dvi): Likewise.
	(gnat-style.dvi): Likewise.

f/
2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>

	* Make-lang.in (dvi): Move targets to $(docobjdir).
	(g77.dvi): Simplify rule.
	(g77.info): Sinplify rule.
	(g77.1): Delete.
	(g77.pod): New intermediate rule.

java/
2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>

	* Make-lang.in (dvi): Move targets to $(docobjdir).
	(gcj.dvi): Simplify rule and adjust target.
	(gcj.info): Simplify rule.
	(gcj.pod): New intermediate rule.
	(gcjh.pod): Likewise.
	(jv-scan.pod): Likewise.
	(jcf-dump.pod): Likewise.
	(gij.pod): Likewise.
	(jv-convert.pod): Likewise.
	(rmic.pod): Likewise.
	(rmiregistry.pod): Likewise.
	(gcj.1): Delete.
	(gcjh.1): Delete.
	(jv-scan.1): Delete.
	(jcf-dump.1): Delete.
	(gij.1): Delete.
	(jv-convert.1): Delete.
	(rmic.1): Delete.
	(rmiregistry.1): Delete.

treelang/
2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>

	* Make-lang.in (dvi): Move targets to $(docobjdir).
	(treelang.dvi): Simplify rule and adjust target.
	(treelang.info): Simplify rule.
	(parse.o): Correct dependencies.
	(TREE_EXE): Delete doubled suffix append.

From-SVN: r73238
2003-11-04 00:25:49 +00:00
Jeff Sturm
9bcdf7352c re PR java/12866 (gcj checks `throws' clause on artificial method)
Fixes PR java/12866.
* parse.y (resolve_qualified_expression_name): Move test
for outer field access methods from here...
(check_thrown_exceptions) ...to here.

From-SVN: r73210
2003-11-03 03:58:50 +00:00
Kelley Cook
d6665c3332 cvsignore: Remove c-parse.* and tradcif.c
* .cvsignore: Remove c-parse.* and tradcif.c
	* objc/.cvsignore: Delete.
	* java/.cvsignore: Delete.

From-SVN: r73186
2003-11-02 00:08:12 +00:00
Frank Ch. Eigler
ab212c2475 * approved by aph
2003-10-28  Frank Ch. Eigler  <fche@redhat.com>

	* verify.c (verify_jvm_instructions): Don't warn about legal
	eh binding regions generated for example by jdk 1.4.1.

From-SVN: r73012
2003-10-28 18:38:07 +00:00
Andrew Haley
e194201cb6 Correct misapplied patch.
From-SVN: r72891
2003-10-24 12:13:18 +00:00
David S. Miller
7b8af2b5de jcf-parse.c (jcf_parse): Fix args to fatal_error().
2003-10-24  David S. Miller  <davem@redhat.com>

	* jcf-parse.c (jcf_parse): Fix args to fatal_error().

From-SVN: r72890
2003-10-24 05:06:32 -07:00
Andrew Haley
904715853c lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): New.
2003-10-22  Andrew Haley  <aph@redhat.com>

        * lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): New.
        (java_get_callee_fndecl): New.

        * jcf-parse.c (java_parse_file): Call emit_catch_table().

        * java-tree.h (ctable_decl): New.
        (catch_classes):  New.
        (java_tree_index): Add JTI_CTABLE_DECL, JTI_CATCH_CLASSES.

        * decl.c (java_init_decl_processing): Add catch_class_type.
        Add ctable_decl.
        Add catch_classes field.

        * class.c (build_indirect_class_ref): Break out from
        build_class_ref.
        (make_field_value): Check flag_indirect_dispatch.
        (make_class_data): Ditto.
        Tidy uses of PUSH_FIELD_VALUE.
        Add field catch_classes.
        (make_catch_class_record): New.

        * java-tree.h (PUSH_FIELD_VALUE): Tidy.

2003-10-22  Andrew Haley  <aph@redhat.com>

        * java/lang/natClass.cc (initializeClass): Call
        _Jv_linkExceptionClassTable.
        (_Jv_LinkSymbolTable): Call )_Jv_ThrowNoSuchMethodError.  Call
        _Jv_Defer_Resolution on a method whose ncode is NULL.
        (_Jv_linkExceptionClassTable): New function.
        (_Jv_LayoutVTableMethods): If superclass looks like a constant pool
        entry, look it up.
        * java/lang/Class.h (struct _Jv_CatchClass): New.
        (_Jv_linkExceptionClassTable): New friend.
        (_Jv_Defer_Resolution): New friend.
        (class Class.catch_classes): New field.
        * include/java-interp.h (Jv_Defer_Resolution): New method.
        (_Jv_PrepareClass): Make a friend of _Jv_MethodBase.
        (_Jv_MethodBase.deferred): New field.
        (_Jv_Defer_Resolution): New function.
        * resolve.cc (_Jv_PrepareClass): Resolve deferred handlers.
        * exception.cc (get_ttype_entry): Change return type to void**.
        (PERSONALITY_FUNCTION): Remove all code related to using a
        Utf8Const* for a match type.  Change match type to be a pointer to
        a pointer, rather than a pointer to a Class.
        * defineclass.cc (handleCodeAttribute): Initialize
        method->deferred.
        (handleMethodsEnd): Likewise.

From-SVN: r72886
2003-10-24 09:29:43 +00:00
Kazu Hirata
ed2f11fa59 jcf-write.c: Follow spelling conventions.
* jcf-write.c: Follow spelling conventions.
	* parse.y: Likewise.

From-SVN: r72812
2003-10-22 18:06:38 +00:00
Kazu Hirata
67264b4fe2 ChangeLog: Fix typos.
* ChangeLog: Fix typos.
	* expr.c: Fix comment typos.
	* jcf-write.c: Likewise.
	* lang.c: Likewise.
	* lex.c: Likewise.
	* mangle.c: Likewise.
	* parse-scan.y: Likewise.
	* parse.y: Likewise.

From-SVN: r72809
2003-10-22 18:00:06 +00:00
Tom Tromey
36ae3d8e59 expr.c (expand_byte_code): Only warn about dead bytecode when extra_warnings is set.
* expr.c (expand_byte_code): Only warn about dead bytecode when
	extra_warnings is set.

From-SVN: r72805
2003-10-22 15:44:52 +00:00
Bryce McKinlay
ed2506a4dc re PR java/12586 (gnu.java.net name mangling bug)
Fix for PR java/12586.
        * mangle.c (find_compression_record_match): Don't iterate through
        package namespace elements unless they all match compression_table
        entries.

From-SVN: r72779
2003-10-22 00:59:46 +01:00
Kelley Cook
036a75ac29 Make-lang.in (info): Honor $(parsedir) and $(docobjdir).
2003-10-20  Kelley Cook  <kcook@gcc.gnu.org>

	* Make-lang.in (info): Honor $(parsedir) and $(docobjdir).
	(generate-manpages): Likewise.
	(java.maintainer-clean): Likewise.
	(gcj.info): Likewise.
	(gcj.1): Likewise.
	(gcjh.1): Likewise.
	(jv-scan.1): Likewise.
	(jcf-dump.1): Likewise.
	(gij.1): Likewise.
	(jv-convert.1): Likewise.
	(rmic.1): Likewise.
	(rmiregistry.1): Likewise.
	(java.install-man): Likewise.
	(parse-scan.o): Move and define complete compile line.
	(parse.o): Likewise.
	(jcf-tree-inline.o): Move.

From-SVN: r72739
2003-10-21 02:25:17 +00:00
Mark Mitchell
97ae108d14 Makefile.in (install-info): Simplify.
* Makefile.in (install-info): Simplify.
	($(DESTDIR)$(infodir)/%.info): New rule.
	* configure.in (target_list): Remove install-info.
	* doc/.cvsignore (gcc.info*): Remove.
	(gccint.info*): Likewise.
	(gccinstall.info*): Likewise.
	(cpp.info*): Likewise.
	(cppinternals.info*): Likewise.
	(*.info*): Add it.
	* doc/sourcebuild.texi: Update description of install-info.
	* objc/Make-lang.in (objc.install-info): Remove.

2003-10-20  Mark Mitchell  <mark@codesourcery.com>

	* Make-lang.in (ada.install-info): Remove target.
	(info): New target.
	(install-info): Likewise.
	(gnat_ug_unx.info): Simplify rule.
	(gnat_ug_vmx.info): Likewise.
	(gnat_ug_vxw.info): Likewise.
	(gnat_ug_wnt.info): Likewise.
	(gnat_rm.info): Likewise.
	(gnat-style.info): Likewise.

2003-10-20  Mark Mitchell  <mark@codesourcery.com>

	* Make-lang.in (c++.install-info): Remove.

Mon Oct 20 13:49:43 2003  Mark Mitchell  <mark@codesourcery.com>

	* Make-lang.in (.PHONY): Remove f77.info, f77.install-info.
	(info): Update dependencies.
	($(srcdir)/f/g77.info): Replace with ...
	($(docobjdir)/g77.info): ... this.
	(f77.install-info): Remove.
	(install-info): New target.

2003-10-20  Mark Mitchell  <mark@codesourcery.com>

	* Make-lang.in (info): Update dependencies.
	(java.install-info): Remove.
	($(srcdir)/java/gcj.info): Replace with ...
	($(docobjdir)/gcj.info): ... this.

2003-10-20  Mark Mitchell  <mark@codesourcery.com>

	* Make-lang.in (info): Use docobjdir.
	($(srcdir)/treelang/treelang.info): Replace with ...
	($(docobjdir)/treelang/treelang.info): ... this.
	(install-info): New target.

From-SVN: r72718
2003-10-20 20:58:26 +00:00
Nathanael Nerode
43aba51835 config.gcc, [...]: Replace uses of target_alias with target_noncanonical.
gcc:
	* config.gcc, config/m68hc11/t-m68hc11-gas: Replace uses of
	target_alias with target_noncanonical.

ada:
	* Make-lang.in: Replace uses of $(target_alias) with
	$(target_noncanonical).
	* ada/Makefile.in: Remove unused mention of $(target_alias).

cp:
	* Make-lang.in: Replace uses of $(target_alias) with
	$(target_noncanonical).

java:
	* Make-lang.in: Replace uses of $(target_alias) with
	$(target_noncanonical).

From-SVN: r72487
2003-10-14 19:07:21 +00:00
Tom Tromey
ae125b177e decl.c (java_init_decl_processing): Declare signers field.
* decl.c (java_init_decl_processing): Declare signers field.
	* class.c (make_class_data): Set signers field.

From-SVN: r72270
2003-10-09 16:21:56 +00:00
Jason Merrill
1456deafd7 stmt.c (resolve_asm_operand_names): Call check_unique_operand_names here.
* stmt.c (resolve_asm_operand_names): Call check_unique_operand_names
        here.
        (expand_asm_operands): Not here.
        (parse_input_constraint): No longer static.
        * tree.h: Declare it.

        * coverage.c (build_ctr_info_value): Use build_decl to make a
        VAR_DECL.
        (create_coverage): Likewise.
java/
        * parse.y (patch_assignment): Use make_node to create a BLOCK.
        * parse.h (BUILD_PTR_FROM_NAME): Use make_node to create a
        POINTER_TYPE.
cp/
        * tree.c (build_cplus_new): Use build_decl to create a VAR_DECL.
        (build_target_expr_with_type): Likewise.

        * pt.c (instantiate_class_template): Sanity check that our
        enclosing class has been instantiated.

From-SVN: r72255
2003-10-09 01:44:57 -04:00
Mark Mitchell
62b81e4524 re PR bootstrap/12512 (Pattern rule for %.dvi breaks make dvi in objc)
PR bootstrap/12512
	* Makefile.in (info): Use double-colon rules.
	(dvi): Likewise.
	(generated-manpages): Likewise.
	* configure.in: Do not create lang.info, lang.dvi, or
	lang.generated-manpages hooks.
	* configure: Regenerated.
	* objc/Make-lang.in (objc.info): Remove.
	(objc.dvi): Remove.
	(objc.generated-manpages): Remove.
	* doc/sourcebuild.texi: Update description of info, dvi, and
	generated-manpages hooks.

	* Make-lang.in (ada.info): Replace with ...
	(info): ... this.
	(ada.dvi): Replace with ...
	(dvi): ... this.

	* Make-lang.in (c++.info): Remove.
	(c++.dvi): Remove.
	(c++.generated-manpages): Replace with ...
	(generated-manpages): ... this.

	* Make-lang.in (f77.info): Replace with ...
	(info): ... this.
	(f77.dvi): Replace with ...
	(dvi): ... this.
	(f77.generated-manpages): Replace with ...
	(generated-manpages): ... this.

	* Make-lang.in (java.info): Replace with ...
	(info): ... this.
	(java.dvi): Replace with ...
	(dvi): ... this.
	(java.generated-manpages): Replace with ...

	* Make-lang.in (treelang.info): Replace with ...
	(info): ... this.
	* Make-lang.in (treelang.dvi): Replace with ...
	(dvi): ... this.

From-SVN: r72135
2003-10-06 07:56:16 +00:00
Kelley Cook
35222de242 * builtins.c, jcf.h, jvspec.c: Remove PARAMS macros.
From-SVN: r72107
2003-10-05 02:52:33 +00:00
Andrew Haley
ec00bfc03c Added a missing ChangeLog Entry:
2003-08-20  Andrew Haley  <aph@redhat.com>

        * except.c (prepare_eh_table_type): Use new encoding for exception
        handlers when using -fno-assume-compiled.

From-SVN: r72068
2003-10-03 10:04:40 +00:00
Andrew Haley
9dfc2ec225 jcf-parse.c (java_parse_file): Write otable and atable.
2003-10-01  Andrew Haley  <aph@redhat.com>

        * jcf-parse.c (java_parse_file): Write otable and atable.
        * java-tree.h (atable_methods): New.
        (atable_decl): New.
        (atable_syms_decl): New.
        (enum java_tree_index): Add JTI_ATABLE_METHODS, JTI_ATABLE_DECL,
        JTI_ATABLE_SYMS_DECL.  Rename JTI_METHOD_SYMBOL* to JTI_SYMBOL*.
        (symbol_*type): Rename method_symbol* to symbol*type.
        (emit_offset_symbol_table): Delete.
        (emit_symbol_table): New.
        (get_symbol_table_index): New.
        (atable_type): New.
        * expr.c (build_field_ref): Handle flag_indirect_dispatch.
        (build_known_method_ref): Likewise.
        (get_symbol_table_index): Rename from get_offset_table_index.
        Parameterize to allow re-use by differing types of symbol table.
        (build_invokevirtual): Pass table to get_offset_table_index.
        * decl.c (java_init_decl_processing): Push types and decls for
        atable and atable_syyms.
        * class.c (build_static_field_ref): Handle flag_indirect_dispatch.
        (make_class_data): Add new fields atable and atable_syms.
        (emit_symbol_table): Rename from emit_offset_symbol_table.
        Parameterize to allow re-use by different types of symbol table.
        (build_symbol_entry): Renamed from build_method_symbols_entry.

2003-10-01  Andrew Haley  <aph@redhat.com>

        * java/lang/natClass.cc (initializeClass): Check for otable and
        atable.
        (_Jv_LinkOffsetTable): Check for existence of atable.  Rewrite
        loops using for().  Search superinterfaces.  Check for fields as
        well as methods.  Initialize atable as well as otable: check for
        static methods as well as virtual methods.
        * java/lang/Class.h (struct _Jv_AddressTable): New.
        (atable): New.
        (atable_syms): New.
        * include/jvm.h (_Jv_equalUtf8Consts): constify.
        * prims.cc (_Jv_equalUtf8Consts): constify.

From-SVN: r71979
2003-10-01 16:22:13 +00:00
Roger Sayle
d186e676b6 jcf-write.c (generate_bytecode_insns): Implement evaluate-once semantics for SAVE_EXPR...
* jcf-write.c (generate_bytecode_insns): Implement evaluate-once
	semantics for SAVE_EXPR, by caching the result in a temporary.

From-SVN: r71949
2003-09-30 18:24:33 +00:00
Richard Henderson
436fac170a c-decl.c (duplicate_decls): Copy DECL_SOURCE_LOCATION, not file and line separately.
* c-decl.c (duplicate_decls): Copy DECL_SOURCE_LOCATION, not
        file and line separately.

f/
        * com.c (duplicate_decls): Copy DECL_SOURCE_LOCATION, not
        file and line separately.
java/
        * check-init.c (check_init): Save and restore input_location
        instead of file and line separately.
        * decl.c (java_expand_body): Likewise.
        * jcf-write.c (generate_bytecode_insns): Likewise.
        * parse.y (safe_layout_class): Likewise.
        * jcf-parse.c (read_class, parse_class_file): Likewise.
        (java_parse_file): Use %H for warning locator.

From-SVN: r71886
2003-09-28 15:18:33 -07:00
Roger Sayle
37e2180d7a expr.c (java_check_reference): Use the semantics of COND_EXPRs with void-type branches instead of using a...
* expr.c (java_check_reference): Use the semantics of COND_EXPRs
	with void-type branches instead of using a COMPOUND_EXPR.

From-SVN: r71883
2003-09-28 15:07:05 +00:00
Jeff Sturm
9220b1baed decl.c (java_optimize_inline, [...]): Remove.
* decl.c (java_optimize_inline, dump_function): Remove.
* java-tree.h (java_optimize_inline): Remove declaration.
* jcf-parse.c (java_parse_file): Assume flag_unit_at_a_time is set.
* parse.y (source_end_java_method, java_expand_classes):
Likewise.  Remove dead code.

From-SVN: r71882
2003-09-28 13:23:12 +00:00
Roger Sayle
c67e6e1492 toplev.c (flag_evaluation_order): New global variable.
* toplev.c (flag_evaluation_order): New global variable.
	* flags.h (flag_evaluation_order): Prototype here.
	* expr.c (expand_operands): If we need to preserve observable
	evaluation order, protect exp1 from clobbering exp0's result.

	* java/lang.c (java_init_options): Set flag_evaluation_order.
	* java/expr.c (force_evaluation_order): Don't attempt to force
	evaluation order of binary operations using save_expr.
	* java/parse.y (java_complete_lhs): No longer need to call
	force_evaluation_order when constructing binary operators.

From-SVN: r71873
2003-09-28 04:56:35 +00:00
Alexandre Petit-Bianco
cd11bdcc47 re PR java/1333 (private field access modifier not implemented correctly)
2003-09-27  Alexandre Petit-Bianco  <apbianco@redhat.com>
	    Bryce McKinlay  <bryce@mckinlay.net.nz>

	PR java/1333:
	* parse.y (not_accessible_field_error): New function.
	(resolve_expression_name): Check field access permissions.
	(resolve_qualified_expression_name): Use
	not_accessible_field_error.
	(resolve_qualified_expression_name): Likewise.

Co-Authored-By: Bryce McKinlay <bryce@mckinlay.net.nz>

From-SVN: r71862
2003-09-27 20:17:21 +00:00
Rainer Orth
eb9ec0d45d * class.c (build_utf8_ref): Test for HAVE_GAS_SHF_MERGE value.
From-SVN: r71733
2003-09-24 13:07:25 +00:00
Roger Sayle
87750fef00 jcf-write.c (generate_bytecode_insns): Optimize binary operations with equal operands without side-effects.
* jcf-write.c (generate_bytecode_insns): Optimize binary operations
	with equal operands without side-effects.

From-SVN: r71684
2003-09-23 15:49:53 +00:00
Jeff Sturm
92f6e62532 decl.c (java_init_decl_processing): Don't emit otable decls if flag_indirect_dispatch is not set.
* decl.c (java_init_decl_processing): Don't emit otable decls
if flag_indirect_dispatch is not set.

From-SVN: r71674
2003-09-23 03:05:30 +00:00
Richard Henderson
f31686a322 Revert DECL_SOURCE_LOCATION -> TREE_LOCUS change.
From-SVN: r71641
2003-09-21 22:09:32 -07:00