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