Commit Graph

626 Commits

Author SHA1 Message Date
Anthony Green
458530ee83 check-init.c (check_init): Add case for BIT_FIELD_REF (required for -pg builds).
* check-init.c (check_init): Add case for BIT_FIELD_REF (required
	for -pg builds).

From-SVN: r35661
2000-08-13 16:48:54 +00:00
Alexandre Petit-Bianco
34d4df0620 class.c (maybe_layout_super_class): Fixed indentation.
2000-08-10  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * class.c (maybe_layout_super_class): Fixed indentation.
        * java-tree.h (CLASS_METHOD_CHECKED_P): New macro.
        (java_check_methods): New function declaration.
        * jcf-parse.c (get_constant): Let `char_len' go up to 3. Use `str'
        instead of `str_ptr'.
        * jcf-write.c (generate_bytecode_insns): Emit number the of args
        of a `invokeinterface' at the right time.
        * parse.h (WFL_STRIP_BRACKET): New macro.
        (SET_TYPE_FOR_RESOLUTION): Use it.
        * parse.y (build_unresolved_array_type): Reuse `type_or_wfl.'
        (check_class_interface_creation): Don't check for cross package
        innerclass name clashes.
        (method_header): Behave properly if MDECL is `error_mark_node.'
        (method_declarator): Return `error_mark_node' if bogus current
        class.
        (resolve_class): Apply WFL_STRIP_BRACKET on `cl' if necessary.
        (resolve_and_layout): New local `decl_type', set and used. Call
        java_check_methods.
        (java_check_methods): New method.
        (java_layout_classes): Use it.
        (resolve_qualified_expression_name): No EH check necessary in
        access$<n>.
        (java_complete_lhs): Use VAR_DECL's DECL_INITIAL when evaluating
        `case' statement.
        (patch_assignment): Set DECL_INITIAL on integral final local.

(http://gcc.gnu.org/ml/gcc-patches/2000-08/msg00516.html)

From-SVN: r35644
2000-08-11 15:01:37 -07:00
Alexandre Petit-Bianco
f0f3a77740 2000-08-07 Alexandre Petit-Bianco <apbianco@cygnus.com
* parse.y (build_dot_class_method_invocation): Changed parameter
	name to `type.' Build signature from `type' and convert it to a
	STRING_CST if it's an array.
	(patch_incomplete_class_ref): `build_dot_class_method_invocation'
	to use `ref_type' directly.

2000-08-01  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* parse.y (maybe_yank_clinit): When generating bytecode: non empty
	method bodies not to rule out discarding `<clinit>'; don't use
	<clinit> to initialize static fields with constant initializers.

2000-08-01  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* gjavah.c (print_method_info): Added `synth' parameter. Skip
	synthetic methods.
	(method_synthetic): New global.
	(HANDLE_METHOD): Recognize synthetic method and tell
	`print_method_info' about it.
	(HANDLE_END_METHOD): Do not issue an additional `;\n' if we're
	processing a synthetic method.
	* jcf-reader.c (skip_attribute): New function.
	( skip_attribute): Likewise.

2000-08-01  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* parse.y (build_outer_field_access): Fixed comments.
	(fix_constructors): Emit the initialization of this$<n> before
	calling $finit$.
	(resolve_qualified_expression_name): Build an access to `decl' if
	necessary.

2000-07-31  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* parse-scan.y (curent_class): Non longer const.
	(inner_qualifier, inner_qualifier_length): Deleted.
	(current_class_length): New global.
	(bracket_count): Fixed typo in leading comment.
	(anonymous_count): New global.
	(class_instance_creation_expression:): Handle anonymous classes.
	(anonymous_class_creation:): New rule.
	(push_class_context): Rewritten.
	(pop_class_context): Likewise.
	(INNER_QUALIFIER): Macro deleted.
	(report_class_declaration): call `push_class_context' when
	entering the function. `fprintf' format modified not to use
	INNER_QUALIFIER.
	(report_class_declaration): Assign `package_name' and
	`current_class' to NULL separatly.

2000-07-31  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* expr.c (build_invokeinterface): Call layout_class_methods on
	target interface.

(http://gcc.gnu.org/ml/gcc-patches/2000-08/msg00339.html)

From-SVN: r35560
2000-08-07 20:33:36 -07:00
Ovidiu Predescu
64c04091c9 lang-options.h...
lang-options.h: Added a comma after the last element to avoid syntax
errors when other languages define additional options.

From-SVN: r35515
2000-08-06 07:49:11 +00:00
Ovidiu Predescu
6389a767b8 Added a comma after the last element to avoid syntax errors when other
languages define additional options.

From-SVN: r35514
2000-08-06 07:47:20 +00:00
Zack Weinberg
a36556a837 [multiple changes]
2000-08-04  Andreas Schwab  <schwab@suse.de>

	* cppmain.c (cb_def_pragma): Skip the first two tokens from the
	token list, which are always `#' and `pragma'.

2000-08-04  Zack Weinberg  <zack@wolery.cumb.org>

	* tree.c (tree_expr_nonnegative_p): Move to...
	* fold-const.c: ... here.  Also handle BIND_EXPR and RTL_EXPR.
	(rtl_expr_nonnegative_p): New.
	* tree.h: Add prototype for rtl_expr_nonnegative_p.

	* real.h (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH, CONST_DOUBLE_MEM,
	CONST_DOUBLE_CHAIN: Move to...
	* rtl.h: ...here.  Use XCINT/XCEXP.

	* Makefile.in: Remove toplev.o from OBJS.  Add rule to make
	libbackend.a; add libbackend.a to STAGESTUFF.  Add BACKEND
	variable.  Use BACKEND when linking cc1, not OBJS.  Add BACKEND
	to VOL_FILES.

	* objc/Make-lang.in (cc1obj): Link with $(BACKEND).

ch:
	* Make-lang.in (cc1chill): Depend on $(BACKEND), not stamp-objlist.
	* Makefile.in (cc1chill): Link with $(BACKEND).  Define BACKEND,
	eliminate C_OBJS (was commented out), OBJS, OBJDEPS.
cp:
        * Make-lang.in (cc1plus): Depend on $(BACKEND), not stamp-objlist.
        * Makefile.in: Add C_OBJS, BACKEND; delete OBJS, OBJDEPS.
        (cc1plus): Link with $(BACKEND) and $(C_OBJS).
f:
	* Make-lang.in (f771): Depend on $(BACKEND), not stamp-objlist.
	* Makefile.in: Add BACKEND; delete OBJS, OBJDEPS.
	(f771): Link with $(BACKEND).
java:
	* Make-lang.in (jc1, jv-scan): Depend on $(BACKEND), not stamp-objlist.
	* Makefile.in: Add BACKEND; delete OBJS, OBJDEPS.
	(jc1): Link with $(BACKEND).
	(jv-scan): Depend on version.o, not all of $(OBJS) or $(BACKEND).

From-SVN: r35501
2000-08-05 00:50:02 +00:00
Zack Weinberg
37620334d9 gcc.h (lang_specific_driver): Constify second argument.
* gcc.h (lang_specific_driver): Constify second argument.
	* gcc.c (translate_options, process_command, main): Likewise.
	Constify variables to match.  Cast second argument to
	pexecute.

	* cppspec.c, gccspec.c, g++spec.c, g77spec.c, jvspec.c: Adjust
	type of second argument to lang_specific_driver, and update
	code as necessary.

From-SVN: r35433
2000-08-02 20:21:27 +00:00
Zack Weinberg
50e60bc3d7 c-common.h: Prototype min_precision and c_build_qualified_type here...
* c-common.h: Prototype min_precision and c_build_qualified_type here...
	* c-tree.h: ... not here.
	* errors.h: Prototype fancy_abort.

	* emit-rtl.c (gen_lowpart_common): Move variable 'c' into
	HOST_BITS_PER_WIDE_INT == 64 ifdef block.
	* regrename.c (regrename_optimize): Make control flow explicit.
	(replace_reg_in_block): Initialize reg_use to 0.

	* i386.c (legitimate_address_p): Rename error label to
	report_error to avoid namespace clash.

cp:
	* cp-tree.h: Don't prototype min_precision here.
	(my_friendly_assert): Cast expression to void.
	* semantics.c (do_poplevel): Initialize scope_stmts.

f:
	* expr.c (ffeexpr_finished_): Cast signed side of ?:
	expression to bool.

java:
	* class.c (build_dtable_decl): Initialize dummy.

intl:
	* dcgettext.c (find_msg): Initialize act before loop.
	(guess_category_value): Add dummy uses of both parameters.
	* localealias.c (read_alias_file): Cast arg of strchr to char *.

From-SVN: r35427
2000-08-02 17:01:13 +00:00
Tom Tromey
13107ec07c class.c (make_class_data): Create vtable for abstract classes.
2000-07-27  Tom Tromey  <tromey@cygnus.com>
            Anthony Green  <green@cygnus.com>
	    Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* class.c (make_class_data): Create vtable for abstract classes.
	(get_dispatch_table): Changed to cope with abstract classes.

Co-Authored-By: Alexandre Petit-Bianco <apbianco@cygnus.com>
Co-Authored-By: Anthony Green <green@cygnus.com>

From-SVN: r35313
2000-07-28 06:57:31 +00:00
Alexandre Petit-Bianco
da632f2c93 [multiple changes]
2000-07-27  Tom Tromey  <tromey@cygnus.com>

        * parse.y (patch_method_invocation): Don't reverse the argument
        list when dealing with anonymous class constructors. Fixed typo in
        comment.

2000-07-27  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * parse.y (build_alias_initializer_parameter_list): Reverse
        crafted list when building aliases for anonymous class
        constructors.

(http://gcc.gnu.org/ml/gcc-patches/2000-07/msg01146.html)

From-SVN: r35303
2000-07-27 17:30:19 -07:00
Alexandre Petit-Bianco
1e12ab9b73 [multiple changes]
2000-07-25  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * parse.y (jdep_resolve_class): Don't bother checking potential
        innerclass access if `decl' is NULL.
        (find_in_imports_on_demand): TREE_PURPOSE of `import' contains the
        WFL.

2000-07-24  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * parse.y (find_as_inner_class): Removed 2000-07-19 patches.
        * jcf-parse.c (HANDLE_INNERCLASSES_ATTRIBUTE): Local `decl' moved
        outside the `if' statement, alias to innerclass removed, `decl'
        used to mark the class complete.

From-SVN: r35287
2000-07-27 04:13:51 -07:00
Alexandre Petit-Bianco
4c31fe99c3 parse.c: Remove (again.)
2000-07-25  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* parse.c: Remove (again.)

From-SVN: r35244
2000-07-25 08:37:17 -07:00
Alexandre Petit-Bianco
f4530f43e7 parse.y (simple_name:): Fixed typo in error message.
2000-07-21  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * parse.y (simple_name:): Fixed typo in error message.

(http://gcc.gnu.org/ml/gcc-patches/2000-07/msg00881.html)

From-SVN: r35186
2000-07-21 21:36:13 -07:00
Alexandre Petit-Bianco
4142b24701 parse.y (simple_name:): Reject `$' in type names.
2000-07-19  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * parse.y (simple_name:): Reject `$' in type names.
	(resolve_type_during_patch): Use `type' as a second
	argument to resolve_no_layout. Fixes gcj/257.

(Fixes gcj/257: http://gcc.gnu.org/ml/gcc-patches/2000-07/msg00869.html)

From-SVN: r35182
2000-07-21 17:50:14 -07:00
Alexandre Petit-Bianco
e7c7bcef4e [multiple changes]
2000-07-21  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* parse.y (java_complete_lhs): LOOP_EXPR:, SWITCH_EXPR: the node
	or its first operand can be error marks.

2000-07-20  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* parse.h (SET_TYPE_FOR_RESOLUTION): Use GET_CPC.
	* parse.y (method_header): Likewise.

2000-07-19  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* parse.y (find_as_inner_class): Handle the case where the
	enclosing context of an innerclass has been loaded as bytecode.

(Side gcj/225 bug fix and some cleanup:
 http://gcc.gnu.org/ml/gcc-patches/2000-07/msg00832.html)

From-SVN: r35176
2000-07-21 11:11:52 -07:00
Alexandre Petit-Bianco
11b26d723e ChangeLog to fixes to gcj/242, gcj/249, gcj/239, gcj/225 and gcj/256:
http://gcc.gnu.org/ml/gcc-patches/2000-07/msg00801.html

From-SVN: r35159
2000-07-20 17:14:35 -07:00
Alexandre Petit-Bianco
4dbf449657 [multiple changes]
2000-07-13  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* parse.y (patch_method_invocation): Fixed comment.
	(maybe_use_access_method): Build this$<n>s to the context of the
	target method, or a type that extends it. Fixes gcj/242.

2000-07-13  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* parse.y (not_accessible_p): Access granted to innerclasses
	(indirectly) extending the reference type. Fixes gcj/249.

2000-07-10  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* parse.y (resolve_qualified_expression_name): Verify qualified
	access to `this.' Fixes gcj/239.

2000-07-10  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* class.c (set_super_info): Handled protected inner classes.
	(common_enclosing_context_p): Bail early if arguments aren't both
	inner classes.
	(get_access_flags_from_decl): Handle private and protected inner
	classes.
	* java-tree.h (TYPE_PROTECTED_INNER_CLASS): New macro.
	(CLASS_PROTECTED): Likewise.
	(struct lang_type): New bitfield `poic.'
	* parse.y (jdep_resolve_class): Call check_inner_class_access on
	inner classes only.
	(check_inner_class_access): Renamed arguments, added
	comments. Handles protected inner classes (fixes gcj/225)
	(not_accessible_p): Fixed comments. Avoid handling inner classes.

2000-07-07  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* parse.y (resolve_qualified_expression_name): Handle inner class
	access. Fixes gcj/256.

(Fixes gcj/242, gcj/249, gcj/239, gcj/225 and gcj/256:
 http://gcc.gnu.org/ml/gcc-patches/2000-07/msg00801.html)

From-SVN: r35156
2000-07-20 17:01:43 -07:00
Jeff Sturm
ca2875c40b lang-specs.h: Added %(jc1) to java compiler options.
2000-07-18  Jeff Sturm  <jeff.sturm@appnet.com>

	* lang-specs.h: Added %(jc1) to java compiler options.

From-SVN: r35130
2000-07-19 12:59:13 +00:00
Zack Weinberg
bfbbc0807a top level:
* .cvsignore: Correct typo.
cp:
	* .cvsignore: parse.h and parse.c have no cp- prefix.
java:
	* .cvsignore: New file.

From-SVN: r35031
2000-07-14 07:13:19 +00:00
Mark Mitchell
649c914299 * parse.c: Remove.
From-SVN: r35029
2000-07-14 06:37:40 +00:00
Alexandre Petit-Bianco
ee97d3542d parse.y (fold_constant_for_init): Avoid bullish conversion.
2000-07-13  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* parse.y (fold_constant_for_init): Avoid bullish conversion.

(http://gcc.gnu.org/ml/gcc-patches/2000-07/msg00506.html)

From-SVN: r35022
2000-07-13 12:27:49 -07:00
Tom Tromey
185ce11b15 Reverting incorrectly applied change
From-SVN: r35021
2000-07-13 19:23:57 +00:00
Tom Tromey
44fadf1e3a * lang-specs.h: Added %{I*}.
From-SVN: r35018
2000-07-13 18:25:37 +00:00
Zack Weinberg
ea414c9749 gcc.c (do_spec_1): Add new %B operator.
* gcc.c (do_spec_1): Add new %B operator.
	(set_input): Prepare for %B.

	(link_command_spec): Move up with the other tm.h-
	overrideable specs.  Factor out the portion conditional on
	LINK_LIBGCC_SPECIAL into a new spec, %(link_libgcc).
	(struct compiler): Just have a single spec string.  All users
	updated.
	(default_compilers): Remove unnecessary braces.
	(static_specs): Update.

	(trad_capable_cpp, cpp_options, cc1_options, asm_options): New
	named specs.
	(C and assembly specs): Use the new named specs, as appropriate.

	* objc/lang-specs.h, ch/lang-specs.h, cp/lang-specs.h,
	f/lang-specs.h, java/lang-specs.h: Use the new named specs.
	Remove unnecessary braces.

From-SVN: r35008
2000-07-13 07:14:13 +00:00
Mark Mitchell
792abd35a8 gcc_update (files_and_dependencies): Remove generated YACC files.
* gcc_update (files_and_dependencies): Remove generated YACC files.

	* c-parse.c: Remove.
	* c-parse.h: Likewise.
	* c-parse.y: Likewise.
	* objc/objc-parse.c: Likewise.
	* objc/objc-pasre.y: Likewise.

	* Makefile.in ($(PARSE_H)): Depend directly on parse.y.
	* parse.c: Remove.
	* parse.h: Likewise.

	* parse-scan.c: Remove.

From-SVN: r34982
2000-07-12 07:12:56 +00:00
Alexandre Petit-Bianco
e67eb1a0f5 Fixing a really lame patch. Sorry for the ChangeLog tweaking.)
From-SVN: r34954
2000-07-10 21:00:14 -07:00
Alexandre Petit-Bianco
2f2bd00a8f parse.y (generate_classfile): Exclude null strings.
2000-07-07  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * parse.y (generate_classfile): Exclude null strings.

(http://gcc.gnu.org/ml/gcc-patches/2000-07/msg00233.html)

From-SVN: r34923
2000-07-07 23:23:02 -07:00
Alexandre Petit-Bianco
629d4b4db8 jcf-write.c (generate_classfile): Properly install the ConstantValue attribute and the initial value constant...
2000-07-07  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * jcf-write.c (generate_classfile): Properly install the
        ConstantValue attribute and the initial value constant pool index
        on string constants.
        * parse.y (java_complete_lhs): Keep DECL_INITIAL when emitting
        class files.

(http://gcc.gnu.org/ml/gcc-patches/2000-07/msg00233.html)

From-SVN: r34921
2000-07-07 20:35:20 -07:00
Alexandre Petit-Bianco
0c2b81459e [multiple changes]
2000-07-06  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * parse.h (BUILD_PTR_FROM_NAME): Surround with a do/while
        construct.
        * parse.y (find_as_inner_class): Fixed typo.
        (do_resolve_class): Explore enclosing contexts when searching for
        innerclasses. Removed curly brackets around BUILD_PTR_FROM_NAME.
        (check_inner_class_access): Check `decl' which can be null in case
        of previous errors.

2000-07-05  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * java-tree.h (java_debug_context): Declared `extern.'
        (safe_layout_class): Likewise.
        * parse.y (resolve_field_access): Field must be `static' in order
        to be replaced by its initial value. Added comments.
        (find_applicable_accessible_methods_list): Fixed typo.
        (find_most_specific_methods_list): Methods found in innerclasses
        take over methods founds in the enclosing contexts.
        (java_complete_tree): Loosen restrictions on the type of DECLs
        that can be replaced by their initialization values.
        (valid_ref_assignconv_cast_p): Removed call to `enclosing_context_p.'

(http://gcc.gnu.org/ml/gcc-patches/2000-07/msg00184.html)

From-SVN: r34895
2000-07-06 23:36:14 -07:00
Alexandre Petit-Bianco
98a52c2ccf Java: fixes for the PRs gcj/{271,272,275}.
2000-07-01  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* parse.y (parser_qualified_classname): Removed parameter
	`is_static'.
	(create_interface): Removed first passed parameter to
	parser_qualified_classname.
	(create_class): Likewise. Don't install alias on static
	innerclasses. Fixes gcj/275.

2000-07-01  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* parse.y (maybe_generate_pre_expand_clinit): Don't build a
	debugable statement with empty_stmt_node. Fixes gcj/272

2000-07-01  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* expr.c (build_instanceof): Layout type after it's loaded. Fixes
	gcj/271.

(Fix to the PR gcj/271, gcj/272 and gcj/275:
 http://sourceware.cygnus.com/ml/java-prs/2000-q3/msg00000.html
 http://sourceware.cygnus.com/ml/java-prs/2000-q3/msg00002.html
 http://sourceware.cygnus.com/ml/java-prs/2000-q3/msg00001.html )

From-SVN: r34894
2000-07-06 17:49:36 -07:00
Tom Tromey
0267da6437 Make-lang.in (PARSE_DIR): New macro.
* Make-lang.in (PARSE_DIR): New macro.
	(PARSE_RELDIR): Likewise.
	(PARSE_C): Likewise.
	(PARSE_SCAN_C): Likewise.
	($(PARSE_C)): New target.
	($(PARSE_SCAN_C)): Likewise.
	(SET_BISON): New macro.
	(BISONFLAGS): Likewise.
	(JAVABISONFLAGS): Likewise.

From-SVN: r34876
2000-07-05 20:52:37 +00:00
Bryce McKinlay
1bbee75bcc gjavah.c (HANDLE_METHOD): Call print_method_info with a NULL stream argument on the first pass for CNI as...
* gjavah.c (HANDLE_METHOD): Call print_method_info with a NULL
	stream argument on the first pass for CNI as well as JNI.
        (print_method_info): Set up method name on the first pass only.

From-SVN: r34869
2000-07-05 02:13:03 +01:00
Alexandre Petit-Bianco
c1c8f8cc4f jcf-write.c (push_long_const): Appropriately cast short negative constant to jword.
2000-06-29  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * jcf-write.c (push_long_const): Appropriately cast short negative
        constant to jword.

From-SVN: r34802
2000-06-29 20:50:25 -07:00
Alexandre Petit-Bianco
cf1b227457 parse.y (verify_constructor_super): Use loop variable m_arg_type' initialized with mdecl_arg_type'.
2000-06-29  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* parse.y (verify_constructor_super): Use loop variable
	`m_arg_type' initialized with `mdecl_arg_type'.

From-SVN: r34800
2000-06-29 19:22:15 -07:00
Tom Tromey
6eaeeb553a parse.y (resolve_field_access): Handle case where `type_found' is NULL.
* parse.y (resolve_field_access): Handle case where `type_found'
	is NULL.

From-SVN: r34795
2000-06-30 00:07:19 +00:00
Alexandre Petit-Bianco
18ee3d5edb expr.c (lookup_field): The same field can be found through two different interface.
2000-06-27  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * expr.c (lookup_field): The same field can be found through two
        different interface. Don't declare it ambiguous in that case.

From-SVN: r34793
2000-06-29 14:11:13 -07:00
Tom Tromey
61d5c15883 lex.c (java_lineterminator): Don't recognize \r after \n.
* lex.c (java_lineterminator): Don't recognize \r after \n.  If \r
	follows \r, then unget it at a lower level.

From-SVN: r34782
2000-06-29 17:03:49 +00:00
Tom Tromey
70541f45e9 parse.y (resolve_field_access): Pass decl, not DECL_INITIAL, to java_complete_tree.
* parse.y (resolve_field_access): Pass decl, not DECL_INITIAL, to
	java_complete_tree.

From-SVN: r34732
2000-06-27 15:02:48 +00:00
Bryce McKinlay
ad69b5b669 re GNATS gcj/238 (Can't call methods from Object on an inner class)
2000-06-09  Bryce McKinlay  <bryce@albatross.co.nz>

	* parse.y (find_applicable_accessible_methods_list): Use a hashtable
	to track searched classes, and do not search the same class more than
	once. Call find_applicable_accessible_methods_list on immediate
	superclass, instead of search_applicable_method_list on all ancestors.
	Fix for PR gcj/238.

(Fix to the Java PR #238:
 http://sourceware.cygnus.com/ml/java-prs/2000-q2/msg00206.html)

From-SVN: r34727
2000-06-26 22:18:56 -07:00
Alexandre Petit-Bianco
cf1748bfce [multiple changes]
2000-06-23  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* class.c (set_super_info): Handle ACC_PRIVATE for (inner)
	classes.
	* java-tree.h (TYPE_PRIVATE_INNER_CLASS): New macro.
	(struct lang_type): New field `pic.'
	(CLASS_PRIVATE): New macro.
	* parse.y (check_inner_class_access): New function.
	(jdep_resolve_class): Call it.

2000-06-09  Bryce McKinlay  <bryce@albatross.co.nz>

        * parse.y (register_fields): Permit static fields in inner classes
        if they are final. Fix for PR gcj/255.

(These patches are fixes to the PR #224 and #255:
 http://sourceware.cygnus.com/ml/java-prs/2000-q2/msg00158.html
 http://sourceware.cygnus.com/ml/java-prs/2000-q2/msg00287.html)

From-SVN: r34725
2000-06-26 21:30:18 -07:00
Tom Tromey
774d2baf50 re GNATS gcj/268 (Internal compiler error in for-loop test condition)
* parse.y (for_statement): Wrap expression in a WFL if it is a
	constant.  For PR gcj/268.

From-SVN: r34712
2000-06-26 16:39:28 +00:00
Alexandre Petit-Bianco
d6baf6f524 parse.y (do_resolve_class): Minor optimiztion in the package list search.
2000-06-25  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* parse.y (do_resolve_class): Minor optimiztion in the package
	list search. Removed unecessary test and return statement.
	(valid_ref_assignconv_cast_p): Order of arguments to
	enclosing_context_p fixed.

From-SVN: r34705
2000-06-26 00:26:08 -07:00
Tom Tromey
ae4a4c88d0 expr.c (lookup_field): Print error and return error_mark_node if field reference is ambiguous.
* expr.c (lookup_field): Print error and return error_mark_node if
	field reference is ambiguous.

From-SVN: r34698
2000-06-25 17:30:38 +00:00
Tom Tromey
120f0c104a parse.y (check_abstract_method_definitions): Also check if `other_method' is abstract.
* parse.y (check_abstract_method_definitions): Also check if
	`other_method' is abstract.

From-SVN: r34697
2000-06-25 17:28:35 +00:00
Tom Tromey
f1ff439a50 re GNATS gcj/260 ("Klass.class" expression should cause Klass to be initialized)
* parse.y (patch_incomplete_class_ref): Initialize the returned
	class.  For PR gcj/260.

From-SVN: r34695
2000-06-25 17:25:31 +00:00
Alexandre Petit-Bianco
9a7ab4b335 [multiple changes]
2000-06-21  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* except.c (prepare_eh_table_type): Use `CATCH_ALL_TYPE'.

2000-06-20  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* check-init.c (ENABLE_JC1_CHECKING): Replaces ENABLE_CHECKING for
	Java specific checks.
	* expr.c (build_instanceof): CLASS_INTERFACE and CLASS_FINAL usage
	screened by DECL_P.
	* java-tree.def (CASE_EXPR): Marked 'e'.
	(DEFAULT_EXPR): Likewise.
	* jcf-parse.c (set_source_filename): CLASS_COMPLETE_P usage
	screened by DECL_P.
	* jcf-write.c (ENABLE_JC1_CHECKING): Replaces ENABLE_CHECKING for
	Java specific checks.
	(generate_bytecode_insns): Test try_block for BLOCK before using
	BLOCK_EXPR_BODY.
	* parse.y (build_wfl_wrap): Added `location' argument. Set
	EXPR_WFL_LINECOL accordingly.
	(dim_expr:): Wrap constants with WFLs.
	(method_declarator): Use TREE_TYPE not TYPE_NAME on GET_CPC.
	(resolve_package): Check for `stmt' not being a BLOCK before
	building a debuggable statement with it.
	(make_qualified_primary): Added extra parameter to build_wfl_wrap
	invocation.
	(resolve_field_access): Make sure `decl' is a DECL before treating
	it as such.
	(maybe_build_primttype_type_ref): Make sure `wfl''s node is an
	IDENTIFIER_NODE before treating it as such.
	(patch_new_array_init): Make sure `elt' is a TREE_LIST before
	treating it as such.
	(find_applicable_accessible_methods_list): CLASS_INTERFACE macro
	to be applied only on non array types.

2000-06-16  Per Bothner  <per@bothner.com>

	* java-tree.h (LABEL_RETURN_LABELS, LABEL_PENDING_CHAIN):  Don't
	define in terms of DECL_RESULT, as that fails when --enable-checking.

2000-06-06  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* parse.h (REGISTER_IMPORT): Use `chainon' to link new entries.
	* parse.y (find_in_imports): Returned type changed to void,
	leading comment fixed.
	(register_package): New function.
	(qualify_and_find): Likewise.
	(package_declaration:): Use `register_package'.
	(single_type_import_declaration:): Removed local variable
	`node'. Added missing `;' for consistency.
	(type_import_on_demand_declaration:): Use `chainon' to link new
	entries.
	(lookup_field_wrapper): Lookup local variables defined in outer
	contexts first.
	(java_complete_class): Don't reverse the list of imported on demand.
	(do_resolve_class): Reorganized. Removed local variable
	`original_name'. Call `qualify_and_find' with the current package
	name, invoke `find_in_imports_on_demand' right after. Call
	`qualify_and_find' with the packages we've seen so far. Fixed
	operations numbering in comments.
	(java_expand_class): Don't reverse `package_list'.
	(find_most_specific_methods_list): New local variables `abstract'
	and `candidates'. Use them to pick the right method.

(Fixes for the ENABLE_TREE_CHECKING Java run-time build problem:
 http://gcc.gnu.org/ml/gcc-patches/2000-06/msg00551.html)

From-SVN: r34642
2000-06-21 22:17:35 -07:00
Kaveh R. Ghazi
ffb1f63d81 jcf-write.c (CHECK_PUT): Add static prototype.
* jcf-write.c (CHECK_PUT): Add static prototype.  Make pointer
        types the same in comparison.
        (CHECK_OP): Add static prototype.

From-SVN: r34566
2000-06-15 18:08:44 +00:00
Jakub Jelinek
11cf4d1831 tree.h (TYPE_USER_ALIGN, [...]): Define.
* tree.h (TYPE_USER_ALIGN, DECL_USER_ALIGN): Define.
	(struct tree_type, struct tree_decl): Add user_align member.
	* stor-layout.c (layout_decl): Set DECL_USER_ALIGN.
	(place_union_field): If BIGGEST_FIELD_ALIGNMENT is defined
	and DECL_USER_ALIGN 0, cap alignment to this value.
	(place_field): Likewise.
	(finalize_type_size): Set TYPE_USER_ALIGN.
	(layout_type): Likewise.
	(initialize_sizetypes): Likewise.
	* c-common.c (decl_attributes): Set TYPE_USER_ALIGN resp.
	DECL_USER_ALIGN to 1.
	* c-decl.c (duplicate_decls): Set DECL_USER_ALIGN.
	(xfer_tag): Set TYPE_USER_ALIGN.
	(finish_struct): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
	(finish_enum): Likewise.
	* stmt.c (expand_decl): Set DECL_USER_ALIGN.
	(expand_anon_union_decl): Likewise.
	* tree.c (make_node): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
	(build_index_type): Set TYPE_USER_ALIGN.
	(build_range_type): Likewise.
	(build_common_tree_nodes_2): Likewise.
	* tm.texi (BIGGEST_FIELD_ALIGNMENT): Document the changed meaning.

ch/:
	* decl.c (init_decl_processing): Set TYPE_USER_ALIGN.
	(layout_enum): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
	* typeck.c (layout_chill_range_type): Set TYPE_USER_ALIGN.
	(apply_chill_field_layout): Set DECL_USER_ALIGN.
	(layout_chill_struct_type): Set TYPE_USER_ALIGN.

cp/:
	* class.c (build_secondary_vtable): Set DECL_USER_ALIGN.
	(check_bitfield_decl, check_field_decl): Likewise.
	(build_vtbl_or_vbase_field, build_base_field): Likewise.
	(layout_class_type): Set DECL_USER_ALIGN resp. CLASSTYPE_USER_ALIGN.
	* decl.c (record_unknown_type): Set TYPE_USER_ALIGN.
	(xfer_tag, finish_enum): Likewise.
	* decl2.c (finish_builtin_type): Likewise.
	* init.c (init_init_processing): Likewise.
	* pt.c (instantiate_class_template): Likewise.
	* rtti.c (get_tinfo_decl, synthesize_tinfo_fn): Set DECL_USER_ALIGN.
	* cp-tree.h (struct lang_type): Add user_align member.
	(CLASSTYPE_USER_ALIGN): Define.

f/:
	* com.c (ffecom_transform_common_): Set DECL_USER_ALIGN.
	(ffecom_transform_equiv_, ffecom_decl_field): Likewise.
	(ffecom_init_0): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
	(duplicate_decls): Set DECL_USER_ALIGN.

java/:
	* typeck.c (build_java_array_type): Set TYPE_USER_ALIGN.
	* parse.y (java_complete_class): Set DECL_USER_ALIGN.
	* parse.c: Rebuilt.

From-SVN: r34541
2000-06-14 07:30:09 +02:00
Kaveh R. Ghazi
5ac9118ef9 Warning fixes:
* bb-reorder.c (build_scope_forest): Initialize variable
	`curr_scope'.

	* calls.c (expand_call): Likewise for variables
	`save_pending_stack_adjust' and `save_stack_pointer_delta'.

	* i386.c (function_arg_advance, function_arg): Cast to avoid
	signed/unsigned warnings.

	* i386.h (MEMORY_MOVE_COST): Likewise.

	* ifcvt.c (cond_exec_process_if_block): Initialize variables
	`else_start' and `else_end'.

	* libgcc2.h (__eh_alloc, __eh_free): Prototype.

	* regrename.c (rr_replace_reg): Initialize variable `dest_subregno'.

ch:
	* Makefile.in (EXPR_H): New dependency variable.
	(actions.o, expr.o): Use EXPR_H.
	(lang.o): Depend on RTL_H and EXPR_H.

	* lang.c: Include rtl.h and expr.h.
	(lang_get_alias_set): Mark parameter with ATTRIBUTE_UNUSED.

cp:
	* decl2.c (compare_options): Don't needlessly cast away const-ness.

f:
	* com.c (lang_get_alias_set): Mark parameter with ATTRIBUTE_UNUSED.

java:
	* decl.c (create_primitive_vtable): Prototype.

	* jcf-write.c (generate_bytecode_insns): Initialize variable
	`saved_context'.

	* lang.c (lang_get_alias_set): Mark parameter with ATTRIBUTE_UNUSED.

From-SVN: r34490
2000-06-11 04:29:49 +00:00
Tom Tromey
14d075d85d parse.y (check_modifiers_consistency): Don't subtract out `PUBLIC_TK' from argument to THIS_MODIFIER_ONLY.
* parse.y (check_modifiers_consistency): Don't subtract out
	`PUBLIC_TK' from argument to THIS_MODIFIER_ONLY.

From-SVN: r34433
2000-06-06 18:46:16 +00:00