1. 15 Dec, 1997 12 commits
  2. 13 Dec, 1997 3 commits
  3. 12 Dec, 1997 25 commits
    • add dwarf2 note · 62189d7d
      From-SVN: r17082
      Jason Merrill committed
    • integrate.c (initialize_for_inline): In DECL_RTL of a PARM_DECL, look inside a… · 8a173c73
      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
      Richard Kenner committed
    • Rebuild after recent changes. · 73cea257
      From-SVN: r17074
      Jeff Law committed
    • osf2or3.h (LIB_SPEC): Restore missing defn. · 74c3447c
      	* 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 committed
    • except.c (call_get_eh_context): Don't mess with sequences. · 100d81d4
      	* except.c (call_get_eh_context): Don't mess with sequences.
      	(emit_eh_context): Include the call in the sequence here.
      
      From-SVN: r17070
      Jason Merrill committed
    • Finish last change. I'm no emacs wizard :( · cba734ea
      From-SVN: r17069
      Jeff Law committed
    • Fix minor bug in BeOS changes. · 332c1bb4
      From-SVN: r17068
      Jeff Law committed
    • Revert last change · c3b11311
      From-SVN: r17067
      Jeff Law committed
    • collect2.c (write_c_file_glob): Allocate initial frame object in static storage… · 5a5ab947
      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
      Paul Eggert committed
    • except.c (call_get_eh_context): Don't take a parm. · 01eb7f9a
      	* 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
      Jason Merrill committed
    • xm-go32.h (EXECUTABLE_SUFFIX): Define. · d19814a3
              * i386/xm-go32.h (EXECUTABLE_SUFFIX): Define.
              (DIR_SEPARATOR, NO_SYS_SIGLIST): Likewise.
      
      From-SVN: r17064
      Marc Lehmann committed
    • linux.h (STACK_BOUNDARY): Define as 64 for glibc2. · 09fb2c77
              * i386/linux.h (STACK_BOUNDARY): Define as 64 for glibc2.
              * i386/gnu.h (STACK_BOUNDARY): Define as 64.
      
      From-SVN: r17063
      Dave Love committed
    • fixincludes (str{len,spn,cspn} return value): Handle different layout on sysV88. · 7567d496
              * 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
      Manfred Hollstein committed
    • tree.c, tree.h: Change tree_code_type, tree_code_length, and tree_code_name from… · 0a6969ad
      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
      John F. Carr committed
    • * config.guess: Add BeOS support. · baf55877
      From-SVN: r17059
      Fred Fish committed
    • m68k.h (GO_IF_LEGITIMATE_ADDRESS): No longer cater to horribly old and broken Sun3 assemblers. · 9cf3ae46
              * 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
      Jeffrey A Law committed
    • objc-act.c (lang_report_error_function): Disable. · 7cc273ad
              * 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
      H.J. Lu committed
    • decl2.c (comdat_linkage): Also set DECL_COMDAT. · ab23f787
      	* 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 committed
    • flow.c (find_basic_blocks): A CALL_INSN that can throw starts a new basic block. · 74d7ab55
      	* 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 committed
    • except.c (use_eh_context): Don't copy_rtx a REG. · 0776059e
      	* 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
      Jason Merrill committed
    • Thread-safe EH support for pthreads, DCE threads and Solaris threads. · c404fea2
      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 committed
    • [multiple changes] · 154bba13
      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
      Teemu Torma committed
    • Rebuild after recent changes. · 24a184c9
      From-SVN: r17051
      Jeff Law committed
    • sol2.h: Use 64 bit multiply and divide functions in Solaris libc. · b16d8734
              * 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 committed