Richard Henderson [Thu, 18 Dec 1997 23:20:19 +0000 (15:20 -0800)]
tree.c (build_range_type): Allow creation of ranges with no maximum.
* tree.c (build_range_type): Allow creation of ranges with no maximum.
* dbxout.c (dbxout_range_type): Handle missing TYPE_MAX_VALUE.
* dwarf2out.c (add_subscript_info): Likewise.
* dwarfout.c (subscript_data_attribute, byte_size_attribute): Likewise.
* sdbout.c (plain_type_1): Likewise.
* stmt.c (pushcase_range, all_cases_count, node_has_high_bound):
Likewise.
* fold-const.c (int_const_binop, fold_convert, make_range, fold):
Likewise.
From-SVN: r17142
Richard Henderson [Thu, 18 Dec 1997 23:11:42 +0000 (15:11 -0800)]
* com.c (ffecom_sym_transform_): Assumed arrays have no upper bound.
From-SVN: r17141
Jeff Law [Thu, 18 Dec 1997 22:48:31 +0000 (15:48 -0700)]
* mips.c (fatal): Remove declaration.
From-SVN: r17140
Jeff Law [Thu, 18 Dec 1997 22:42:41 +0000 (15:42 -0700)]
integrate.c (get_label_from_map): New function.
* integrate.c (get_label_from_map): New function.
(expand_inline_function): Use it. Initialize the label_map to
NULL_RTX instead of gen_label_rtx.
(copy_rtx_and_substitute): Use get_label_from_map.
* integrate.h (get_label_from_map): New function.
(set_label_from_map): New macro.
* unroll.c (unroll_loop): Use them.
(copy_loop_body): Ditto.
From-SVN: r17139
Mark Mitchell [Thu, 18 Dec 1997 19:26:14 +0000 (19:26 +0000)]
pt.c (coerce_template_parms): Make sure to digest_init if possible.
* pt.c (coerce_template_parms): Make sure to digest_init if
possible.
From-SVN: r17138
Ian Lance Taylor [Thu, 18 Dec 1997 18:45:57 +0000 (18:45 +0000)]
mips.h (INIT_SUBTARGET_OPTABS): Define if not defined.
* mips/mips.h (INIT_SUBTARGET_OPTABS): Define if not defined.
(INIT_TARGET_OPTABS): Define.
* mips/ecoff.h: Include gofast.h before mips.h.
(INIT_SUBTARGET_OPTABS): Define instead of INIT_TARGET_OPTABS.
* mips/elf64.h: Likewise.
* mips/elf.h (ASM_OUTPUT_SECTION_NAME): Define.
From-SVN: r17137
Gavin Koch [Thu, 18 Dec 1997 17:31:01 +0000 (17:31 +0000)]
unroll.c (calculate_giv_inc): Handle constant increment found in a MEM with an appropriate REG_EQUAL note.
* unroll.c (calculate_giv_inc): Handle constant increment found in
a MEM with an appropriate REG_EQUAL note.
From-SVN: r17136
Mark Mitchell [Thu, 18 Dec 1997 16:45:28 +0000 (16:45 +0000)]
decl.c (duplicate_decls): Make the newdecl virtual if the olddecl was...
* decl.c (duplicate_decls): Make the newdecl virtual if the
olddecl was, just as is done with other attributes of olddecl.
From-SVN: r17135
Jason Merrill [Thu, 18 Dec 1997 15:07:48 +0000 (15:07 +0000)]
typeck.c (unary_complex_lvalue): Ignore op0 when taking the address of an OFFSET_REF.
* typeck.c (unary_complex_lvalue): Ignore op0 when taking the
address of an OFFSET_REF.
From-SVN: r17134
Gavin Koch [Thu, 18 Dec 1997 15:00:06 +0000 (15:00 +0000)]
* calls.c (expand_call): Implement LOAD_ARGS_REVERSED.
From-SVN: r17133
Jason Merrill [Thu, 18 Dec 1997 14:52:24 +0000 (14:52 +0000)]
except.c: Remove register_exception_table{,_p}.
* except.c: Remove register_exception_table{,_p}.
* decl2.c (finish_file): Remove call to register_exception_table.
* cp-tree.def: Add AGGR_INIT_EXPR.
* error.c, tree.c, typeck.c: Replace uses of NEW_EXPR with
AGGR_INIT_EXPR where appropriate.
* expr.c (cplus_expand_expr): Likewise. Simplify.
From-SVN: r17132
Gavin Koch [Thu, 18 Dec 1997 14:48:19 +0000 (07:48 -0700)]
dwarf2out.c (dwarf2out_frame_debug): Handle adjustments of the frame pointer in the prologue.
/
* dwarf2out.c (dwarf2out_frame_debug): Handle adjustments of the
frame pointer in the prologue.
From-SVN: r17131
Gavin Koch [Thu, 18 Dec 1997 14:48:12 +0000 (07:48 -0700)]
dwarf2out.c (dwarf2out_frame_debug): Handle adjustments of the frame pointer in the prologue.
* dwarf2out.c (dwarf2out_frame_debug): Handle adjustments of the
frame pointer in the prologue.
From-SVN: r17130
Benjamin Kosnik [Thu, 18 Dec 1997 13:06:20 +0000 (13:06 +0000)]
*** empty log message ***
From-SVN: r17129
Benjamin Kosnik [Thu, 18 Dec 1997 13:03:54 +0000 (13:03 +0000)]
c++: Don't inject friends while processing templates
* pt.c (instantiate_class_template): Don't do injection when
processing_template_decl is true, as pollutes current_binding_level
for base classes.
PR g++/13911/14438
From-SVN: r17128
Robert Lipe [Thu, 18 Dec 1997 11:51:41 +0000 (11:51 +0000)]
* x-sco5 (CLIB) Deleted. (ALLOCA) Added.
* xm-sco5.h (USE_C_ALLOCA) Added.
From-SVN: r17127
Peter Schmid [Wed, 17 Dec 1997 20:15:00 +0000 (20:15 +0000)]
* pt.c (maybe_fold_nontype_arg): Add prototype.
From-SVN: r17126
Bill Moyer [Wed, 17 Dec 1997 16:05:51 +0000 (16:05 +0000)]
Adjusted egcs m68k-coff files to look like gcc2 m68k-coff files.
From-SVN: r17125
Richard Henderson [Wed, 17 Dec 1997 15:07:39 +0000 (07:07 -0800)]
sparc.md (jump): Don't use the annul bit around an empty loop.
* sparc.md (jump): Don't use the annul bit around an empty loop.
Patch from Kevin.Kelly@East.Sun.COM.
From-SVN: r17124
Stan Cox [Tue, 16 Dec 1997 23:52:36 +0000 (23:52 +0000)]
jump.c: (optimize_jump): Don't use the return register as a source1 of a conditional move.
* jump.c: (optimize_jump): Don't use the return register as a
source1 of a conditional move.
From-SVN: r17123
Richard Henderson [Tue, 16 Dec 1997 23:46:23 +0000 (15:46 -0800)]
sparc.c (DF_MODES): Or the mask not the bit number.
* sparc.c (DF_MODES): Or the mask not the bit number.
(function_arg) [ARCH64]: Send unprototyped arg to fp reg first.
From-SVN: r17122
Christian Iseli [Tue, 16 Dec 1997 23:12:32 +0000 (00:12 +0100)]
* combine.c (force_to_mode): return immediately if operand is a CLOBBER.
From-SVN: r17121
Manfred Hollstein [Tue, 16 Dec 1997 22:51:00 +0000 (22:51 +0000)]
fixincludes (size_t): Add support for Motorola's stdlib.h which fails to provide a definition for size_t.
* fixincludes (size_t): Add support for Motorola's stdlib.h
which fails to provide a definition for size_t.
(fabs/hypot): Provide a prototype for fabs on m88k-motorola-sysv3.
(strlen,strspn,strcspn return value): Handle different layout on sysV88.
(hypot): Provide a fake for hypot for m88k-motorola-sysv3.
Fixes from Manfred.
From-SVN: r17120
Jeff Law [Tue, 16 Dec 1997 22:45:45 +0000 (15:45 -0700)]
profile1.C (XFAIL): Expect it to fail on m68k-motorola-sysv and m88k-motorola-sysv3.
* g++.old-deja/g++.law/profile1.C (XFAIL): Expect it to fail on
m68k-motorola-sysv and m88k-motorola-sysv3.
* gcc.c-torture/execute/loop-2e.cexp: New file to indicate expected
compile failures on m68k-motorola-sysv and m88k-motorola-sysv3.
* gcc.c-torture/execute/loop-2f.cexp: Likewise.
From-SVN: r17119
Manfred Hollstein [Tue, 16 Dec 1997 22:42:33 +0000 (22:42 +0000)]
xm-mot3300.h (ADD_MISSING_POSIX, [...]): Define to prevent unresolved externals in libio.
* m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
prevent unresolved externals in libio.
* m88k/xm-sysv3.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Likewise.
From-SVN: r17118
H.J. Lu [Tue, 16 Dec 1997 22:25:35 +0000 (22:25 +0000)]
linux64.h (LIBGCC_SPEC): Removed.
* config/sparc/linux64.h (LIBGCC_SPEC): Removed.
(CPP_SUBTARGET_SPEC): Add %{pthread:-D_REENTRANT}.
(LIB_SPEC): Updated for glibc 2.
From-SVN: r17117
Jeffrey A Law [Tue, 16 Dec 1997 20:00:15 +0000 (20:00 +0000)]
stdarg.h: Undo BeOS changes, they break hpux.
* ginclude/stdarg.h: Undo BeOS changes, they break hpux.
* ginclude/varargs.h: Likewise.
From-SVN: r17116
Jason Merrill [Tue, 16 Dec 1997 16:51:07 +0000 (16:51 +0000)]
tree.c (mapcar): Handle TRY_CATCH_EXPR et al.
* tree.c (mapcar): Handle TRY_CATCH_EXPR et al.
* error.c (dump_expr): Likewise.
From-SVN: r17115
Jeff Law [Mon, 15 Dec 1997 23:28:44 +0000 (16:28 -0700)]
frame.h (__register_frame, [...]): New.
* frame.h (__register_frame, __register_frame_table,
__deregister_frame): New.
* frame.c (__register_frame, __register_frame_table,
__deregister_frame): New.
* frame.c (__deregister_frame_info): Return void *.
* frame.h (__deregister_frame_info): Ditto.
* collect2.c (__deregister_frame_info): Ditto.
From-SVN: r17113
Jeffrey A Law [Mon, 15 Dec 1997 23:11:07 +0000 (23:11 +0000)]
* version.c: Bump for snapshot.
From-SVN: r17112
Jeff Law [Mon, 15 Dec 1997 22:07:48 +0000 (15:07 -0700)]
Don't ever run autoconf in the toplevel directory :(
From-SVN: r17111
Jason Merrill [Mon, 15 Dec 1997 20:40:20 +0000 (15:40 -0500)]
update
From-SVN: r17110
Jason Merrill [Mon, 15 Dec 1997 20:34:29 +0000 (20:34 +0000)]
typeck.c (build_function_call_real): Remove "inline called before definition" pedwarn.
* typeck.c (build_function_call_real): Remove "inline called before
definition" pedwarn.
* pt.c (coerce_template_parms): Use maybe_fold_nontype_arg.
From-SVN: r17109
Richard Henderson [Mon, 15 Dec 1997 18:40:42 +0000 (10:40 -0800)]
Missed this from the -mmemory-latency commit.
From-SVN: r17108
Richard Henderson [Mon, 15 Dec 1997 18:39:02 +0000 (10:39 -0800)]
* expmed.c (expand_shift): If SHIFT_COUNT_TRUNCATED, drop a SUBREG.
From-SVN: r17107
Richard Henderson [Mon, 15 Dec 1997 18:33:21 +0000 (10:33 -0800)]
alpha.c (alpha_cpu_name): New variable.
* alpha.c (alpha_cpu_name): New variable.
(alpha_mlat_string): Likewise.
(alpha_memory_latency): Likewise.
(override_options): Handle -mmemory-latency.
(alpha_adjust_cost): Adjust load cost for latency.
* alpha.h (TARGET_OPTIONS): Add meory-latency.
(REGISTER_MOVE_COST): Define in terms of memory_latency. Take
TARGET_CIX into account.
(MEMORY_MOVE_COST): Define in terms of memory_latency.
* invoke.texi (DEC Alpha Options): Document -mmemory-latency.
* alpha.h (ASM_COMMENT_START): New macro.
From-SVN: r17106
Richard Henderson [Mon, 15 Dec 1997 17:55:58 +0000 (09:55 -0800)]
reload.h, [...]: Revert March 15 change.
* reload.h, reload1.c (eliminate_regs), caller-save.c, dbxout.c,
dwarfout.c, dwarf2out.c, reload.c, sdbout.c: Revert March 15 change.
* reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
SUBREG_REG if the word count is unchanged.
* reload1.c (eliminate_regs) [case SET]: If W_R_O, preserve
subregs of identical word size for push_reload.
From-SVN: r17105
Mark Mitchell [Mon, 15 Dec 1997 17:55:11 +0000 (10:55 -0700)]
toplev.c (rest_of_compilation): Don't call save_for_inline_copy if all we're doing is dealing with -Wreturn-type.
* toplev.c (rest_of_compilation): Don't call save_for_inline_copy
if all we're doing is dealing with -Wreturn-type.
From-SVN: r17104
Richard Henderson [Mon, 15 Dec 1997 17:55:10 +0000 (09:55 -0800)]
alpha.md (zero_extendqihi2, [...]): Use and 255 instead of zapnot 1, since it schedules better.
* alpha.md (zero_extendqihi2, zero_extendqisi2, zero_extendqidi2):
Use and 255 instead of zapnot 1, since it schedules better.
From-SVN: r17103
Richard Henderson [Mon, 15 Dec 1997 17:34:23 +0000 (09:34 -0800)]
* com.c (ffecom_type_vardesc_): Vardesc.dims is a `ftnlen*'.
From-SVN: r17102
Jeffrey A Law [Mon, 15 Dec 1997 15:46:40 +0000 (15:46 +0000)]
stmt.c (expand_asm_operands): If an ASM has no outputs, then treat it as volatile.
* stmt.c (expand_asm_operands): If an ASM has no outputs, then treat
it as volatile.
From-SVN: r17100
Jeff Law [Mon, 15 Dec 1997 15:08:30 +0000 (08:08 -0700)]
Rebuild.
From-SVN: r17099
Jason Merrill [Mon, 15 Dec 1997 07:24:29 +0000 (07:24 +0000)]
cvt.c (cp_convert_to_pointer): Fix base conversion of pm's.
* cvt.c (cp_convert_to_pointer): Fix base conversion of pm's.
* pt.c (type_unification_real): Change __null to type void* with
a warning.
From-SVN: r17098
Jeff Law [Mon, 15 Dec 1997 07:05:04 +0000 (00:05 -0700)]
Bring over changes from latest gcc-2.8 pre-release.
Mirror sched.c change into haifa-sched.c
From-SVN: r17097
Jeff Law [Mon, 15 Dec 1997 06:11:01 +0000 (23:11 -0700)]
Change from latest gcc-2.8 prerelease
From-SVN: r17096
Mark Mitchell [Mon, 15 Dec 1997 04:40:01 +0000 (04:40 +0000)]
call.c (implicit_conversion): Don't call build_user_type_conversion_1 with a NULL expr, since it will crash.
* call.c (implicit_conversion): Don't call
build_user_type_conversion_1 with a NULL expr, since it will
crash.
* pt.c (unify): Don't try to unify array bounds if either array is
unbounded.
From-SVN: r17095
Jason Merrill [Mon, 15 Dec 1997 03:58:21 +0000 (22:58 -0500)]
tweak
From-SVN: r17094
Jason Merrill [Mon, 15 Dec 1997 03:58:03 +0000 (22:58 -0500)]
tweak comment
From-SVN: r17093
Per Bothner [Sat, 13 Dec 1997 19:40:06 +0000 (19:40 +0000)]
* expr.c (expand_builtin): Support BUILT_IN_FMOD - just call fmod.
From-SVN: r17090
Jason Merrill [Sat, 13 Dec 1997 01:49:10 +0000 (01:49 +0000)]
flow.c (flow_analysis): Be consistent with find_basic_blocks in determining when a new basic block starts.
* flow.c (flow_analysis): Be consistent with find_basic_blocks in
determining when a new basic block starts.
From-SVN: r17085
Jason Merrill [Sat, 13 Dec 1997 00:28:00 +0000 (00:28 +0000)]
errfn.c (cp_pedwarn, [...]): Replace extern decls with casts.
* errfn.c (cp_pedwarn, cp_pedwarn_at, cp_error_at, cp_warning_at):
Replace extern decls with casts.
* decl.c (expand_start_early_try_stmts): Don't mess with a sequence.
Update last_parm_cleanup_insn.
(store_after_parms): Remove.
* cp-tree.h: Adjust.
Fixes eh{39,40}.C
From-SVN: r17083
Jason Merrill [Fri, 12 Dec 1997 23:30:45 +0000 (18:30 -0500)]
add dwarf2 note
From-SVN: r17082
Richard Kenner [Fri, 12 Dec 1997 16:06:57 +0000 (16:06 +0000)]
integrate.c (initialize_for_inline): In DECL_RTL of a PARM_DECL, look inside a (mem (addressof (mem ...))).
* integrate.c (initialize_for_inline): In DECL_RTL of a PARM_DECL,
look inside a (mem (addressof (mem ...))).
From-SVN: r17075
Jeff Law [Fri, 12 Dec 1997 15:58:02 +0000 (08:58 -0700)]
Rebuild after recent changes.
From-SVN: r17074
Jason Merrill [Fri, 12 Dec 1997 10:31:22 +0000 (10:31 +0000)]
osf2or3.h (LIB_SPEC): Restore missing defn.
* alpha/osf2or3.h (LIB_SPEC): Restore missing defn.
Lost in 11/02 merge.
* pa.h (TEXT_SPACE_P): Use TREE_CODE_CLASS.
* pa.md (iorsi3): Add missing args to *_operand calls.
Simple bugs shown up by recent changes.
From-SVN: r17071
Jason Merrill [Fri, 12 Dec 1997 09:23:52 +0000 (09:23 +0000)]
except.c (call_get_eh_context): Don't mess with sequences.
* except.c (call_get_eh_context): Don't mess with sequences.
(emit_eh_context): Include the call in the sequence here.
From-SVN: r17070
Jeff Law [Fri, 12 Dec 1997 09:00:19 +0000 (02:00 -0700)]
Finish last change. I'm no emacs wizard :(
From-SVN: r17069
Jeff Law [Fri, 12 Dec 1997 08:50:19 +0000 (01:50 -0700)]
Fix minor bug in BeOS changes.
From-SVN: r17068
Jeff Law [Fri, 12 Dec 1997 08:13:05 +0000 (01:13 -0700)]
Revert last change
From-SVN: r17067
Paul Eggert [Fri, 12 Dec 1997 07:37:57 +0000 (07:37 +0000)]
collect2.c (write_c_file_glob): Allocate initial frame object in static storage and pass its address.
* collect2.c (write_c_file_glob): Allocate initial frame object
in static storage and pass its address.
From-SVN: r17066
Jason Merrill [Fri, 12 Dec 1997 07:35:04 +0000 (07:35 +0000)]
except.c (call_get_eh_context): Don't take a parm.
* except.c (call_get_eh_context): Don't take a parm.
Put the call at the top of the function.
(emit_eh_context): Adjust.
(get_eh_context): Replace with former use_eh_context.
(get_eh_context_once, get_saved_pc_ref): Remove.
(start_eh_unwinder, end_eh_unwinder, emit_unwinder): Remove.
* except.h: Adjust.
* integrate.c (expand_inline_function): Adjust.
* toplev.c (rest_of_compilation): Don't call emit_unwinder.
tidy tidy tidy
From-SVN: r17065
Marc Lehmann [Fri, 12 Dec 1997 07:03:24 +0000 (07:03 +0000)]
xm-go32.h (EXECUTABLE_SUFFIX): Define.
* i386/xm-go32.h (EXECUTABLE_SUFFIX): Define.
(DIR_SEPARATOR, NO_SYS_SIGLIST): Likewise.
From-SVN: r17064
Dave Love [Fri, 12 Dec 1997 06:55:33 +0000 (06:55 +0000)]
linux.h (STACK_BOUNDARY): Define as 64 for glibc2.
* i386/linux.h (STACK_BOUNDARY): Define as 64 for glibc2.
* i386/gnu.h (STACK_BOUNDARY): Define as 64.
From-SVN: r17063
Manfred Hollstein [Fri, 12 Dec 1997 06:53:30 +0000 (06:53 +0000)]
fixincludes (str{len,spn,cspn} return value): Handle different layout on sysV88.
* fixincludes (str{len,spn,cspn} return value): Handle different
layout on sysV88.
(hypot): Provide a fake for hypot which is broken on
m88k-motorola-sysv3.
From-SVN: r17062
John F. Carr [Fri, 12 Dec 1997 06:49:29 +0000 (06:49 +0000)]
tree.c, tree.h: Change tree_code_type, tree_code_length, and tree_code_name from pointers to arrays.
* tree.c, tree.h: Change tree_code_type, tree_code_length, and
tree_code_name from pointers to arrays.
* tree.c: Remove standard_tree_code_* variables, no longer used.
* print-tree.c: Remove declaration of tree_code_name.
* cp/lex.c (init_lex): Update for tree_code_* changes.
* objc/objc-act.c (init_objc): Likewise.
* tree.def, cp/cp-tree.def, objc/objc-tree.def: Update for tree_code
changes.
From-SVN: r17061
Fred Fish [Fri, 12 Dec 1997 06:36:11 +0000 (06:36 +0000)]
cvs commit ChangeLog config.sub configure configure.in toplev.c
From-SVN: r17060
Fred Fish [Fri, 12 Dec 1997 06:28:39 +0000 (06:28 +0000)]
* config.guess: Add BeOS support.
From-SVN: r17059
Jeffrey A Law [Fri, 12 Dec 1997 06:23:19 +0000 (06:23 +0000)]
m68k.h (GO_IF_LEGITIMATE_ADDRESS): No longer cater to horribly old and broken Sun3 assemblers.
* m68k.h (GO_IF_LEGITIMATE_ADDRESS): No longer cater to horribly
old and broken Sun3 assemblers. Newer versions handle large
offsets correctly as does the GNU assembler.
Co-Authored-By: Toon Moene <toon@moene.indiv.nluug.nl>
From-SVN: r17058
H.J. Lu [Fri, 12 Dec 1997 06:20:41 +0000 (06:20 +0000)]
objc-act.c (lang_report_error_function): Disable.
* objc/objc-act.c (lang_report_error_function): Disable.
* objc/objc-parse.y: Include "output.h".
(yyerror): Remove redundant decl.
(yyprint): Fix prototype.
(apply_args_register_offset): Remove redundant decl.
(get_file_function_name): Likewise.
From-SVN: r17057
Jason Merrill [Fri, 12 Dec 1997 06:20:32 +0000 (06:20 +0000)]
decl2.c (comdat_linkage): Also set DECL_COMDAT.
* decl2.c (comdat_linkage): Also set DECL_COMDAT.
(finish_file): Check DECL_COMDAT instead of weak|one_only.
(import_export_vtable): Use make_decl_one_only instead of
comdat_linkage for win32 tweak.
(import_export_decl): Likewise.
* pt.c (mark_decl_instantiated): Likewise.
Fix libgcc with -O3.
From-SVN: r17056
Jason Merrill [Fri, 12 Dec 1997 06:12:03 +0000 (06:12 +0000)]
flow.c (find_basic_blocks): A CALL_INSN that can throw starts a new basic block.
* flow.c (find_basic_blocks): A CALL_INSN that can throw starts
a new basic block.
(find_basic_blocks_1): Likewise.
From-SVN: r17055
Jason Merrill [Fri, 12 Dec 1997 05:15:30 +0000 (05:15 +0000)]
except.c (use_eh_context): Don't copy_rtx a REG.
* except.c (use_eh_context): Don't copy_rtx a REG.
(emit_throw): Lose old unwinder support.
(expand_internal_throw): Likewise.
* libgcc2.c (struct eh_context): Likewise.
(new_eh_context): Likewise.
(__get_eh_info): Lose redundant cast.
(__get_dynamic_handler_chain): Likewise.
(__get_saved_pc): Lose.
Lose all old unwinder support code.
* decl2.c (finish_file): Lose call to expand_builtin_throw.
* except.c (expand_builtin_throw): Remove.
* cp-tree.h: Remove ptr_ptr_type_node.
* decl.c: Likewise.
From-SVN: r17054
Teemu Torma [Fri, 12 Dec 1997 04:54:37 +0000 (23:54 -0500)]
Thread-safe EH support for pthreads, DCE threads and Solaris threads.
Thu Dec 11 20:42:18 1997 Teemu Torma <tot@trema.com>
Thread-safe EH support for pthreads, DCE threads and Solaris threads.
* integrate.c (expand_inline_function): If the inline fn uses eh
context, make sure that the current fn has one.
* toplev.c (rest_of_compilation): Call emit_eh_context.
* except.c (use_eh_context): New fn.
(get_eh_context_once): New fn.
(call_get_eh_context): New fn.
(emit_eh_context): New fn.
(get_eh_context): Call either get_eh_context_once or
call_get_eh_context, depending on what we have.
(get_dynamic_handler_chain): Call get_eh_context_once.
* except.h: Prototypes for fns above.
* optabs.c (get_eh_context_libfunc): Removed.
(init_optabs): Don't initialize it.
* expr.h (get_eh_context_libfunc): Removed.
* rtl.h, rtl.c: New reg_note REG_EH_CONTEXT.
* config/pa/pa.h (CPP_SPEC): Support for -threads.
* config/pa/pa-hpux10.h (LIB_SPEC): Ditto.
* config/pa/t-pa (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
New multilib for -threads.
* config/sparc/t-sol2: Added multilibs for -threads and
made -pthreads alias to it.
* config/sparc/sol2.h (CPP_SPEC, LIB_SPEC):
Added -threads and -pthreads options.
* libgcc-thr.h: New file.
* libgcc2.c: (__get_cpp_eh_context): Removed.
(struct cpp_eh_context): Removed.
(struct eh_context): Replaced cpp_eh_context with generic language
specific pointer.
(__get_eh_info): New function.
(__throw): Check eh_context::info.
(__sjthrow): Ditto.
* libgcc2.c: Include libgcc-thr.h.
(new_eh_context, __get_eh_context,
eh_pthread_initialize, eh_context_initialize, eh_context_static,
eh_context_specific, eh_context_free): New functions.
(get_eh_context, eh_context_key): New variables.
(__sjthrow, __sjpopnthrow, __eh_pcnthrow, __throw): Use
get_eh_context to get the context.
(longjmp): Move the declaration inside
#ifdef DONT_USE_BUILTIN_SETJMP.
* frame.c: Include libgcc-thr.h.
(object_mutex): Mutex to protect the object list.
(find_fde, __register_frame, __register_frame_table,
__deregister_frame): Hold the lock while accessing objects.
* except.h (get_eh_context): Declare.
* except.c (current_function_ehc): Define.
(current_function_dhc, current_function_dcc): Removed.
(get_eh_context): New function.
(get_dynamic_handler_chain): Use get_eh_context.
(get_saved_pc_ref): Ditto.
(get_dynamic_cleanup_chain): Removed references to
current_function_dcc.
(save_eh_status, restore_eh_status): Save and restore
current_function_ehc instead.
* optabs.c (get_eh_context_libfunc): New variable.
(init_optabs): Initialize it.
* expr.h: Declare get_eh_context_libfunc.
* function.h (struct function): Replaced dhc and dcc with ehc.
* except.c (get_saved_pc_ref): New functions.
(eh_saved_pc_rtx, eh_saved_pc): Deleted.
(expand_internal_throw_indirect): Use get_saved_pc_ref() instead
of eh_saved_pc.
(end_eh_unwinder): Likewise.
(init_eh): Remove initialization of eh_saved_pc.
* optabs.c (get_saved_pc_libfunc): New variable.
(init_optabs): Initialize it.
* expr.h: Declare get_saved_pc_libfunc.
* except.h (eh_saved_pc_rtx): Deleted.
(get_saved_pc_ref): Declared.
From Scott Snyder <snyder@d0sgif.fnal.gov>:
* libgcc2.c (__get_saved_pc): New.
(__eh_type, __eh_pc): Deleted.
(__eh_pcnthrow): Use __get_saved_pc() instead of __eh_pc.
(__get_dynamic_handler_chain): Move __dynamic_handler_chain inside
this fcn.
From-SVN: r17053
Teemu Torma [Fri, 12 Dec 1997 04:53:20 +0000 (04:53 +0000)]
[multiple changes]
Thu Dec 11 20:42:18 1997 Teemu Torma <tot@trema.com>
Thread-safe EH support for pthreads, DCE threads and Solaris threads.
* integrate.c (expand_inline_function): If the inline fn uses eh
context, make sure that the current fn has one.
* toplev.c (rest_of_compilation): Call emit_eh_context.
* except.c (use_eh_context): New fn.
(get_eh_context_once): New fn.
(call_get_eh_context): New fn.
(emit_eh_context): New fn.
(get_eh_context): Call either get_eh_context_once or
call_get_eh_context, depending on what we have.
(get_dynamic_handler_chain): Call get_eh_context_once.
* except.h: Prototypes for fns above.
* optabs.c (get_eh_context_libfunc): Removed.
(init_optabs): Don't initialize it.
* expr.h (get_eh_context_libfunc): Removed.
* rtl.h, rtl.c: New reg_note REG_EH_CONTEXT.
* config/pa/pa.h (CPP_SPEC): Support for -threads.
* config/pa/pa-hpux10.h (LIB_SPEC): Ditto.
* config/pa/t-pa (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
New multilib for -threads.
* config/sparc/t-sol2: Added multilibs for -threads and
made -pthreads alias to it.
* config/sparc/sol2.h (CPP_SPEC, LIB_SPEC):
Added -threads and -pthreads options.
* libgcc-thr.h: New file.
* libgcc2.c: (__get_cpp_eh_context): Removed.
(struct cpp_eh_context): Removed.
(struct eh_context): Replaced cpp_eh_context with generic language
specific pointer.
(__get_eh_info): New function.
(__throw): Check eh_context::info.
(__sjthrow): Ditto.
* libgcc2.c: Include libgcc-thr.h.
(new_eh_context, __get_eh_context,
eh_pthread_initialize, eh_context_initialize, eh_context_static,
eh_context_specific, eh_context_free): New functions.
(get_eh_context, eh_context_key): New variables.
(__sjthrow, __sjpopnthrow, __eh_pcnthrow, __throw): Use
get_eh_context to get the context.
(longjmp): Move the declaration inside
#ifdef DONT_USE_BUILTIN_SETJMP.
* frame.c: Include libgcc-thr.h.
(object_mutex): Mutex to protect the object list.
(find_fde, __register_frame, __register_frame_table,
__deregister_frame): Hold the lock while accessing objects.
* except.h (get_eh_context): Declare.
* except.c (current_function_ehc): Define.
(current_function_dhc, current_function_dcc): Removed.
(get_eh_context): New function.
(get_dynamic_handler_chain): Use get_eh_context.
(get_saved_pc_ref): Ditto.
(get_dynamic_cleanup_chain): Removed references to
current_function_dcc.
(save_eh_status, restore_eh_status): Save and restore
current_function_ehc instead.
* optabs.c (get_eh_context_libfunc): New variable.
(init_optabs): Initialize it.
* expr.h: Declare get_eh_context_libfunc.
* function.h (struct function): Replaced dhc and dcc with ehc.
* except.c (get_saved_pc_ref): New functions.
(eh_saved_pc_rtx, eh_saved_pc): Deleted.
(expand_internal_throw_indirect): Use get_saved_pc_ref() instead
of eh_saved_pc.
(end_eh_unwinder): Likewise.
(init_eh): Remove initialization of eh_saved_pc.
* optabs.c (get_saved_pc_libfunc): New variable.
(init_optabs): Initialize it.
* expr.h: Declare get_saved_pc_libfunc.
* except.h (eh_saved_pc_rtx): Deleted.
(get_saved_pc_ref): Declared.
From Scott Snyder <snyder@d0sgif.fnal.gov>:
* libgcc2.c (__get_saved_pc): New.
(__eh_type, __eh_pc): Deleted.
(__eh_pcnthrow): Use __get_saved_pc() instead of __eh_pc.
(__get_dynamic_handler_chain): Move __dynamic_handler_chain inside
this fcn.
cp/:
Thu Dec 11 20:43:33 1997 Teemu Torma <tot@trema.com>
* decl.c (ptr_ptr_type_node): Define.
(init_decl_processing): Initialize it.
* cp-tree.h: Declare it.
* exception.cc (__cp_exception_info): Use __get_eh_info.
(__cp_push_exception): Ditto.
(__cp_pop_exception): Ditto.
From Scott Snyder <snyder@d0sgif.fnal.gov>:
* except.c (expand_builtin_throw): Use get_saved_pc_ref instead of
saved_pc.
(init_exception_processing): Removed saved_pc initialization.
From-SVN: r17052
Jeff Law [Fri, 12 Dec 1997 03:49:00 +0000 (20:49 -0700)]
Rebuild after recent changes.
From-SVN: r17051
John F. Carr [Fri, 12 Dec 1997 00:39:47 +0000 (00:39 +0000)]
sol2.h: Use 64 bit multiply and divide functions in Solaris libc.
* sparc/sol2.h: Use 64 bit multiply and divide functions in
Solaris libc. Define TARGET_LIVE_G0 and TARGET_BROKEN_SAVERESTORE
as 0.
From-SVN: r17050
John F. Carr [Fri, 12 Dec 1997 00:27:40 +0000 (00:27 +0000)]
rtl.h (global_rtl): New variable, replacing separate variables for commonly used rtl.
* rtl.h (global_rtl): New variable, replacing separate variables for
commonly used rtl.
(const_int_rtx): Now array of rtx_def, not rtx.
* emit-rtl.c: Update for new rtl data structures.
* genattrtab.c: Define global_rtl.
From-SVN: r17049
David Edelsohn [Thu, 11 Dec 1997 22:51:34 +0000 (22:51 +0000)]
configure.in ({rs6000,powerpc}-*-*): Enable Haifa scheduler by default.
* configure.in ({rs6000,powerpc}-*-*): Enable Haifa scheduler by
default.
From-SVN: r17046
Brendan Kehoe [Thu, 11 Dec 1997 18:46:55 +0000 (18:46 +0000)]
Bring over from changes from devo.
From-SVN: r17045
Brendan Kehoe [Thu, 11 Dec 1997 18:44:36 +0000 (18:44 +0000)]
tFile.cc (t4): Cast TMPFILE to char* in the call to unlink...
* tFile.cc (t4): Cast TMPFILE to char* in the call to unlink, to
solve warning problems with vxworks headers that leave const off
their declarations.
Brought over from devo.
From-SVN: r17044
Brendan Kehoe [Thu, 11 Dec 1997 18:41:22 +0000 (11:41 -0700)]
libio.h (__P): Name its arg `p' instead of `params'.
* libio.h (__P): Name its arg `p' instead of `params'.
Avoids problems with an unchanged Solaris math.h header.
Bring over from devo.
From-SVN: r17043
Michael Meissner [Thu, 11 Dec 1997 18:31:56 +0000 (18:31 +0000)]
stdiostream.cc (sys_read): Declare ch with int type, rather than without a type.
* stdiostream.cc (sys_read): Declare ch with int type, rather than
without a type.
Bring over from devo.
From-SVN: r17042
H.J. Lu [Thu, 11 Dec 1997 18:19:38 +0000 (18:19 +0000)]
* configure.in (target frags): Add *-linux-gnu.
From-SVN: r17041
Jeff Law [Thu, 11 Dec 1997 16:26:05 +0000 (09:26 -0700)]
Another handful of gcc-2.8 changes (will it ever go out the door?).
See ChangeLog.11 for details.
From-SVN: r17040
Jason Merrill [Thu, 11 Dec 1997 05:15:37 +0000 (05:15 +0000)]
* pt.c (instantiate_decl): Defer all templates but inline functions.
From-SVN: r17039
Jeff Law [Thu, 11 Dec 1997 01:13:57 +0000 (18:13 -0700)]
* combine.c (simplify_rtx, case ABS): Do nothing for ASM_OPERANDS.
From-SVN: r17038
Anthony Green [Wed, 10 Dec 1997 20:36:00 +0000 (20:36 +0000)]
Fixed typo.
From-SVN: r17036
Jeff Law [Tue, 9 Dec 1997 19:20:43 +0000 (12:20 -0700)]
Fix thinko.
From-SVN: r17032
Jason Merrill [Tue, 9 Dec 1997 18:59:59 +0000 (18:59 +0000)]
init.c (expand_vec_init): Don't fold a list of parameters.
* init.c (expand_vec_init): Don't fold a list of parameters.
Fixes kde.
From-SVN: r17031
Manfred Hollstein [Tue, 9 Dec 1997 16:41:12 +0000 (16:41 +0000)]
toplev.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition to RLIMIT_STACK to see if...
* toplev.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
From-SVN: r17030
David Edelsohn [Tue, 9 Dec 1997 16:35:56 +0000 (16:35 +0000)]
rs6000.h (FUNCTION_ARG_PADDING): Define.
* rs6000.h (FUNCTION_ARG_PADDING): Define.
* rs6000.c (function_arg_padding): New function.
From-SVN: r17029
Manfred Hollstein [Tue, 9 Dec 1997 16:33:10 +0000 (16:33 +0000)]
* m68k.c: Include tree.h only once.
From-SVN: r17028
Richard Kenner [Tue, 9 Dec 1997 16:29:43 +0000 (16:29 +0000)]
integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
* integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
From Kenner, fixes more ADDRESSOF problems.
From-SVN: r17027
Jeffrey A Law [Tue, 9 Dec 1997 09:03:51 +0000 (09:03 +0000)]
* Partially cleaned up prototyping code from HJ.
* tree.h: Add many prototypes.
From-SVN: r17025
Jeffrey A Law [Tue, 9 Dec 1997 08:20:07 +0000 (08:20 +0000)]
* Partially cleaned up prototyping code from HJ.
* haifa-sched.c (haifa_classify_insn): Renamed from classify_insn.
All references changed.
* rtl.h: Protect from multiple inclusions. Add many prototypes.
* libgcc2.c (string.h): Hoist inclusion to occur before first use of
string functions like strlen.
More pending patches.
From-SVN: r17024
Manfred Hollstein [Tue, 9 Dec 1997 07:55:17 +0000 (07:55 +0000)]
configure.in: Check for functions getrlimit and setrlimit.
* configure.in: Check for functions getrlimit and setrlimit.
* cccp.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
From-SVN: r17023
Jason Merrill [Tue, 9 Dec 1997 07:26:26 +0000 (07:26 +0000)]
decl.c (copy_args_p): Handle copy elision for types with virtual bases.
* decl.c (copy_args_p): Handle copy elision for types with virtual
bases.
* call.c (build_over_call): Likewise.
From-SVN: r17022
Jay Sachs [Tue, 9 Dec 1997 06:53:10 +0000 (06:53 +0000)]
* Makefile.in (compare*): Handle losing behavior from 4.4bsd make.
From-SVN: r17021
Richard Henderson [Tue, 9 Dec 1997 05:11:34 +0000 (21:11 -0800)]
alpha.c (REG_RA, [...]): Fix merge problems.
* alpha.c (REG_RA, alpha_return_addr, output_epilog):
Fix merge problems.
* alpha.c (override_options): Don't know about scheduling for EV6.
* alpha.md (ev5 function units): Don't overload as ev6.
* alpha.c (alpha_adjust_cost): Simplify. Fix typo in ev5 mult case.
* alpha.md (define_attr type): Add mvi.
(ev5_e0): Define sceduling parameters for it.
(TARGET_MAX insns): Type is mvi not shift.
From-SVN: r17020
Richard Henderson [Tue, 9 Dec 1997 02:17:09 +0000 (18:17 -0800)]
* alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix backported gcc-2.8 bug.
From-SVN: r17019