Commit Graph

14937 Commits

Author SHA1 Message Date
Jason Merrill
9b8d9d6b02 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
1997-12-12 20:49:10 -05:00
Jason Merrill
9664b89edd 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
1997-12-12 19:28:00 -05:00
Jason Merrill
62189d7d8f add dwarf2 note
From-SVN: r17082
1997-12-12 18:30:45 -05:00
Richard Kenner
8a173c73b5 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
1997-12-12 09:06:57 -07:00
Jeff Law
73cea257d4 Rebuild after recent changes.
From-SVN: r17074
1997-12-12 08:58:02 -07:00
Jason Merrill
74c3447c83 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
1997-12-12 05:31:22 -05:00
Jason Merrill
100d81d443 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
1997-12-12 04:23:52 -05:00
Jeff Law
cba734eaca Finish last change. I'm no emacs wizard :(
From-SVN: r17069
1997-12-12 02:00:19 -07:00
Jeff Law
332c1bb4ba Fix minor bug in BeOS changes.
From-SVN: r17068
1997-12-12 01:50:19 -07:00
Jeff Law
c3b1131125 Revert last change
From-SVN: r17067
1997-12-12 01:13:05 -07:00
Paul Eggert
5a5ab947b8 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
1997-12-12 00:37:57 -07:00
Jason Merrill
01eb7f9a1c 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
1997-12-12 02:35:04 -05:00
Marc Lehmann
d19814a309 xm-go32.h (EXECUTABLE_SUFFIX): Define.
* i386/xm-go32.h (EXECUTABLE_SUFFIX): Define.
        (DIR_SEPARATOR, NO_SYS_SIGLIST): Likewise.

From-SVN: r17064
1997-12-12 00:03:24 -07:00
Dave Love
09fb2c774b 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
1997-12-11 23:55:33 -07:00
Manfred Hollstein
7567d496ec 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
1997-12-11 23:53:30 -07:00
John F. Carr
0a6969ad7c 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
1997-12-11 23:49:29 -07:00
Fred Fish
c55dcc7ddd cvs commit ChangeLog config.sub configure configure.in toplev.c
From-SVN: r17060
1997-12-11 23:36:11 -07:00
Fred Fish
baf558778c * config.guess: Add BeOS support.
From-SVN: r17059
1997-12-11 23:28:39 -07:00
Jeffrey A Law
9cf3ae46c1 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
1997-12-11 23:23:19 -07:00
H.J. Lu
7cc273ade8 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
1997-12-11 23:20:41 -07:00
Jason Merrill
ab23f7879d 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
1997-12-12 01:20:32 -05:00
Jason Merrill
74d7ab557f 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
1997-12-12 01:12:03 -05:00
Jason Merrill
0776059ee0 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
1997-12-12 00:15:30 -05:00
Teemu Torma
c404fea226 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
1997-12-11 23:54:37 -05:00
Teemu Torma
154bba13a4 [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
1997-12-11 23:53:20 -05:00
Jeff Law
24a184c9e7 Rebuild after recent changes.
From-SVN: r17051
1997-12-11 20:49:00 -07:00
John F. Carr
b16d8734bc 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
1997-12-11 17:39:47 -07:00
John F. Carr
68d753125e 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
1997-12-11 17:27:40 -07:00
David Edelsohn
44517326d6 configure.in ({rs6000,powerpc}-*-*): Enable Haifa scheduler by default.
* configure.in ({rs6000,powerpc}-*-*): Enable Haifa scheduler by
        default.

From-SVN: r17046
1997-12-11 15:51:34 -07:00
Brendan Kehoe
07526eaed5 Bring over from changes from devo.
From-SVN: r17045
1997-12-11 11:46:55 -07:00
Brendan Kehoe
dd6f85cd5e 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
1997-12-11 11:44:36 -07:00
Brendan Kehoe
6564e475c6 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
1997-12-11 11:41:22 -07:00
Michael Meissner
fc50a8b9f2 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
1997-12-11 11:31:56 -07:00
H.J. Lu
f49b1654d3 * configure.in (target frags): Add *-linux-gnu.
From-SVN: r17041
1997-12-11 11:19:38 -07:00
Jeff Law
b472527b0f Another handful of gcc-2.8 changes (will it ever go out the door?).
See ChangeLog.11 for details.

From-SVN: r17040
1997-12-11 09:26:05 -07:00
Jason Merrill
c4ae3f91a2 * pt.c (instantiate_decl): Defer all templates but inline functions.
From-SVN: r17039
1997-12-11 00:15:37 -05:00
Jeff Law
f40421ce8c * combine.c (simplify_rtx, case ABS): Do nothing for ASM_OPERANDS.
From-SVN: r17038
1997-12-10 18:13:57 -07:00
Anthony Green
8587487b11 Fixed typo.
From-SVN: r17036
1997-12-10 20:36:00 +00:00
Jeff Law
c6c00ce60b Fix thinko.
From-SVN: r17032
1997-12-09 12:20:43 -07:00
Jason Merrill
eb291d0511 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
1997-12-09 13:59:59 -05:00
Manfred Hollstein
08ce327637 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
1997-12-09 09:41:12 -07:00
David Edelsohn
c229cba913 rs6000.h (FUNCTION_ARG_PADDING): Define.
* rs6000.h (FUNCTION_ARG_PADDING): Define.
        * rs6000.c (function_arg_padding): New function.

From-SVN: r17029
1997-12-09 09:35:56 -07:00
Manfred Hollstein
b2c59d0b27 * m68k.c: Include tree.h only once.
From-SVN: r17028
1997-12-09 09:33:10 -07:00
Richard Kenner
c1132c273c 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
1997-12-09 09:29:43 -07:00
Jeffrey A Law
a1d061a151 * Partially cleaned up prototyping code from HJ.
* tree.h: Add many prototypes.

From-SVN: r17025
1997-12-09 02:03:51 -07:00
Jeffrey A Law
ac957f1381 * 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
1997-12-09 01:20:07 -07:00
Manfred Hollstein
0a232106fc 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
1997-12-09 00:55:17 -07:00
Jason Merrill
67437d5b5d 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
1997-12-09 02:26:26 -05:00
Jay Sachs
25b76cc193 * Makefile.in (compare*): Handle losing behavior from 4.4bsd make.
From-SVN: r17021
1997-12-08 23:53:10 -07:00
Richard Henderson
2625008199 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
1997-12-08 21:11:34 -08:00