* i386.c (override_options): Set defaults for flag_omit_frame_pointer,
flag_asynchronous_unwind_tables, flag_pcc_struct_return.
* i386.c (optimization_options): Set flag_omit_frame_pointer,
flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
Do not clear -momit-leaf-frame-pointer when profiling.
(ix86_frame_pointer_required): Frame pointer is allways required when
profiling.
From-SVN: r58681
2002-10-31 David O'Brien <obrien@FreeBSD.org>
* config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
__enable_execute_stack function.
Approved by: David S. Miller <davem@redhat.com>
Message-Id: <20021031.005015.22856738.davem@redhat.com>
From-SVN: r58674
* pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
* pa-protos.h (attr_length_millicode_call, attr_length_call,
pa_init_machine_status): Declare new global functions.
* pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
implement new functions.
(attr_length_millicode_call, attr_length_call): Implement.
(total_code_bytes): Change type to long.
(pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
Reset counter if flag_function_sections.
(output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
(output_cbranch): Move call to gen_label_rtx.
(output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
delay slot in all variants, shorten pc-relative calls.
(output_call): Rewrite adding long TARGET_64BIT call, improved delay
slot usage and exposure, various new call variants, and shortened
sequences for some variants on TARGET_PA_20.
Miscellaneous format changes.
* pa.h (total_code_bytes): Change type to long.
(MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
(TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
(EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
stores on TARGET_ELF32.
*pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
(unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
canonicalize_funcptr_for_compare expanders): Calculate attribute length
attr_length_millicode_call().
(call_internal_symref, call_value_internal_symref): Clobber register 1.
Calculate attribute length using attr_length_call().
(call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
to delay slot.
(sibcall, sibcall_value): Rewrite.
(sibcall_internal_symref, sibcall_value_internal_symref): Clobber
register 1. Use attr_length_call().
(sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
New patterns.
(unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
* som.h (MEMBER_TYPE_FORCES_BLK): Define.
* t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
* doc/invoke.texi (mlong-calls): Document.
From-SVN: r58665
* fold-const.c (fold_binary_op_with_conditional_arg): Improve
handling of cases where one or both branches of the conditional
have void type, i.e. throw an exception or don't return.
(fold): Only apply (and undo) type conversion to the non-void
branches of a COND_EXPR.
* f/com.c (ffecom_subscript_check_): Cast the failure branch
of the bounds check COND_EXPR to void, to indicate noreturn.
(ffe_truthvalue_conversion): Only apply truth value conversion
to the non-void branches of a COND_EXPR.
From-SVN: r58661
* toplev.c (rest_of_type_compilation): Return early in case of
errors.
(check_global_declarations): Don't call debug_hooks->global_decl
in case of errors.
From-SVN: r58645
PR c++/8287
* decl.c (finish_destructor_body): Create the label to jump to
when returning from a destructor here.
(finish_function_body): Rather than here.
PR c++/8287
* g++.dg/init/dtor2.C: New test.
From-SVN: r58643
2002-10-29 Phil Edwards <pme@gcc.gnu.org>
* Makefile.in (gnucompare*): Only record bad comparisons
if there really was a bad comparison.
From-SVN: r58635
* gthr-posix.h: Include <unistd.h> for feature tests.
(sched_get_priority_max, sched_get_priority_min)
(pthread_getschedparam, pthread_setschedparam): Only use
if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
(__gthread_objc_thread_set_priority): Don't treat all non-zero
returns from sched_get_priority_max and sched_get_priority_min
as an error.
From-SVN: r58630
* config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
(h8300_tiny_constant_address_p): Likewise.
* config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
h8300_eightbit_constant_address_p.
(TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
* config/h8300/h8300-protos.h: Add the prototypes for the two
new functions.
From-SVN: r58628
* testsuite/thread/pthread5.cc: Include <unistd.h>
if _GLIBCPP_HAVE_UNISTD_H is defined.
(main): Only use pthread_attr_setscope if
_POSIX_THREAD_PRIORITY_SCHEDULING is defined.
From-SVN: r58608
* config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
tm_defines if pthreads are enabled.
* config/netbsd.h (LIB_SPEC): Only support the -pthread option
if NETBSD_ENABLE_PTHREADS is defined.
From-SVN: r58599