Commit Graph

14955 Commits

Author SHA1 Message Date
Jason Merrill
3496c0bec4 update
From-SVN: r17110
1997-12-15 15:40:20 -05:00
Jason Merrill
4bfc4dda74 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
1997-12-15 15:34:29 -05:00
Richard Henderson
4f69985cf7 Missed this from the -mmemory-latency commit.
From-SVN: r17108
1997-12-15 10:40:42 -08:00
Richard Henderson
166cdf4ab4 * expmed.c (expand_shift): If SHIFT_COUNT_TRUNCATED, drop a SUBREG.
From-SVN: r17107
1997-12-15 10:39:02 -08:00
Richard Henderson
bcbbac264c 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
1997-12-15 10:33:21 -08:00
Richard Henderson
1914f5da24 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
1997-12-15 09:55:58 -08:00
Mark Mitchell
a701efba7e 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
1997-12-15 10:55:11 -07:00
Richard Henderson
5e21ac7a62 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
1997-12-15 09:55:10 -08:00
Richard Henderson
395928138c * com.c (ffecom_type_vardesc_): Vardesc.dims is a `ftnlen*'.
From-SVN: r17102
1997-12-15 09:34:23 -08:00
Jeffrey A Law
296f8acc11 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
1997-12-15 08:46:40 -07:00
Jeff Law
acda6d8beb Rebuild.
From-SVN: r17099
1997-12-15 08:08:30 -07:00
Jason Merrill
5c0ad67204 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
1997-12-15 02:24:29 -05:00
Jeff Law
6d8ccdbbb2 Bring over changes from latest gcc-2.8 pre-release.
Mirror sched.c change into haifa-sched.c

From-SVN: r17097
1997-12-15 00:05:04 -07:00
Jeff Law
7b8dd49741 Change from latest gcc-2.8 prerelease
From-SVN: r17096
1997-12-14 23:11:01 -07:00
Mark Mitchell
3042d5bea2 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
1997-12-14 23:40:01 -05:00
Jason Merrill
be296fdb53 tweak
From-SVN: r17094
1997-12-14 22:58:21 -05:00
Jason Merrill
d9c92f3237 tweak comment
From-SVN: r17093
1997-12-14 22:58:03 -05:00
Per Bothner
14e83f2ef5 * expr.c (expand_builtin): Support BUILT_IN_FMOD - just call fmod.
From-SVN: r17090
1997-12-13 11:40:06 -08:00
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