Commit Graph

691 Commits

Author SHA1 Message Date
Tom Tromey
099a51500c lex.h (JAVA_FLOAT_RANGE_ERROR): Typo fix.
* lex.h (JAVA_FLOAT_RANGE_ERROR): Typo fix.
	* lex.c (IS_ZERO): New define.
	(java_perform_atof): Error on floating point underflow.

From-SVN: r37269
2000-11-06 05:35:53 +00:00
Tom Tromey
cbf53a1d5e lex.c (java_parse_escape_sequence): Only read two octal characters if the first one is greater than 3.
* lex.c (java_parse_escape_sequence): Only read two octal
	characters if the first one is greater than 3.  Don't allow
	"octal" numbers to include the digits 8 or 9.

From-SVN: r37267
2000-11-05 22:59:56 +00:00
Joseph Myers
436a88a6d4 Makefile.in: Remove all targets related to building distributions and diffs, or INSTALL.
* Makefile.in: Remove all targets related to building
	distributions and diffs, or INSTALL.
	* INSTALL, install1.texi: Remove.
	* configure.in: Remove mention of distdir.
	* configure: Regenerate.
	* objc/Make-lang.in: Remove mention of distdir.

ch:
	* Make-lang.in (CHILL.distdir): Remove.

cp:
	* Make-lang.in (c++.distdir): Remove.

f:
	* Make-lang.in: Remove f77.distdir and f/INSTALL.
	* INSTALL, install0.texi: Remove.

java:
	* Make-lang.in (java.distdir): Remove.

From-SVN: r37265
2000-11-05 10:35:33 +00:00
Tom Tromey
4e2c8d44e8 re PR other/567 ("make dvi" fails)
* Make-lang.in (java.dvi): New target.
	Partial fix for PR other/567.

From-SVN: r37255
2000-11-04 19:12:46 +00:00
Tom Tromey
b7436b7288 lang-options.h: Mention -Wout-of-date.
* lang-options.h: Mention -Wout-of-date.
	* jcf-dump.c (flag_newer): New global.
	* gjavah.c (flag_newer): New global.
	* jcf-io.c (find_class): Only warn when flag_newer set.
	* lang.c (flag_newer): New global.
	(struct string_option): New declaration.
	(lang_W_options): New global.
	(process_option_with_no): New function.
	(lang_decode_option): Use it.

From-SVN: r37244
2000-11-04 04:57:33 +00:00
Tom Tromey
0160fbe150 class.c (cxx_keyword_p): Accept keywords with trailing `$'s.
* class.c (cxx_keyword_p): Accept keywords with trailing `$'s.
	* gjavah.c (cxx_keyword_subst): Handle any number of trailing
	`$'.

From-SVN: r37243
2000-11-04 04:56:25 +00:00
Alexandre Petit-Bianco
7ccd2fc96f Make-lang.in (LIBGCJ_ZIP_FILE): Define with `$(prefix)'.
2000-10-29  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* Make-lang.in (LIBGCJ_ZIP_FILE): Define with `$(prefix)'.
	Fixes gcj/365.

(http://gcc.gnu.org/ml/gcc-patches/2000-11/msg00130.html)

From-SVN: r37239
2000-11-03 15:38:36 -08:00
Tom Tromey
747800ee8a lex.h (_JAVA_IDENTIFIER_IGNORABLE): New macro.
* lex.h (_JAVA_IDENTIFIER_IGNORABLE): New macro.
	(JAVA_ID_CHAR_P): Also try java_ignorable_control_p.
	* lex.c (java_read_unicode): Removed `term_context' argument.
	Recognize any number of `u' in `\u'.
	(java_read_unicode_collapsing_terminators): New function.
	(java_get_unicode): Use it.
	(java_lineterminator): Removed.
	(yylex): Produce error if character literal is newline or single
	quote.  Return if eof found in middle of `//' comment.  EOF in
	`//' comment is only an error if pedantic.
	(java_ignorable_control_p): New function.
	(java_parse_end_comment): Return if eof found in middle of
	comment.
	Include flags.h.
	* jv-scan.c (pedantic): New global.

From-SVN: r37232
2000-11-03 20:27:07 +00:00
Alexandre Petit-Bianco
2cb3951d32 parse.y (patch_method_invocation): NULLify this_arg when already inserted.
2000-10-25  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* parse.y (patch_method_invocation): NULLify this_arg when already
	inserted.
	(maybe_use_access_method): Handle call to methods unrelated to the
	current class. Fixed comment.
	Fixes gcj/361.

(http://sources.redhat.com/ml/java-prs/2000-q4/msg00072.html
 http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00993.html)

From-SVN: r37139
2000-10-29 18:37:25 -08:00
Zack Weinberg
b8dad04b68 configure.in: If not NO_MINUS_C_MINUS_O, substitute OUTPUT_OPTION with '-o $@'.
* configure.in: If not NO_MINUS_C_MINUS_O, substitute
	OUTPUT_OPTION with '-o $@'.  Make zlibdir, zlibinc relative to
	top level.  Kill oldstyle_subdirs.  Do not include
	$srcdir/$s/Makefile.in in all_lang_makefiles, but do include
	$outputs.  Do not run configure.lang from config.status.
	Rearrange warning-flag logic to correspond to what the
	makefile wants.  Put special vax stage1 options in
	@stage1_flags@ not @stage1_warn_cflags@.  Don't do anything
	with extra_c_objs, extra_cxx_objs, or extra_cpp_objs.
	(--enable-c-cpplib): AC_SUBST(maybe_cpplib) with "libcpp.a" if
	switch is given, nothing otherwise.
	* configure.lang: Delete.

        * Makefile.in: Expunge all traces of extra_c_objs,
        extra_cxx_objs, and extra_cpp_objs.  Set MAYBE_CPPLIB from
        @maybe_cpplib@. Add $(MAYBE_CPPLIB) to C_AND_OBJC_OBJS.  Set
        warning options via a three level scheme so that -pedantic and
        -Wtraditional are not used for non-C front ends: LOOSE_WARN,
        STRICT1_WARN, STRICT2_WARN -> $(@D)-warn, GCC_WARN_CFLAGS ->
        WARN_CFLAGS.  Distinguish STAGE1_CFLAGS from BOOT_CFLAGS.
	Add -I$(@D) and -I$(srcdir)/$(@D) to INCLUDES.
	Set OUTPUT_OPTION, ZLIB, ZLIBINC.  Do not set P,
        LANG_FLAGS_TO_PASS.  Add OUTPUT_OPTION to all object-file
        generation rules.  Wrap all rules that change the current
        directory in parentheses; pmake doesn't spawn a new shell for
        each command.  Expunge all references to $(P).  When one
        command depends on another and they're run all at once, use &&
        to separate them, not ;.  Add libgcc_s$(SHLIB_EXT) to files
        deleted on make clean.  Force OUTPUT_OPTION='-o $@' in stage2
        and beyond.

	* cp/Make-lang.in, f/Make-lang.in, java/Make-lang.in,
	objc/Make-lang.in: Wrap all rules that change the current
	directory in parentheses.  Expunge all references to $(P).
	When one command depends on another and they're run all at
	once, use && to separate them, not ;.  Add OUTPUT_OPTION to
	all object-file generation rules.  Delete obsolete variables.
	Move all build rules here from the corresponding Makefile.in and
	adapt to the new environment.

	* cp/Makefile.in, f/Makefile.in, java/Makefile.in, objc/Makefile.in:
	Delete.

	* cp/config-lang.in, f/config-lang.in, java/config-lang.in:
	Delete outputs= line.

From-SVN: r37088
2000-10-27 20:22:28 +00:00
Tom Tromey
07b5e470a6 lex.c (java_new_lexer): Initialize new fields.
* lex.c (java_new_lexer): Initialize new fields.  Work around
	broken iconv() implementations.
	(java_read_char): Swap bytes if required.  Use fallback decoder if
	required.
	(byteswap_init, need_byteswap): New globals.
	(java_destroy_lexer): Only close iconv handle if it is in use.
	* lex.h (java_lexer): New fields read_anything, byte_swap,
	use_fallback.
	Made out_buffer unsigned.

From-SVN: r37063
2000-10-26 00:01:46 +00:00
Alexandre Petit-Bianco
8ac1de05dd parse.y (register_incomplete_type): Include JDEP_FIELD as a case where an enclosing context can be set on the jdep.
2000-10-24  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* parse.y (register_incomplete_type): Include JDEP_FIELD as a case
	where an enclosing context can be set on the jdep.
	(do_resolve_class): Fixed identation.

(http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00824.html)

From-SVN: r37045
2000-10-24 22:47:28 -07:00
Kaveh R. Ghazi
80393943c7 Warning fixes:
* gjavah.c (NEED_PEEK_ATTRIBUTE, NEED_SKIP_ATTRIBUTE): Define

	* jcf-reader.c (peek_attribute, skip_attribute): Only define
	when requested.

	* parse.h (yyerror): If JC1_LITE, mark with ATTRIBUTE_NORETURN.

	* verify.c (CHECK_PC_IN_RANGE): Cast result of stmt-expr to void.

From-SVN: r36994
2000-10-21 15:10:38 +00:00
Bryce McKinlay
e1d565ab93 parse.y (do_resolve_class): Also explore superclasses of intermediate enclosing contexts when...
2000-08-15  Bryce McKinlay  <bryce@albatross.co.nz>

	* parse.y (do_resolve_class): Also explore superclasses of
	intermediate enclosing contexts when searching for inner classes.

From-SVN: r36990
2000-10-21 07:28:27 +01:00
Tom Tromey
ac758f9643 Removed erroneous ChangeLog entry
From-SVN: r36983
2000-10-20 21:26:21 +00:00
Tom Tromey
316a06a103 jvspec.c (lang_specific_driver): Recognize -MF and -MT.
* jvspec.c (lang_specific_driver): Recognize -MF and -MT.
	* lang-specs.h: Added %{MA}, %{MF*}, %{MT*}.
	* lang-options.h: Added -MA, -MT, -MF..
	* lang.c (lang_decode_option): Recognize -MA, -MT, -MF.
	(DEPEND_TARGET_SET): New macro.
	(DEPEND_FILE_ALREADY_SET): Likewise.
	(init_parse): Handle new flags.
	* jcf.h (jcf_dependency_print_dummies): Declare.
	* Make-lang.in (s-java): Added mkdeps.o.
	* Makefile.in (BACKEND): Added mkdeps.o.
	(../gcjh$(exeext)): Added mkdeps.o.
	(../jcf-dump$(exeext)): Added mkdeps.o.
	* jcf-depend.c: Include mkdeps.h.
	(struct entry, dependencies, targets, MAX_OUTPUT_COLUMNS,
	add_entry): Removed.
	(jcf_dependency_reset): Rewrote.
	(dependencies): New global.
	(jcf_dependency_set_target): Rewrote.
	(jcf_dependency_add_target): Likewise.
	(jcf_dependency_add_file): Likewise.
	(munge): Removed.
	(print_ents): Removed.
	(jcf_dependency_write): Rewrote.
	(print_dummies): New global.
	(jcf_dependency_print_dummies): New function
	(jcf_dependency_write): Call deps_dummy_targets if required.

From-SVN: r36981
2000-10-20 21:19:29 +00:00
Bryce McKinlay
cab8e2bd65 parse.y (find_most_specific_methods_list): Select the only non-abstract method even if max has been set.
2000-07-18  Bryce McKinlay  <bryce@albatross.co.nz>

	* parse.y (find_most_specific_methods_list): Select the only
	non-abstract method even if max has been set.
	Fixes gcj/285, gcj/298.

(http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00646.html)

From-SVN: r36956
2000-10-19 21:00:44 -07:00
Alexandre Petit-Bianco
02ae6e2e4b parse.y (process_imports): Consider that one might be trying to import an innerclass.
2000-07-19  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * parse.y (process_imports): Consider that one might be trying to
        import an innerclass. Fixes gcj/254

(http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00631.html)

From-SVN: r36948
2000-10-19 00:51:54 -07:00
Alexandre Petit-Bianco
dba41d307e gjavah.c (add_class_decl): Removed unused variables tname', tlen' and `name_index'.
2000-10-18  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* gjavah.c (add_class_decl): Removed unused variables `tname',
	`tlen' and `name_index'.
	* java-tree.h (BUILD_FILENAME_IDENTIFIER_NODE): New macro.
	* jcf-parse.c (jcf_parse_source): Use it and set EXPR_WFL_FILENAME
	in `wfl_operator' with value.
	(yyparse): Use BUILD_FILENAME_IDENTIFIER_NODE.
	(jcf_figure_file_type): Fixed identation.
	* lex.c (java_get_line_col): Use EOF. Tuned `^' placement.
	* parse.y (analyze_clinit_body): New function.
	(static_initializer:): Reset `current_static_block'.
	(java_parser_context_restore_global): Set EXPR_WFL_FIILENAME_NODE in
	`wfl_operator' with new value.
	(lookup_cl): Use EXPR_WFL_FILENAME.
	(maybe_yank_clinit): Handle bogus <clinit> bodies, call
	analyze_clinit_body.
	(build_outer_field_access): Access to this$<n> built from
	current_class, not its outer context.
	(build_access_to_thisn): Fixed leading comment. Tidied things up.
	(resolve_qualified_expression_name): Handle `T.this' and `T.this.f()'.
	(patch_method_invocation): Use `is_static_flag' when already
	initialized.
	(patch_newarray): Removed assignment in ternary operator.

(http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00629.html)

From-SVN: r36946
2000-10-18 21:19:09 -07:00
Alexandre Petit-Bianco
1a2ebe6d57 except.c (free_eh_ranges): Don't free `whole_range.'
2000-10-17  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * except.c (free_eh_ranges): Don't free `whole_range.'

(http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00557.html)

From-SVN: r36915
2000-10-17 15:48:59 -07:00
Anthony Green
8e7ab3ff22 decl.c (init_decl_processing): Call init_class_processing before anything else.
* decl.c (init_decl_processing): Call init_class_processing before
	anything else.

From-SVN: r36892
2000-10-16 23:45:07 +01:00
Alexandre Petit-Bianco
a93eddcf62 [multiple changes]
2000-10-11  Rodney Brown  <RodneyBrown@mynd.com>

        * java-tree.h: Constify current_encoding.
        * lang.c: Constify current_encoding.

2000-10-10  Jeff Sturm  <jeff.sturm@appnet.com>

        * jvgenmain.c (class_mangling_suffix): Omit `.'.
        (main): Use `$' when NO_DOLLAR_IN_LABEL is not set, otherwise `.'.

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

        * expr.c (java_lang_expand_expr): Reinstall 1999-08-14 Anthony's
        patch. Fixes gcj/340.

(http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00374.html)

From-SVN: r36864
2000-10-13 14:06:45 -07:00
Kaveh R. Ghazi
4b9454025b Makefile.in (c-parse.c, tradcif.c): Create atomically.
* Makefile.in (c-parse.c, tradcif.c): Create atomically.

	* objc/Make-lang.in (objc-parse.c): Likewise.

cp:
	* Makefile.in (parse.c, parse.h): Create atomically.

java:
	* Make-lang.in (parse.c, parse-scan.c): Create atomically.

	* Makefile.in (parse.c, parse-scan.c): Likewise.

From-SVN: r36861
2000-10-13 16:16:30 +00:00
Mark Mitchell
1f8f4a0b31 Remove obstacks.
* Makefile.in (ggc-callbacks.o): Remove target.
	(flow.o): Depend on GGC_H.
	* alias.c (init_alias_analysis):
	Remove ggc_p conditionals.
	(end_alias_analysis): Likewise.
	* basic-block.h (init_flow): New function.
	(allocate_reg_life_data): Declare.
	* bb-reorder.c	(function_obstack): Replace with ...
	(flow_obstack): ... new variable.
	(fixup_reorder_chain): Use it.
	* c-decl.c (ggc_p): Remove.
	(caller-save.c): Don't call oballoc/obfree.
	* combine.c (struct
	undobuf): Remove storage.
	(try_combine): Don't call oballoc.
	(undo_all): Don't call obfree.
	* cse.c (insert): Use xmalloc, not
	oballoc.
	(cse_main): Adjust accordingly.
	* dwarf2out.c (save_rtx): Remove
	obstack code.
	(dwarf2out_init): Remove ggc_p conditionals.
	* emit-rtl.c (rtl_obstack): Remove.
	(gen_rtx_CONST_INT): Remove ggc_p conditionals.
	(make_insn_raw): Likewise.
	(emit_insn_before): Likewise.
	(emit_insn_after): Likewise.
	(emit_insn): Likewise.
	(gen_sequence): Likewise.
	(copy_insn_1): Remove handling of `b' RTL components.
	(init_emit_once): Remove ggc_p conditionals.
	* except.c (create_rethrow_ref): Don't fool with obstacks.
	(add_partial_entry): Likewise.
	(call_get_eh_context): Likewise.
	(begin_protect_partials): Likewise.
	(protect_with_terminate): Likewise.
	* explow.c
	(plus_constant_wide): Likewise.
	* expr.c (init_expr_once):
	Likewise.
	(emit_block_move): Likewise.
	(clear_storage): Likewise.
	(expand_expr): Likewise.
	* flow.c (function_obstack): Remove.
	(flow_obstack): New variable.
	(flow_firstobj): Likewise.
	(create_base_block): Use the flow_obstack.
	(split_block): Likewise.
	(split_edge): Likewise.
	(calculate_global_regs_live): Likewise.
	(allocate_bb_life_data): Make it static.  Likewiwse.
	(init_flow): New function.
	(size_int_type_wide): Remove ggc_p conditionals.
	* function.c
	(push_function_context_to): Don't call save_tree_status.
	(pop_function_context_from): Or restore_tree_status.
	(assign_stack_local_1): Don't call push_obstacks.
	(find_fixup_replacement): Use xmalloc.
	(fixup_var_refs_insns): Free the storage.
	(insns_for_mem_walk): Don't mess with obstacks.
	(instantiate_decls): Likewise.
	(trampoline_address): Likewise.
	(expand_function_end): Likewise.
	* function.h (sturct function):
	Remove obstack-related variables.
	(save_tree_status): Don't declare.
	(restore_tree_status): Likewise.
	* gcse.c (compute_can_copy):
	Don't call oballoc/obfree.
	* genattrtab.c (operate_exp): Remove
	ggc_p conditionals.
	(simplify_cond): Likewise.
	(simplify_test_exp): Don't mess with obstacks.
	(optimize_attrs): Likewise.
	* gengenrtl.c (gendef): Don't include
	ggc_p conditionals.
	* ggc-callbacks.c (ggc_p): Remove.
	* ggc-none.c (ggc_p): Remove.
	* ggc.h (ggc_p): Don't declare.
	* integrate.c (save_for_inline): Don't mess with obstacks.
	(integrate_decl_tree): Likewise.
	(output_inline_function): Likewise.
	* lists.c
	(init_EXPR_INSN_LIST_cache): Likewise.
	* loop.c (temp_obstack):
	Remove.
	(rtl_obstack): Likewise.
	(init_loop): Don't mess with obstacks.
	(reg_address_cost): Free BIVs and GIVs.
	(check_insns_for_bivs): Use xmalloc, not oballoc.
	(find_mem_givs): Likewise.
	(record_biv): Likewise.
	(general_induction_var): Likewise.
	(product_cheap_p): Likewse.
	* optabs.c (init_one_libfunc): Remove
	ggc_p conditional.
	* print-tree.c (debug_tree): Don't use
	oballoc/obfree.
	(print_node): Likewise.
	* profile.c (output_func_start_profiler):
	Remove call to temporary_allocation.
	* reload1.c
	(eliminate_regs_in_insn): Don't mess with obstacks.
	* resource.c
	(mark_target_live_regs): Use xmalloc.
	(free_resource_info): Free the memory.
	* rtl.c (rtl_obstack):
	Remove.
	(rtvec_alloc): Don't mess with obstacks.
	(rtx_alloc): Likewise.
	(rtx_free): Remove.
	(copy_rtx): Don't handle `b' cases.
	(read_rtx): Use a local rtl_obstack.
	* rtl.h (oballoc): Remove.
	(obfree): Likewise.
	(pop_obstacks): Likewise.
	(push_obstacks): Likewise.
	(allocate_bb_life_data): Likewise.
	(allocate_reg_life_data): Likewise.
	(rtx_free): Likewise.
	* sdbout.c (sdbout_queue_anonymous_type):
	Use tree_cons, not saveable_tree_cons.
	* simplify-rtx.c
	(cselib_init): Don't mess with obstacks.
	* stmt.c
	(mark_block_nesting): Mark the label_chain.
	(epxand_label): Use ggc_alloc, not oballoc.
	(clear_last_expr): Don't mess with obstacks.
	(expand_decl_cleanup): Likewise.
	(expand_dcc_cleanup): Likewise.
	(expand_dhc_cleanup): Likewise.
	(expand_anon_union_decl): Likewise.
	(add_case_node): Use xmalloc, not oballoc.
	(free_case_nodes): New function.
	(expand_end_case): Call it.
	* stor-layout.c (layout_type): Don't
	mess with obstacks.
	(layout_type): Likewise.
	* toplev.c (wrapup_global_declarations):
	Likewise.
	(compile_file): Remove ggc_p conditionals.
	(rest_of_compilation): Call init_flow.  Remove ggc_p conditionals.
	(decode_f_option): Remove ggc_p conditionals.
	* tree.c
	(function_maybepermanent_obstack): Remove.
	(maybepermanent_obstack): Likewise.
	(function_obstack): Likewise.
	(tmeporary_obstack): Likewise.
	(momentary_obstack): Likewise.
	(temp_decl_obstack): Likewise.
	(saveable_obstack): Likewise.
	(rtl_obstack): Likewise.
	(current_obstack): Likewise.
	(expression_obstack): Likewise.
	(struct obstack_stack): Likewise.
	(obstack_stack): Likewise.
	(obstack_stack_obstack): Likewise.
	(maybepermanent_firstobj): Likewise.
	(temporary_firstobj): Likewise.
	(momentary_firstobj): Likewise.
	(temp_decl_firstobj): Likewise.
	(momentary_function_firstobj): Likewise.
	(all_types_permanent): Likewise.
	(struct momentary_level): Likewise.
	(momentary_stack): Likewise.
	(init_obstacks): Remove initialization of removed obstacks.
	(save_tree_status): Remove.
	(restore_tree_status): Likewise.
	(temporary_allocation): Liekwise.
	(end_temporary_allocation): Liekwise.
	(resume_temporary_allocation): Likewise.
	(saveable_allocation): Likewise.
	(push_obstacks): Likewise.
	(push_obstacks_nochange): Likewise.
	(pop_obstacks): Likewise.
	(allocation_temporary_p): Likewise.
	(permanent_allocation): Likewise.
	(preserve_data): Likewise.
	(preserve_initializer): Likewise.
	(rtl_in_current_obstack): Likewise.
	(rtl_in_saveable_obstack): Likewise.
	(oballoc): Likewise.
	(obfree): Likewise.
	(savealloc): Likewise.
	(expralloc): Likewise.
	(print_obstack_name): Likewise.
	(debug_obstack): Likewise.
	(object_permanent_p): Likewise.
	(push_momentary): Likewise.
	(perserve_momentary): Likewise.
	(clear_momentary): Likewise.
	(pop_momentary): Likewise.
	(pop_momentary_nofree): Likewise.
	(suspend_momentary): Likewise.
	(resume_momentary): Likewise.
	(make_node): Don't set TREE_PERMANENT.
	(copy_node): Remove ggc_p conditionals.  Don't set TYPE_OBSTACK.
	Don't set TREE_PERMANENT.
	(get_identifier): Remove ggc_p conditionals.
	(build_string): Likewise.
	(make_tree_vec): Likewise.
	(build_decl_list): Remove.
	(build_expr_list): Likewise.
	(tree_cons): Remove ggc_p conditionals.
	(decl_tree_cons): Remove.
	(expr_tree_cons): Likewise.
	(perm_tree_cons): Likewise.
	(temp_tree_cons): Likewise.
	(saveable_tree_cons): Likewise.
	(build1): Remove ggc_p conditionals.
	(build_parse_node): Likewise.
	(build_type_attribute_variant): Don't mess with obstacks.
	(build_type_copy): Likewise.
	(type_hash_canon): Likewise.
	(build_pointer_type): Likewise.
	(build_reference_type): Likewise.
	(build_index_type): Likewise.
	(build_range_type): Likewise.
	(dump_tree_statistics): Don't print obstack information.
	* tree.h
	(struct tree_common): Remove permanent_flag.
	(TREE_PERMANENT): Remove.
	(TREE_SET_PERMANENT): Likewise.
	(TYPE_OBSTACK): Likewise.
	(struct tree_type): Remove obstack.
	(oballoc): Remove.
	(savealloc): Likewise.
	(build_decl_list): Likewise.
	(build_expr_list): Likewise.
	(perm_tree_cons): Likewise.
	(temp_tree_cons): Likewise.
	(saveable_tree_cons): Likewise.
	(decl_tree_cons): Likewise.
	(expr_tree_cons): Likewise.
	(suspend_momentary): Likewise.
	(allocation_temporary_p): Likewise.
	(resume_momentary): Likewise.
	(push_obstacks_nochange): Likewise.
	(permanent_allocation): Likewise.
	(push_momentary): Likewise.
	(clear_momentary): Likewise.
	(pop_momentary): Likewise.
	(end_temporary_allocation): Likewise.
	(pop_obstacks): Likewise.
	(push_obstacks): Likewise.
	(pop_momentary_nofree): LIkewise.
	(preserve_momentary): Likewise.
	(saveable_allocation): Likewise.
	(temporary_allocation): Likewise.
	(resume_temporary_allocation): Likewise.
	(perserve_initializer): Likewise.
	(debug_obstack): Likewise.
	(rtl_in_current_obstack): Likewise.
	(rtl_in_saveable_obstack): Likewise.
	(obfree): Likewise.
	* varasm.c (current_obstack): Remove.
	(saveable_obstack): Remove.
	(rtl_obstack): Remove.
	(immed_double_const): Don't mess with obstacks.
	(immed_real_cons): Likewise.
	(output_constant_def): Likewise.
	(init_varasm_status): Use xcalloc.
	(mark_pool_constant): Mark the pool constant itself.
	(free_varasm_status): Free memory.
	(decode_rtx_const): Call bzero directly, rather than expanding it
	inline.
	(record_rtx_const): Don't mess with obstacks.
	(force_const_mem): Likewise.
	* config/arm/arm.c (arm_encode_call_attribute): Remove ggc_p
	conditionals.
	(aof_pic_entry): Likewise.
	* config/ia64/ia64.c (ia64_encode_section_info): Likewise.
	* config/m32r/m32r.c (m32r_encode_section_info): Likewise.
	* config/pa/pa.c (saveable_obstack): Remove.
	(rtl_obstack): Likewise.
	(current_obstack): Likewise.
	(output_call): Don't mess with obstacks.
	(hppa_encode_label): Remove ggc_p conditionals.
	* config/romp/romp.c (get_symref): Don't mess with obstacks.
	* config/rs6000/rs6000.c (output_toc): Remove ggc_p conditional.
	(rs6000_encode_section_info): Likewise.
	* config/sh/sh.c (get_fpscr_rtx): Likewise.

From-SVN: r36856
2000-10-13 06:26:46 +00:00
Tom Tromey
3c1d1e7b7f re GNATS gcj/356 (gcjh bug: Can't #include <java/awt/Container.h>)
Fix for PR gcj/356:
	* gjavah.c (add_class_decl): Don't special-case inner classes.
	(add_namelet): Likewise.

From-SVN: r36854
2000-10-12 18:57:52 +00:00
Tom Tromey
2e165c53de lex.c (java_new_lexer): Initialize out_first and out_last fields.
* lex.c (java_new_lexer): Initialize out_first and out_last
	fields.
	* lex.h (java_lexer): Added out_buffer, out_first, out_last.

From-SVN: r36830
2000-10-10 22:02:12 +00:00
Alexandre Petit-Bianco
29f8b71838 [multiple changes]
2000-10-07  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        Patch contributed by Corey Minyard.
        * decl.c (check_local_named_variable): New function.
        (tree check_local_unnamed_variable): Likewise.
        (find_local_variable): Splitted. Call check_local_{un}named_variable.

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

        * parse.y (variable_declarator_id:): Better error message.
        (expression_statement:): Use YYNOT_TWICE.
        (cast_expression:): Likewise.
        (assignment:): Likewise.

(http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00286.html)

From-SVN: r36827
2000-10-10 10:54:59 -07:00
Anthony Green
7fd9a51683 class.c (layout_class): Handle case where superclass can't be layed out yet.
2000-10-07  Anthony Green  <green@redhat.com>

	* class.c (layout_class): Handle case where superclass can't be
	layed out yet.

From-SVN: r36789
2000-10-08 19:14:32 +00:00
Alexandre Petit-Bianco
7e1cb6b613 [multiple changes]
Tue Oct  3 13:44:37 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * decl.c (find_local_variable): Removed uncessary type check and
        fixed range check typo. From Corey Minyard.

Wed Sep 13 16:06:52 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * decl.c (give_name_to_locals): New local `code_offset'. Call
        `maybe_adjust_start_pc.'
        * expr.c (note_instructions): New function.
        (expand_byte_code): Don't collect insn starts here.
        (peek_opcode_at_pc): New function.
        (maybe_adjust_start_pc): Likewise.
        * java-tree.h (maybe_adjust_start_pc): Declare.
        (note_instructions): Likewise.
        * jcf-parse.c (parse_class_file): Call `note_instructions.'

Wed Sep 13 11:50:35 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * parse.y (field_access:): Fixed indentation.
        (qualify_ambiguous_name): Properly qualify `this.a[b].c'.

(Missing piece to http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00067.html)

From-SVN: r36784
2000-10-07 19:22:39 -07:00
Joseph Myers
20d431c931 Makefile.in ($(srcdir)/hash.h): Refer to GNU FTP site for updated gperf.
ch:
	* Makefile.in ($(srcdir)/hash.h): Refer to GNU FTP site for
	updated gperf.

java:
	* Makefile.in (keyword.h): Refer to GNU FTP site for updated
	gperf.

From-SVN: r36774
2000-10-07 13:39:35 +01:00
Tom Tromey
e0a0c416a0 jvspec.c (jvgenmain_spec): Added `-fdollars-in-identifiers'.
* jvspec.c (jvgenmain_spec): Added `-fdollars-in-identifiers'.
	* jvgenmain.c (class_mangling_prefix): Removed.
	(class_mangling_suffix): New global.
	(main): Use it.
	* gjavah.c (cxx_keyword_subst): Mangle C++ keywords by appending
	`$'.
	(print_method_info): Handle overrides for static and final
	methods.
	(process_file): Generate declaration for class object field.
	* class.c (cxx_keywords): New array.
	(utf8_cmp): New function.
	(cxx_keyword_p): New function.
	(layout_class_method): Mangle C++ keywords by appending `$'.
	(mangle_field): New function.
	(mangle_class_field): Use mangle_field.  Mangle class name as
	`class$'.
	(mangle_static_field): Use mangle_field.

From-SVN: r36738
2000-10-06 01:45:47 +00:00
Alexandre Petit-Bianco
6e22695a4c [multiple changes]
Tue Oct  3 13:44:37 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * decl.c (find_local_variable): Removed uncessary type check and
        fixed range check typo. From Corey Minyard.

Wed Sep 13 16:06:52 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * decl.c (give_name_to_locals): New local `code_offset'. Call
        `maybe_adjust_start_pc.'
        * expr.c (note_instructions): New function.
        (expand_byte_code): Don't collect insn starts here.
        (peek_opcode_at_pc): New function.
        (maybe_adjust_start_pc): Likewise.
        * java-tree.h (maybe_adjust_start_pc): Declare.
        (note_instructions): Likewise.
        * jcf-parse.c (parse_class_file): Call `note_instructions.'

Wed Sep 13 11:50:35 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * parse.y (field_access:): Fixed indentation.
        (qualify_ambiguous_name): Properly qualify `this.a[b].c'.

(http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00067.html)

From-SVN: r36717
2000-10-05 00:17:34 -07:00
Tom Tromey
7e51098e70 re GNATS gcj/307 (gcj allows boolean value to be returned for int method)
Fix for PR gcj/307:
	* parse.y (patch_binop): Use JNUMERIC_TYPE_P, not
	JPRIMITIVE_TYPE_P, for arithmetic operators.
	(patch_method_invocation): Indentation fix.
	(try_builtin_assignconv): Handle boolean specially.  Fixed typo.
	(valid_builtin_assignconv_identity_widening_p): Handle boolean.
	(do_unary_numeric_promotion): Cleaned up code.
	(valid_cast_to_p): Handle boolean correctly.

From-SVN: r36704
2000-10-03 20:19:54 +00:00
Tom Tromey
5beededc7e lex.c (java_read_unicode): Reset bs_count when finished with `\u' sequence.
* lex.c (java_read_unicode): Reset bs_count when finished with
	`\u' sequence.

From-SVN: r36703
2000-10-03 19:10:44 +00:00
Mark Mitchell
f15b9af984 c-decl.c (c_expand_body): Don't generate RTL if flag_syntax_only.
* c-decl.c (c_expand_body): Don't generate RTL if flag_syntax_only.
	(lang_mark_false_label_stack): Remove.
	* c-lex.c (init_c_lex): Add file_info_tree as GC root.  Allocate
	<top level> string in GC area.
	(mark_splay_tree_node): New function.
	(mark_splay_tree): Likewise.
	* except.c (mark_eh_status): Only call lang_mark_false_label_stack
	if it exists.
	* ggc-callbacks.c (lang_mark_false_label_stack): Remove.
	* ggc-common.c (lang_mark_false_label_stack): Change type.
	* ggc.h (ggc_alloc_string): Add comment.
	(ggc_strdup): New function.

	* decl.c (lang_mark_false_label_stack): Remove.
	* lex.c (cp_mang_lang_type): Use ggc_alloc_cleared.

	* com.c (lang_mark_false_label_stack): Remove.

	Convert to GC.
	* Make-lang.in (s-java): Don't depend on ggc-callbacks.o.
	* Makefile.in (BACKEND): Don't include ggc-callbacks.o.
	(typeck.o): Depend on ggc.h.
	* class.c (add_method_1): Use GC functions for allocation.
	(init_class_processing): Register roots.
	* decl.c (ggc_p): Set to 1.
	(pending_local_decls): Make it static.
	(push_jvm_slot): Use GC functions for allocation.
	(init_decl_processing): Register roots.
	(give_name_to_locals): Use GC functions for allocation.
	(lang_mark_tree): New function.
	* java-tree.h (MAYBE_CREATE_TYPE_TYPE_LANG_SPECIFIC): Use GC
	functions for allocation.
	* jcf-parse.c (jcf_parse_source): Use ggc_strdup.
	* lex.c (java_lex): Use build_string, rather than replicating it
	inline.
	* parse.y (goal): Add more roots.
	(mark_parser_ctxt): New function.
	* typeck.c: Include ggc.h.

	* splay-tree.c (splay_tree_insert): Fix formatting.

From-SVN: r36687
2000-10-01 19:19:30 +00:00
Alexandre Petit-Bianco
99eaf8d457 parse.y (maybe_yank_clinit): Also keep <clinit> if its body contains something else than MODIFY_EXPR.
2000-09-29  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* parse.y (maybe_yank_clinit): Also keep <clinit> if its body
	contains something else than MODIFY_EXPR.

(http://gcc.gnu.org/ml/gcc-patches/2000-09/msg01141.html)

From-SVN: r36670
2000-09-29 13:14:53 -07:00
Neil Booth
5a8e2650ed gcc.c (cpp_options): Add spec for -ftabstop=.
* gcc.c (cpp_options): Add spec for -ftabstop=.
	(invoke_as): New spec that handles invoking as.
	Update specs to handle -save-temps and -traditional.
	* ch/lang-specs.h, f/lang-specs.h, java/lang-specs.h:
	Use invoke_as.
	* cp/lang-specs.h, objc/lang-specs.h: Update to use
	invoke_as, and handle -save-temps and -traditional (if
	appropriate).

From-SVN: r36646
2000-09-26 17:28:07 +00:00
Mark Mitchell
19e223db83 Make-lang.in (JAVA_SRCS): Include java-tree.h.
* Make-lang.in (JAVA_SRCS): Include java-tree.h.
	* Makefile.in (parse.o): Depend on ggc.h.
	(class.o): Likewise.
	(constants.o): Likewise.
	(decl.o): Likewise.
	(expr.o): Likewise.
	(jcf-parse.o): Likewise.
	(jcf-write.o): Likewise.
	(mangle.o): Likewise.
	* class.c: Include ggc.h.
	(build_static_field_ref): Register GC roots.
	(layout_class): Likewise.
	(init_class_processing): Likewise.
	* constants.c: Include ggc.h.
	(current_constant_pool_data_ref): Remove.
	(tag_nodes): Move it to ...
	(get_tag_node): ... here.  Register GC roots.
	* decl.c: Include ggc.h.  Remove many global tree definitions.
	(throw_node): Define.
	(java_global_trees): Likewise.
	(predef_filenames): Make the size a constant.
	(init_decl_processing): Adjust accordingly.
	(init_decl_processing): Call init_jcf_parse.  Register GC roots.
	* expr.c: Include ggc.h.
	(init_expr_processing): Register GC roots.
	(build_invokeinterface): Likewise.
	* java-tree.h: Replace extern tree declarations with macros.
	(java_global_trees): New variable.
	(java_tree_index): New enumeration.
	(init_jcf_parse): Declare.
	* jcf-parse.c: Include ggc.h.
	(current_class): Remove declaration.
	(main_class): Likewise.
	(all_class_list): Likewise.
	(predefined_filename_p): Adjust for constant size of
	predef_filenames.
	(init_jcf_parse): New function.
	* jcf-write.c: Include ggc.h.
	(generate_classfile): Register GC roots.
	(append_synthetic_attribute): Likewise.
	(append_innerclass_attribute_entry): Likewise.
	* lang.c: Include ggc.h.
	(lang_print_error): Register GC roots.
	* parse.h (struct parser_ctxt): Rename fields to avoid conflicts
	with macros.
	* parse.y: Include ggc.h.
	(wfl_operator): Remove.
	(goal): Register GC roots.
	(java_pop_parser_context): Adjust for new field names.
	(java_parser_context_save_global): Likewse.
	(java_parser_context_restore_global): Likewise.
	(java_parser_context_suspend): Likewise.
	(java_parser_context_resume): Likewise.
	(verify_constructor_circularity): Register GC roots.
	(lookup_cl): Likewise.
	(java_reorder_fields): Likewise.
	(build_current_this): Likewise.
	(class_in_current_package): Likewise.
	(argument_types_convertible): Likewise.
	(patch_cast): Rename wfl_op parameter to avoid macro conflicts.

From-SVN: r36581
2000-09-23 17:09:39 +00:00
Tom Tromey
4c4b521a59 * lex.h: Use HAVE_ICONV_H, not HAVE_ICONV.
From-SVN: r36449
2000-09-15 22:31:56 +00:00
Tom Tromey
6b8a24cd22 jcf-parse.c: Include <locale.h>.
* jcf-parse.c: Include <locale.h>.
	* jv-scan.c: Include <locale.h>.

From-SVN: r36388
2000-09-13 17:09:36 +00:00
Tom Tromey
86e4b1e4fa expr.c (pop_type_0): Return `Object' if trying to merge two interface types.
* expr.c (pop_type_0): Return `Object' if trying to merge two
	interface types.
	* verify.c (merge_types): Don't return `TYPE_UNKNOWN' for
	interface types; `Object' is always a valid supertype.

From-SVN: r36378
2000-09-12 22:31:00 +00:00
Tom Tromey
d19cbcb5e3 re GNATS gcj/33 (gcj mangles composed characters)
Fix for PR gcj/33:
	* jv-scan.c (help): Document --encoding.
	(options): Added `encoding' entry.
	(OPT_ENCODING): New define.
	(main): Handle --encoding.
	Include <langinfo.h> if nl_langinfo exists.
	* lang-options.h: Document --classpath, --CLASSPATH, --main, and
	--encoding.
	* jcf-parse.c Include <langinfo.h> if we have nl_langinfo.
	(parse_source_file): Correctly call java_init_lex.  Added `finput'
	argument.  Use nl_langinfo to determine default encoding.
	* java-tree.h (current_encoding): Declare.
	* parse.y (java_parser_context_restore_global): Don't restore
	`finput'.
	(java_parser_context_save_global): Don't set `finput' field.
	(java_pop_parser_context): Don't restore `finput'.  Free old lexer
	if required.
	* lang.c (current_encoding): New global.
	(lang_decode_option): Recognize `-fencoding='.
	(finish_parse): Don't close finput.
	* parse.h (struct parser_ctxt): Removed `finput' and
	`unget_utf8_value' fields.  Added `lexer' field.
	(java_init_lex): Fixed declaration.
	* lex.c (java_new_lexer): New function.
	(java_destroy_lexer): Likewise.
	(java_read_char): Added `lex' argument.  Handle iconv case.
	(java_read_unicode): Added `lex' argument.  Count backslashes in
	lexer structure.
	(java_init_lex): Added `finput' and `encoding' arguments.  Set
	`lexer' field in ctxp.
	(BAD_UTF8_VALUE): Removed.
	(java_lex): Handle seeing UEOF in the middle of a string literal.
	* lex.h: Include <iconv.h> if HAVE_ICONV defined.
	(java_lexer): New structure.
	(UNGETC): Removed.
	(GETC): Removed.
	(DEFAULT_ENCODING): New define.
	(java_destroy_lexer): Declare.

From-SVN: r36377
2000-09-12 22:23:59 +00:00
Tom Tromey
ee17a29049 re GNATS gcj/343 (can't cast array to serializable)
Fix for PR gcj/343:
	* lex.c (java_init_lex): Initialize java_io_serializable.
	* parse.y (java_io_serializable): New global.
	(valid_ref_assignconv_cast_p): An array can be cast to
	serializable.

From-SVN: r36376
2000-09-12 22:09:36 +00:00
Zack Weinberg
d8ea8f2871 defaults.h: Provide default definitions for...
* defaults.h: Provide default definitions for: CHAR_TYPE_SIZE,
        SHORT_TYPE_SIZE, INT_TYPE_SIZE, LONG_TYPE_SIZE,
        LONG_LONG_TYPE_SIZE, WCHAR_TYPE_SIZE, FLOAT_TYPE_SIZE,
        DOUBLE_TYPE_SIZE, LONG_DOUBLE_TYPE_SIZE, and WCHAR_UNSIGNED.

        * cppexp.c, dwarfout.c, dwarf2out.c, emit-rtl.c, final.c, optabs.c,
        profile.c, sdbout.c, tradcif.y, tree.c, ch/decl.c, ch/timing.c,
        cp/decl.c, cp/rtti.c, f/com.c, f/com.h, java/decl.c, java/expr.c:
        Include defaults.h if not already included.
        Don't define the above macros.

        * Makefile.in, ch/Makefile.in, cp/Makefile.in, f/Makefile.in:
        Update dependencies.

From-SVN: r36307
2000-09-11 01:50:49 +00:00
Geoff Keating
0caae6ddb8 typeck.c (build_java_array_type): Correct first parameter in ADJUST_FIELD_ALIGN invocation.
* typeck.c (build_java_array_type): Correct first parameter
	in ADJUST_FIELD_ALIGN invocation.

From-SVN: r36280
2000-09-09 18:35:01 +00:00
Alexandre Petit-Bianco
3e99f50c2b verify.c (merge_types): Load the types to merge if necessary.
2000-09-05  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* verify.c (merge_types): Load the types to merge if necessary.

(http://gcc.gnu.org/ml/gcc-patches/2000-09/msg00245.html)

From-SVN: r36243
2000-09-07 11:24:41 -07:00
Tom Tromey
f0bee8b3f0 * lang-specs.h: Also recognize `-femit-class-files'.
From-SVN: r36212
2000-09-06 21:55:39 +00:00
Alexandre Petit-Bianco
354e99ce38 parse.y (do_merge_string_cste): New locals.
2000-08-11  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* parse.y (do_merge_string_cste): New locals. Create new
	STRING_CSTs each time, use memcpy. Fixes gcj/311

(Fixes gcj/311:
   http://gcc.gnu.org/ml/gcc-patches/2000-09/msg00144.html
   http://sources.redhat.com/ml/java-prs/2000-q3/msg00116.html)

From-SVN: r36176
2000-09-05 19:37:09 -07:00
Anthony Green
3ca8c9aea0 jcf-io.c: Include zlib.h.
2000-09-02  Anthony Green  <green@redhat.com>

        * jcf-io.c: Include zlib.h.
        (open_in_zip): Read compressed class file archives.
        * zipfile.h (ZipDirectory): Add uncompressed_size and
        compression_method fields.
        * zextract.c (read_zip_archive): Collect file compression info.

From-SVN: r36175
2000-09-06 02:13:28 +00:00
Hans Boehm
7c097ee994 boehm.c (mark_reference_fields): Set marking bits for all words in a multiple-word record.
2000-08-07  Hans Boehm  <boehm@acm.org>

        * boehm.c (mark_reference_fields): Set marking bits for all words in
        a multiple-word record.
        (get_boehm_type_descriptor): Use the procedure marking descriptor
	for java.lang.Class.

From-SVN: r36159
2000-09-05 12:37:52 +01:00