Commit Graph

34519 Commits

Author SHA1 Message Date
Richard Henderson
94b68558d1 * Makefile.in (make-temp-file.o): Depend on config.h.
From-SVN: r40929
2001-03-28 03:32:54 -08:00
Richard Henderson
1150a84134 sparc.c (eligible_for_epilogue_delay): False if current_function_calls_eh_return.
* config/sparc/sparc.c (eligible_for_epilogue_delay): False if
        current_function_calls_eh_return.
        (output_function_epilogue): Handle eh_return.
        * config/sparc/sparc.h (DOESNT_NEED_UNWINDER): Remove.
        (EH_RETURN_DATA_REGNO): New.
        (EH_RETURN_STACKADJ_RTX): New.
        (EH_RETURN_HANDLER_RTX): New.
        * config/sparc/sparc.md (call/short branch peepholes): Check
        can_throw_internal instead of in_same_eh_region.

From-SVN: r40928
2001-03-28 03:23:52 -08:00
Richard Henderson
83720594ce rs6000.c (rs6000_stack_info): Allocate space for eh_return data registers.
* config/rs6000/rs6000.c (rs6000_stack_info): Allocate space
        for eh_return data registers.
        (rs6000_emit_prologue): Save eh_return data registers.
        (rs6000_emit_epilogue): Force inline restores if eh_return.
        Restore eh_return data registers.  Mind EH_RETURN_STACKADJ_RTX.
        * config/rs6000/rs6000.h (rs6000_stack_t): Add ehrd_offset.
        (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX): New.
        (EPILOGUE_USES): True for TOC_REGISTER if calls_eh_return and
        the target uses one.
        * config/rs6000/rs6000.md (eh_epilogue, eh_reg_restore): Remove.
        (return_eh_si, return_eh_di): Remove.
        (eh_return): New, from corpse of eh_epilogue.
        (eh_set_lr_si, eh_set_lr_di): New.

From-SVN: r40927
2001-03-28 03:19:20 -08:00
Richard Henderson
1020a5ab7e i386.c (general_no_elim_operand): Disallow virtual regs.
* config/i386/i386.c (general_no_elim_operand): Disallow virtual regs.
        (ix86_save_reg): If maybe_eh_return, true for EH_RETURN_DATA_REGNOs.
        True for pic register if current_function_calls_eh_return.
        (ix86_expand_epilogue): Change "emit_return" argument into "style".
        Handle eh_return requirements.
        * config/i386/i386.h (EH_RETURN_DATA_REGNO): New.
        (EH_RETURN_STACKADJ_RTX): New.
        * config/i386/i386.md (exception_receiver): Remove.
        (eh_return, eh_return_1): New.
        * config/i386/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.

From-SVN: r40926
2001-03-28 03:14:40 -08:00
Richard Henderson
4573b4de23 alpha.c (alpha_sa_mask): Add EH_RETURN_DATA_REGNOs.
* config/alpha/alpha.c (alpha_sa_mask): Add EH_RETURN_DATA_REGNOs.
        (alpha_mark_machine_status): No eh_epilogue_sp_ofs ...
        (alpha_expand_epilogue): ... use EH_RETURN_STACKADJ_RTX instead.
        * config/alpha/alpha.h (machine_function): Remove eh_epilogue_sp_ofs.
        (EH_RETURN_DATA_REGNO): New.
        (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): New.
        * config/alpha/alpha.md (eh_epilogue): Remove.
        (exception_receiver): Use $26 for ldgp input.
        * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.

From-SVN: r40925
2001-03-28 03:09:20 -08:00
Richard Henderson
52a11cbfcf IA-64 ABI Exception Handling.
From-SVN: r40924
2001-03-28 03:04:51 -08:00
Richard Henderson
ce1c98ea45 java-tree.h (throw_node): Define as a single member of java_global_trees instead of a separate array.
* java-tree.h (throw_node): Define as a single member of
        java_global_trees instead of a separate array.
        (JTI_THROW_NODE): New.
        * decl.c (throw_node): Don't declare.
        (init_decl_processing): Init a scalar throw_node.
        Don't register it for gc.
        * check-init.c (check_init): Reference scalar throw_node.
        * expr.c (build_java_athrow): Likewise.
        * jcf-write.c (generate_bytecode_insns): Likewise.
        * parse.h (BUILD_THROW): Likewise.

From-SVN: r40922
2001-03-28 00:59:30 -08:00
Richard Henderson
da7da8f977 decl.c (end_java_method): Do not save and restore flag_non_call_exceptions.
* decl.c (end_java_method): Do not save and restore
        flag_non_call_exceptions.
        * parse.y (source_end_java_method): Likewise.
        * lang.c (flag_exceptions): Don't declare.
        (java_init_options): Set flag_non_call_exceptions.  Set
        flag_exceptions here ...
        (java_init): ... not here.

From-SVN: r40921
2001-03-28 00:38:22 -08:00
Richard Henderson
826840d96a decl.c (struct named_label_list): Rename eh_region to in_try_scope, add in_catch_scope.
* decl.c (struct named_label_list): Rename eh_region to
        in_try_scope, add in_catch_scope.
        (struct binding_level): Rename eh_region to is_try_scope,
        add is_catch_scope.
        (note_level_for_try): Rename from note_level_for_eh.
        (note_level_for_catch): New.
        (poplevel): Copy both is_try_scope and is_catch_scope to
        the named_label_list struct.
        (check_previous_goto_1): Don't check for catch block via
        DECL_ARTIFICIAL; use in_try_scope instead.
        (check_goto): Likewise.
        * cp-tree.h (note_level_for_try, note_level_for_catch): Declare.
        * except.c (expand_start_catch_block): Call note_level_for_catch.
        * semantics.c (begin_compound_stmt): Update for note_level_for_try.

From-SVN: r40920
2001-03-28 00:25:45 -08:00
GCC Administrator
1e7c4465e9 Daily bump.
From-SVN: r40919
2001-03-28 08:16:40 +00:00
Richard Henderson
a614d82edd regmove.c (perhaps_ends_bb_p): Use can_throw_internal to reduce false positives.
* regmove.c (perhaps_ends_bb_p): Use can_throw_internal to
        reduce false positives.
        (regmove_optimize): Disable if flag_non_call_exceptions.

From-SVN: r40917
2001-03-28 00:08:43 -08:00
Richard Henderson
7cc8342c77 stmt.c (expand_return): Remove always true predicate.
* stmt.c (expand_return): Remove always true predicate.
        (expand_decl_cleanup_no_eh): Remove dead code.

From-SVN: r40916
2001-03-27 23:49:20 -08:00
Richard Henderson
ca3c102896 sched-deps.c (sched_analyze_insn): Consolidate scheduling barrier code.
* sched-deps.c (sched_analyze_insn): Consolidate scheduling
        barrier code.  Add a scheduling barrier if a non-call insn
        can throw internally.

From-SVN: r40915
2001-03-27 23:42:04 -08:00
Richard Henderson
4f73495e07 rtlanal.c (rtx_addr_can_trap_p): Virtual registers cannot trap.
* rtlanal.c (rtx_addr_can_trap_p): Virtual registers cannot trap.
        Auto-inc addresses trap only if their base register does.

From-SVN: r40914
2001-03-27 23:34:51 -08:00
Richard Henderson
54590688b5 except.c (can_throw_internal): Rename from can_throw.
* except.c (can_throw_internal): Rename from can_throw.
        * except.h, resource.c: Update references.

From-SVN: r40913
2001-03-27 23:29:21 -08:00
Richard Henderson
8cd442715f integrate.c (copy_insn_list): Use returnjump_p.
* integrate.c (copy_insn_list): Use returnjump_p.
        (copy_insn_notes): Recurse for CALL_PLACEHOLDER.

From-SVN: r40912
2001-03-27 23:20:43 -08:00
Richard Henderson
89996b6e7c function.h (struct function): Move all boolean valued fields to single bit fields at the end of the struct.
* function.h (struct function): Move all boolean valued fields
        to single bit fields at the end of the struct.

From-SVN: r40911
2001-03-27 23:08:57 -08:00
Richard Henderson
2f2ee4bba2 flow.c (cleanup_cfg): Take no argument.
* flow.c (cleanup_cfg): Take no argument.
        * output.h, sibcall.c, toplev.c: Update all calls.

From-SVN: r40910
2001-03-27 22:53:49 -08:00
Richard Henderson
ad73b55832 flow.c (tidy_fallthru_edges): Don't combine complex edges.
* flow.c (tidy_fallthru_edges): Don't combine complex edges.
        (calculate_global_regs_live): Kill call-clobbered registers
        across exception edges.
        * reg-stack.c (convert_regs_1): Kill the entire target stack
        across non-call exception edges.

From-SVN: r40909
2001-03-27 22:22:23 -08:00
Richard Henderson
461fc4de6a Remove flag_new_exceptions.
From-SVN: r40908
2001-03-27 22:11:49 -08:00
Richard Henderson
662795a85f combine.c (distribute_notes): If non-call exceptions, put the note on the trapping instruction.
* combine.c (distribute_notes) [REG_EH_REGION]: If non-call
        exceptions, put the note on the trapping instruction.

From-SVN: r40907
2001-03-27 21:40:43 -08:00
Richard Henderson
894d0e3925 except.h (flag_non_call_exceptions): Move ...
* except.h (flag_non_call_exceptions): Move ...
        * flags.h: ... here.

From-SVN: r40906
2001-03-27 21:38:40 -08:00
Richard Henderson
531073e70e Make -fsjlj-exceptions a configure option.
From-SVN: r40905
2001-03-27 21:24:24 -08:00
Richard Henderson
979988f32c * parse.y (source_end_java_method): Likewise.
From-SVN: r40904
2001-03-27 21:04:20 -08:00
Richard Henderson
e64a65418f gthr-single.h (UNUSED): New.
* gthr-single.h (UNUSED): New.  Distinguish between how C
        and C++ mark unused function arguments.  Use throughout.

From-SVN: r40903
2001-03-27 20:37:36 -08:00
Richard Henderson
c1e9f66309 bb-reorder.c, [...]: Rename asynchronous_exceptions to flag_non_call_exceptions.
* bb-reorder.c, dwarf2out.c, except.c, except.h, flow.c,
        jump.c, toplev.c:
        Rename asynchronous_exceptions to flag_non_call_exceptions.

        * java/decl.c (end_java_method): Rename asynchronous_exceptions to
        flag_non_call_exceptions.

From-SVN: r40902
2001-03-27 20:18:13 -08:00
Kaveh R. Ghazi
27f66c0bcb * memchr.c (memchr): Adjust condition to avoid infinite loop.
From-SVN: r40899
2001-03-28 04:10:24 +00:00
Kaveh R. Ghazi
8e9449099d configure.in: Don't check for bcopy.
* configure.in: Don't check for bcopy.
	* configure, config.in: Regenerate.

	* system.h: Don't define or prototype bcopy, instead poison it.

From-SVN: r40898
2001-03-28 04:05:46 +00:00
Richard Henderson
695ee791dc rtl.h (LCT_NORETURN): New.
* rtl.h (LCT_NORETURN): New.
        * calls.c (emit_library_call_value_1): Handle it.

From-SVN: r40897
2001-03-27 19:35:05 -08:00
Richard Henderson
3d74dad834 function.c (expand_function_start): Set DECL_REGISTER on a pseudo used for DECL_RESULT.
* function.c (expand_function_start): Set DECL_REGISTER on
        a pseudo used for DECL_RESULT.

From-SVN: r40896
2001-03-27 19:28:28 -08:00
Stan Shebs
e804281ead objc-act.c (objc_init): Use dump_base_name.
* objc/objc-act.c (objc_init): Use dump_base_name.
        (gen_declaration): Clear the buffer arg.
        (gen_declaration_1): New function, body of gen_declaration.
        (adorn_decl): Call gen_declaration_1 instead of gen_declaration.
        (gen_method_decl): Ditto, plus always clear buffer arg.
        (error_with_ivar): Simplify.
        (warn_with_method): Ditto.
        (build_message_expr): Don't clear buffers.
        (dump_interface): Ditto.
        (objc_debug): Ditto.
        (build_keyword_selector): Clear the buffer by only zeroing
        the first element.
        (objc_implementation_context): Declare.
        (start_class): Warn about missing @end.
        (finish_objc): Ditto.

From-SVN: r40895
2001-03-28 02:49:19 +00:00
Alexandre Oliva
787d2fb712 Makefile.am (CXXLINK): Use CXX again, and choose CXX tag explicitly.
* libsupc++/Makefile.am (CXXLINK): Use CXX again, and choose
CXX tag explicitly.
* src/Makefile.am (CXXLINK): Likewise.
* libsupc++/Makefile.in, src/Makefile.in: Rebuilt.

From-SVN: r40894
2001-03-28 01:19:42 +00:00
Alexandre Oliva
a076f6a483 * configure.in (CXX_FOR_TARGET): Use xgcc for libstdc++-v3.
From-SVN: r40893
2001-03-28 01:18:00 +00:00
Phil Edwards
8653a2c31c pt.c (check_default_tmpl_args): Make error messages clearer.
2001-03-27  Phil Edwards  <pme@sources.redhat.com>

	* pt.c (check_default_tmpl_args):  Make error messages clearer.

From-SVN: r40889
2001-03-28 00:44:39 +00:00
Joerg Brunsmann
0d430c965d InitialContext.java (init): Fix typo.
2001-03-27  Joerg Brunsmann  <joerg_brunsmann@yahoo.de>

	* javax/naming/InitialContext.java (init): Fix typo.
	(composeName): Remove unnecessary semicolon.
	(addToEnvironment): Remove unnecessary semicolon.
	(addToEnvironment): Use put() instead of add().

	* javax/naming/InitialContext.java (InitialContext):
	Make public.
	(destroySubcontext): Method doesn't return a result.
	* javax/naming/Context.java: Import java.util.Hashtable.
	* javax/naming/Name.java: Import java.util.Enumeration.

From-SVN: r40888
2001-03-28 01:32:02 +01:00
John David Anglin
055c77597b * reload1.c (eliminate_regs): Don't abort on MEM USEs.
From-SVN: r40887
2001-03-28 09:55:25 +09:30
Jim Wilson
ad0fc69878 Fix ia64-linux kernel miscompile, bad unwind info when reorder epilogue block.
* final.c (final_scan_insn, case NOTE_INSN_BASIC_BLOCK): Call
	IA64_UNWIND_EMIT.
	* config/ia64/ia64.c (block_num, need_copy_state): New static vars.
	(process_epilogue): New static function.
	(process_set): Call process_epilogue instead of emitting .restore
	directly.
	(process_for_unwind_directive): Handle NOTE_INSN_BASIC_BLOCK.

From-SVN: r40885
2001-03-27 15:15:04 -08:00
Kaveh R. Ghazi
911e61070f Makefile.in (SYSTEM_H): Define.
* Makefile.in (SYSTEM_H): Define.
	Depend on $(SYSTEM_H), not system.h.

	* objc/Make-lang.in: Depend on $(SYSTEM_H), not system.h.

cp:
	* Make-lang.in: Depend on $(SYSTEM_H), not system.h.

f:
	* Make-lang.in: Depend on $(SYSTEM_H), not system.h.

java:
	* Make-lang.in: Depend on $(SYSTEM_H), not system.h.

From-SVN: r40883
2001-03-27 22:57:35 +00:00
Jim Wilson
685af3af8a Fix ia64-linux ICE on bash.
* flow.c (struct reg_cond_life_info): New fields orig_condition
	and stores.
	(init_propagate_block_info): Set new fields.
	(mark_regno_cond_dead): Set and use new fields.
	(flush_reg_cond_reg_1): Likewise.
	(and_reg_cond, case AND): Check for redundant AND conditions.
	(mark_used_reg): Delete unnecessary clears before freeing splay trees.
	Set new fields.

From-SVN: r40881
2001-03-27 14:48:03 -08:00
Neil Booth
b044e9d5e9 * cppmacro.c (stringify_arg): Null terminate strings.
From-SVN: r40880
2001-03-27 21:04:55 +00:00
Zack Weinberg
0b29309adf config.gcc (m68hc11-*-*, [...]): Convert to new tm.h inclusion style.
* config.gcc (m68hc11-*-*, m68hc12-*-*): Convert to new tm.h
	inclusion style.  xm-m68hc11.h no longer exists.
	* config/m68hc11/xm-m68hc11.h: Delete file.
	* config/m68hc11/m68hc12.h: Convert to new tm.h inclusion style.

	* config/m68hc11/m68hc11.h: Convert to new tm.h inclusion style.
	Don't define GCC_VERSION, N_, or PARAMS; don't include
	gansidecl.h or stdio.h.  Define inhibit_libc here.
	Make code conditioned on #if GCC_VERSION > 2095 unconditional.
	Delete code conditioned on #if GCC_VERSION == 2095.

	* config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
	Make code conditioned on #if GCC_VERSION > 2095 unconditional.
	Delete code conditioned on #if GCC_VERSION == 2095.

From-SVN: r40878
2001-03-27 20:09:27 +00:00
Benjamin Kosnik
ec0104b3bc c++config (_STL_USE_CONCEPT_CHECKS): Disable by default.
2001-03-27  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/c++config (_STL_USE_CONCEPT_CHECKS): Disable by default.

From-SVN: r40877
2001-03-27 19:40:46 +00:00
Peter Schmid
6fd7b97d7d tests_flags.in: Change the order of libstdc++ and libc
k

2001-03-26  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>

        * libstdc++-v3/tests_flags.in: Change the order of libstdc++
          and libc

From-SVN: r40876
2001-03-27 19:17:16 +00:00
Kaveh R. Ghazi
4bc5fbd480 system.h: Include symcat.h.
* system.h: Include symcat.h.
	(STRINGIFY): Don't define.

	* configure.in: Adjust comment.

	* builtins.c: Use STRINGX, not STRINGIFY.
	* gencheck.c: Likewise.
	* gengenrtl.c: Likewise.
	* protoize.c: Likewise.

	* cpplex.c: Don't include symcat.h.
	* cpplib.c: Likewise.

	* gansidecl.h (HAVE_STRINGIZE): Don't define.

From-SVN: r40875
2001-03-27 15:31:46 +00:00
GCC Administrator
313e46b929 Daily bump.
From-SVN: r40872
2001-03-27 08:16:09 +00:00
Alan Modra
b13aca193b * c-typeck.c (digest_init): Fold init expression.
From-SVN: r40867
2001-03-27 15:33:40 +09:30
Mike Yang
005a5cb08b dump.c (dump_access): New function.
* dump.c (dump_access): New function.
	(cp_dump_tree): Use it.  Dump basetype information for class
	types.

Co-Authored-By: Mark Mitchell <mark@codesourcery.com>

From-SVN: r40866
2001-03-27 04:52:21 +00:00
Benjamin Kosnik
5fa9abc3e9 basic_file.h (get_fileno): Remove.
2001-03-26  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/basic_file.h (get_fileno): Remove.
	(_M_fileno): Remove.
	(_M_cfile_created): Add.
	(basic_file::basic_file(__c_file_type*, openmode): Add.
	(basic_file::basic_file(int, const char*, openmode): Remove.
	* include/bits/fstream.tcc (basic_fstream::basic_filebuf(int __fd,
	const char*, ios_base::openmode): Don't allocate
	internal buffers. Turn off internal buffers.
	(basic_filebuf::overflow): Remove test for null buffer.
	(basic_filebuf::_M_really_overflow): Same. Allow unbuffered use.
	* include/bits/streambuf.cc: Tweak.
	* include/bits/std_ostream.h: Tweak.
	* config/basic_file_libio.h: Same.
	* config/basic_file_stdio.h: Same.
	* src/ios.cc (ios_base::Init::Init()): Unbuffer stdout by default.
	* testsuite/27_io/filebuf_members.cc: Tweaks.
	* testsuite/27_io/ios_base_members_static.cc: Tweaks.

From-SVN: r40863
2001-03-27 03:48:17 +00:00
Kaveh R. Ghazi
7c5b92c459 * sbitmap.c (sbitmap_copy): Call memcpy, not bcopy.
From-SVN: r40862
2001-03-27 03:37:03 +00:00
Alan Modra
5b5c273405 except.c (eh_regs): Save results of build_pointer_type to a temp as FUNCTION_VALUE macro may...
* except.c (eh_regs): Save results of build_pointer_type to a temp
as FUNCTION_VALUE macro may evaluate its args multiple times.

From-SVN: r40861
2001-03-27 12:30:07 +09:30