Commit Graph

44261 Commits

Author SHA1 Message Date
Benjamin Kosnik
ef6838b11c ios_base_type.cc: Move to...
2002-07-25  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/27_io/ios_base_type.cc: Move to...
	* testsuite/27_io/ios_base_types.cc: ...here.

From-SVN: r55743
2002-07-25 07:19:40 +00:00
GCC Administrator
18965224c6 Daily bump.
From-SVN: r55742
2002-07-25 07:16:57 +00:00
Neil Booth
2d6154445d c-decl.c (c_decode_option): No need to handle switches cpplib handles.
* c-decl.c (c_decode_option): No need to handle switches
	cpplib handles.
cp:
	* decl2.c (cxx_decode_option): Similarly.

From-SVN: r55737
2002-07-25 06:56:11 +00:00
Benjamin Kosnik
c82efc81c0 re PR libstdc++/7222 (g++ 3.1: locale::operator ==() doesn`t work on std::locale("") locales)
2002-07-24  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/7222
	* src/locale.cc (locale::locale(const char*)): Use setlocale NULL.
	* testsuite/22_locale/ctor_copy_dtor.cc (test02): New.

From-SVN: r55736
2002-07-25 06:42:00 +00:00
Zack Weinberg
2be2ac706e defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, [...]): New default definitions of new macros.
* defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
	ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
	* doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
	TYPE_ASM_OP, and TYPE_OPERAND_FMT.

	* config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
	config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
	config/cris/aout.h, config/i386/freebsd-aout.h,
	config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
	config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
	config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
	config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
	config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
	config/xtensa/elf.h, config/xtensa/linux.h:
	Use the new macros.
	Where possible, remove redundant definitions of SIZE_ASM_OP,
	TYPE_ASM_OP, and TYPE_OPERAND_FMT.

From-SVN: r55735
2002-07-25 05:14:23 +00:00
Aldy Hernandez
518878e18a eabi.h: Define TARGET_SPE_ABI, TARGET_SPE, TARGET_ISEL, and TARGET_FPRS.
2002-07-24  Aldy Hernandez  <aldyh@redhat.com>

	* config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
	TARGET_ISEL, and TARGET_FPRS.

	* doc/invoke.texi (RS/6000 and PowerPC Options): Document
	-mabi=spe, -mabi=no-spe, and -misel=.

	* config/rs6000/rs6000-protos.h: Add output_isel.
	Move vrsave_operation prototype here.

	* config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
	(smaxsi3): Same.
	(uminsi3): Same.
	(umaxsi3): Same.
	(abssi2_nopower): Disallow when TARGET_ISEL.
	(*ne0): Same.
	(negsf2): Change to expand and rename old pattern to *negsf2.
	(abssf2): Change to expand and rename old pattern to *abssf2.

	New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
	fixunssfsi2.

	Change patterns that check for TARGET_HARD_FLOAT or
	TARGET_SOFT_FLOAT to also check TARGET_FPRS.

	* config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
	rs6000_isel, rs6000_fprs, rs6000_isel_string.
	(rs6000_override_options): Add 8540 case to
	processor_target_table.
	Set rs6000_isel for the 8540.
	Call rs6000_parse_isel_option.
	(enable_mask_for_builtins): New.
	(rs6000_parse_isel_option): New.
	(rs6000_parse_abi_options): Add spe and no-spe.
	(easy_fp_constant): Treat !TARGET_FPRS as soft-float.
	(rs6000_legitimize_address): Check for TARGET_FPRS when checking
	for TARGET_HARD_FLOAT.
	Add case for SPE_VECTOR_MODE.
	(rs6000_legitimize_reload_address): Handle SPE vector modes.
	(rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
	vector modes.
	Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
	(rs6000_emit_move): Check for TARGET_FPRS.
	Add cases for SPE vector modes.
	(function_arg_boundary): Return 64 for SPE vector modes.
	(function_arg_advance): Check for TARGET_FPRS and
	Handle SPE vectors.
	(function_arg): Same.
	(setup_incoming_varargs): Check for TARGET_FPRS.
	(rs6000_va_arg): Same.
	(struct builtin_description): Un-constify mask field.  Move up in
	file.
	(bdesc_2arg): Un-constify and add SPE builtins.
	(bdesc_1arg): Same.
	(bdesc_spe_predicates): New.
	(bdesc_spe_evsel): New.
	(rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
	(rs6000_expand_binop_builtin): Same.
	(bdesc_2arg_spe): New.
	(spe_expand_builtin): New.
	(spe_expand_predicate_builtin): New.
	(spe_expand_evsel_builtin): New.
	(rs6000_expand_builtin): Call spe_expand_builtin for SPE.
	(rs6000_init_builtins): Initialize SPE builtins.  Call
	rs6000_common_init_builtins.
	(altivec_init_builtins): Move all non-altivec builtin code to...
	(rs6000_common_init_builtins): ...here.  New function.
	(branch_positive_comparison_operator): Allow NE code for SPE.
	(ccr_bit): Return correct ccr bit for SPE fp.
	(print_operand): Emit crnor in 'D' case for SPE.
	New case 't'.
	Add SPE code for 'y' case.
	(rs6000_generate_compare): Generate rtl for SPE fp.
	(output_cbranch): Handle SPE hard floats.
	(rs6000_emit_cmove): Handle isel.
	(rs6000_emit_int_cmove): New.
	(output_isel): New.
	(rs6000_stack_info): Adjust stack frame so GPRs are saved in
	64-bits for SPE.
	(debug_stack_info): Add SPE info.
	(gen_frame_mem_offset): New.
	(rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
	Change mode of frame pointer, when saving it, to Pmode.
	(rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
	Misc cleanups and use gen_frame_mem_offset when appropriate.

	* config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
	(TARGET_SPE_ABI): New.
	(TARGET_SPE): New.
	(TARGET_ISEL): New.
	(TARGET_FPRS): New.
	(FIXED_SCRATCH): New.
	(RTX_COSTS): Add PROCESSOR_PPC8540.
	(ASM_CPU_SPEC): Add case for 8540.
	(TARGET_OPTIONS): Add isel= case.
	(rs6000_spe_abi): New.
	(rs6000_isel): New.
	(rs6000_fprs): New.
	(rs6000_isel_string): New.
	(UNITS_PER_SPE_WORD): New.
	(LOCAL_ALIGNMENT): Adjust for SPE.
	(HARD_REGNO_MODE_OK): Same.
	(DATA_ALIGNMENT): Same.
	(MEMBER_TYPE_FORCES_BLK): New.
	(FIRST_PSEUDO_REGISTER): Set to 113.
	(FIXED_REGISTERS): Add SPE registers.
	(reg_class): Same.
	(REG_CLASS_NAMES): Same.
	(REG_CLASS_CONTENTS): Same.
	(REGNO_REG_CLASS): Same.
	(REGISTER_NAMES): Same.
	(DEBUG_REGISTER_NAMES): Same.
	(ADDITIONAL_REGISTER_NAMES): Same.
	(CALL_USED_REGISTERS): Same.
	(CALL_REALLY_USED_REGISTERS): Same.
	(SPE_ACC_REGNO): New.
	(SPEFSCR_REGNO): New.
	(SPE_SIMD_REGNO_P): New.
	(HARD_REGNO_NREGS): Adjust for SPE.
	(VECTOR_MODE_SUPPORTED_P): Same.
	(REGNO_REG_CLASS): Same.
	(FUNCTION_VALUE): Same.
	(LIBCALL_VALUE): Same.
	(LEGITIMATE_OFFSET_ADDRESS_P): Same.
	(SPE_VECTOR_MODE): New.
	(CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
	the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
	(rs6000_stack): Add spe_gp_size, spe_padding_size,
	spe_gp_save_offset.
	(USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
	(LEGITIMATE_LO_SUM_ADDRESS_P): Same.
	(SPE_CONST_OFFSET_OK): New.
	(rs6000_builtins): Add SPE builtins.

	* testsuite/gcc.dg/ppc-spe.c: New.

	* config/rs6000/eabispe.h: New.

	* config/rs6000/spe.h: New.

	* config/rs600/spe.md: New.

	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
	__SIMD__ for TARGET_SPE.

	* config.gcc: Add powerpc-*-eabispe* case.
	Add spe.h to user headers for powerpc.

From-SVN: r55734
2002-07-25 02:51:31 +00:00
Aldy Hernandez
0b72793f19 * testsuite/gcc.dg/ppc-spe.c: New.
From-SVN: r55733
2002-07-25 02:31:04 +00:00
Aldy Hernandez
6c8875e595 eabi.h: Define TARGET_SPE_ABI, TARGET_SPE, TARGET_ISEL, and TARGET_FPRS.
2002-07-24  Aldy Hernandez  <aldyh@redhat.com>

	* config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
	TARGET_ISEL, and TARGET_FPRS.

	* doc/invoke.texi (RS/6000 and PowerPC Options): Document
	-mabi=spe, -mabi=no-spe, and -misel=.

	* config/rs6000/rs6000-protos.h: Add output_isel.
	Move vrsave_operation prototype here.

	* config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
	(smaxsi3): Same.
	(uminsi3): Same.
	(umaxsi3): Same.
	(abssi2_nopower): Disallow when TARGET_ISEL.
	(*ne0): Same.
	(negsf2): Change to expand and rename old pattern to *negsf2.
	(abssf2): Change to expand and rename old pattern to *abssf2.

	New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
	fixunssfsi2.

	Change patterns that check for TARGET_HARD_FLOAT or
	TARGET_SOFT_FLOAT to also check TARGET_FPRS.

	* config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
	rs6000_isel, rs6000_fprs, rs6000_isel_string.
	(rs6000_override_options): Add 8540 case to
	processor_target_table.
	Set rs6000_isel for the 8540.
	Call rs6000_parse_isel_option.
	(enable_mask_for_builtins): New.
	(rs6000_parse_isel_option): New.
	(rs6000_parse_abi_options): Add spe and no-spe.
	(easy_fp_constant): Treat !TARGET_FPRS as soft-float.
	(rs6000_legitimize_address): Check for TARGET_FPRS when checking
	for TARGET_HARD_FLOAT.
	Add case for SPE_VECTOR_MODE.
	(rs6000_legitimize_reload_address): Handle SPE vector modes.
	(rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
	vector modes.
	Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
	(rs6000_emit_move): Check for TARGET_FPRS.
	Add cases for SPE vector modes.
	(function_arg_boundary): Return 64 for SPE vector modes.
	(function_arg_advance): Check for TARGET_FPRS and
	Handle SPE vectors.
	(function_arg): Same.
	(setup_incoming_varargs): Check for TARGET_FPRS.
	(rs6000_va_arg): Same.
	(struct builtin_description): Un-constify mask field.  Move up in
	file.
	(bdesc_2arg): Un-constify and add SPE builtins.
	(bdesc_1arg): Same.
	(bdesc_spe_predicates): New.
	(bdesc_spe_evsel): New.
	(rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
	(rs6000_expand_binop_builtin): Same.
	(bdesc_2arg_spe): New.
	(spe_expand_builtin): New.
	(spe_expand_predicate_builtin): New.
	(spe_expand_evsel_builtin): New.
	(rs6000_expand_builtin): Call spe_expand_builtin for SPE.
	(rs6000_init_builtins): Initialize SPE builtins.  Call
	rs6000_common_init_builtins.
	(altivec_init_builtins): Move all non-altivec builtin code to...
	(rs6000_common_init_builtins): ...here.  New function.
	(branch_positive_comparison_operator): Allow NE code for SPE.
	(ccr_bit): Return correct ccr bit for SPE fp.
	(print_operand): Emit crnor in 'D' case for SPE.
	New case 't'.
	Add SPE code for 'y' case.
	(rs6000_generate_compare): Generate rtl for SPE fp.
	(output_cbranch): Handle SPE hard floats.
	(rs6000_emit_cmove): Handle isel.
	(rs6000_emit_int_cmove): New.
	(output_isel): New.
	(rs6000_stack_info): Adjust stack frame so GPRs are saved in
	64-bits for SPE.
	(debug_stack_info): Add SPE info.
	(gen_frame_mem_offset): New.
	(rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
	Change mode of frame pointer, when saving it, to Pmode.
	(rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
	Misc cleanups and use gen_frame_mem_offset when appropriate.

	* config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
	(TARGET_SPE_ABI): New.
	(TARGET_SPE): New.
	(TARGET_ISEL): New.
	(TARGET_FPRS): New.
	(FIXED_SCRATCH): New.
	(RTX_COSTS): Add PROCESSOR_PPC8540.
	(ASM_CPU_SPEC): Add case for 8540.
	(TARGET_OPTIONS): Add isel= case.
	(rs6000_spe_abi): New.
	(rs6000_isel): New.
	(rs6000_fprs): New.
	(rs6000_isel_string): New.
	(UNITS_PER_SPE_WORD): New.
	(LOCAL_ALIGNMENT): Adjust for SPE.
	(HARD_REGNO_MODE_OK): Same.
	(DATA_ALIGNMENT): Same.
	(MEMBER_TYPE_FORCES_BLK): New.
	(FIRST_PSEUDO_REGISTER): Set to 113.
	(FIXED_REGISTERS): Add SPE registers.
	(reg_class): Same.
	(REG_CLASS_NAMES): Same.
	(REG_CLASS_CONTENTS): Same.
	(REGNO_REG_CLASS): Same.
	(REGISTER_NAMES): Same.
	(DEBUG_REGISTER_NAMES): Same.
	(ADDITIONAL_REGISTER_NAMES): Same.
	(CALL_USED_REGISTERS): Same.
	(CALL_REALLY_USED_REGISTERS): Same.
	(SPE_ACC_REGNO): New.
	(SPEFSCR_REGNO): New.
	(SPE_SIMD_REGNO_P): New.
	(HARD_REGNO_NREGS): Adjust for SPE.
	(VECTOR_MODE_SUPPORTED_P): Same.
	(REGNO_REG_CLASS): Same.
	(FUNCTION_VALUE): Same.
	(LIBCALL_VALUE): Same.
	(LEGITIMATE_OFFSET_ADDRESS_P): Same.
	(SPE_VECTOR_MODE): New.
	(CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
	the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
	(rs6000_stack): Add spe_gp_size, spe_padding_size,
	spe_gp_save_offset.
	(USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
	(LEGITIMATE_LO_SUM_ADDRESS_P): Same.
	(SPE_CONST_OFFSET_OK): New.
	(rs6000_builtins): Add SPE builtins.

	* testsuite/gcc.dg/ppc-spe.c: New.

	* config/rs6000/eabispe.h: New.

	* config/rs6000/spe.h: New.

	* config/rs600/spe.md: New.

	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
	__SIMD__ for TARGET_SPE.

	* config.gcc: Add powerpc-*-eabispe* case.
	Add spe.h to user headers for powerpc.

From-SVN: r55732
2002-07-25 02:27:55 +00:00
Aldy Hernandez
a3170dc629 eabi.h: Define TARGET_SPE_ABI, TARGET_SPE, TARGET_ISEL, and TARGET_FPRS.
2002-07-24  Aldy Hernandez  <aldyh@redhat.com>

	* config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
	TARGET_ISEL, and TARGET_FPRS.

	* doc/invoke.texi (RS/6000 and PowerPC Options): Document
	-mabi=spe, -mabi=no-spe, and -misel=.

	* config/rs6000/rs6000-protos.h: Add output_isel.
	Move vrsave_operation prototype here.

	* config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
	(smaxsi3): Same.
	(uminsi3): Same.
	(umaxsi3): Same.
	(abssi2_nopower): Disallow when TARGET_ISEL.
	(*ne0): Same.
	(negsf2): Change to expand and rename old pattern to *negsf2.
	(abssf2): Change to expand and rename old pattern to *abssf2.

	New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
	fixunssfsi2.

	Change patterns that check for TARGET_HARD_FLOAT or
	TARGET_SOFT_FLOAT to also check TARGET_FPRS.

	* config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
	rs6000_isel, rs6000_fprs, rs6000_isel_string.
	(rs6000_override_options): Add 8540 case to
	processor_target_table.
	Set rs6000_isel for the 8540.
	Call rs6000_parse_isel_option.
	(enable_mask_for_builtins): New.
	(rs6000_parse_isel_option): New.
	(rs6000_parse_abi_options): Add spe and no-spe.
	(easy_fp_constant): Treat !TARGET_FPRS as soft-float.
	(rs6000_legitimize_address): Check for TARGET_FPRS when checking
	for TARGET_HARD_FLOAT.
	Add case for SPE_VECTOR_MODE.
	(rs6000_legitimize_reload_address): Handle SPE vector modes.
	(rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
	vector modes.
	Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
	(rs6000_emit_move): Check for TARGET_FPRS.
	Add cases for SPE vector modes.
	(function_arg_boundary): Return 64 for SPE vector modes.
	(function_arg_advance): Check for TARGET_FPRS and
	Handle SPE vectors.
	(function_arg): Same.
	(setup_incoming_varargs): Check for TARGET_FPRS.
	(rs6000_va_arg): Same.
	(struct builtin_description): Un-constify mask field.  Move up in
	file.
	(bdesc_2arg): Un-constify and add SPE builtins.
	(bdesc_1arg): Same.
	(bdesc_spe_predicates): New.
	(bdesc_spe_evsel): New.
	(rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
	(rs6000_expand_binop_builtin): Same.
	(bdesc_2arg_spe): New.
	(spe_expand_builtin): New.
	(spe_expand_predicate_builtin): New.
	(spe_expand_evsel_builtin): New.
	(rs6000_expand_builtin): Call spe_expand_builtin for SPE.
	(rs6000_init_builtins): Initialize SPE builtins.  Call
	rs6000_common_init_builtins.
	(altivec_init_builtins): Move all non-altivec builtin code to...
	(rs6000_common_init_builtins): ...here.  New function.
	(branch_positive_comparison_operator): Allow NE code for SPE.
	(ccr_bit): Return correct ccr bit for SPE fp.
	(print_operand): Emit crnor in 'D' case for SPE.
	New case 't'.
	Add SPE code for 'y' case.
	(rs6000_generate_compare): Generate rtl for SPE fp.
	(output_cbranch): Handle SPE hard floats.
	(rs6000_emit_cmove): Handle isel.
	(rs6000_emit_int_cmove): New.
	(output_isel): New.
	(rs6000_stack_info): Adjust stack frame so GPRs are saved in
	64-bits for SPE.
	(debug_stack_info): Add SPE info.
	(gen_frame_mem_offset): New.
	(rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
	Change mode of frame pointer, when saving it, to Pmode.
	(rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
	Misc cleanups and use gen_frame_mem_offset when appropriate.

	* config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
	(TARGET_SPE_ABI): New.
	(TARGET_SPE): New.
	(TARGET_ISEL): New.
	(TARGET_FPRS): New.
	(FIXED_SCRATCH): New.
	(RTX_COSTS): Add PROCESSOR_PPC8540.
	(ASM_CPU_SPEC): Add case for 8540.
	(TARGET_OPTIONS): Add isel= case.
	(rs6000_spe_abi): New.
	(rs6000_isel): New.
	(rs6000_fprs): New.
	(rs6000_isel_string): New.
	(UNITS_PER_SPE_WORD): New.
	(LOCAL_ALIGNMENT): Adjust for SPE.
	(HARD_REGNO_MODE_OK): Same.
	(DATA_ALIGNMENT): Same.
	(MEMBER_TYPE_FORCES_BLK): New.
	(FIRST_PSEUDO_REGISTER): Set to 113.
	(FIXED_REGISTERS): Add SPE registers.
	(reg_class): Same.
	(REG_CLASS_NAMES): Same.
	(REG_CLASS_CONTENTS): Same.
	(REGNO_REG_CLASS): Same.
	(REGISTER_NAMES): Same.
	(DEBUG_REGISTER_NAMES): Same.
	(ADDITIONAL_REGISTER_NAMES): Same.
	(CALL_USED_REGISTERS): Same.
	(CALL_REALLY_USED_REGISTERS): Same.
	(SPE_ACC_REGNO): New.
	(SPEFSCR_REGNO): New.
	(SPE_SIMD_REGNO_P): New.
	(HARD_REGNO_NREGS): Adjust for SPE.
	(VECTOR_MODE_SUPPORTED_P): Same.
	(REGNO_REG_CLASS): Same.
	(FUNCTION_VALUE): Same.
	(LIBCALL_VALUE): Same.
	(LEGITIMATE_OFFSET_ADDRESS_P): Same.
	(SPE_VECTOR_MODE): New.
	(CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
	the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
	(rs6000_stack): Add spe_gp_size, spe_padding_size,
	spe_gp_save_offset.
	(USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
	(LEGITIMATE_LO_SUM_ADDRESS_P): Same.
	(SPE_CONST_OFFSET_OK): New.
	(rs6000_builtins): Add SPE builtins.

	* testsuite/gcc.dg/ppc-spe.c: New.

	* config/rs6000/eabispe.h: New.

	* config/rs6000/spe.h: New.

	* config/rs600/spe.md: New.

	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
	__SIMD__ for TARGET_SPE.

	* config.gcc: Add powerpc-*-eabispe* case.
	Add spe.h to user headers for powerpc.

From-SVN: r55731
2002-07-25 02:22:47 +00:00
Benjamin Kosnik
9a56333e55 re PR libstdc++/7230 (<strstream> header file is missing (trunk))
2002-07-24  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/7230
	* config/linker-map.gnu: Revert strstream patch from 2002-07-01.
	* include/Makefile.am (backward_headers): Use strstream, not
	strstream.h.
	* include/Makefile.in: Regenerate.
	* include/backward/strstream: Revert.
	* include/backward/strstream.h: Remove.
	* src/strstream.cc: Revert.
	* testsuite/backward/strstream_members.cc: Change include.

From-SVN: r55730
2002-07-25 00:04:37 +00:00
Chris Demetriou
8d1b7ba13b elf.h (STARTFILE_SPEC): Undo previous change.
2002-07-24  Chris Demetriou  <cgd@broadcom.com>

        * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
        * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
        * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.

From-SVN: r55729
2002-07-24 16:48:20 -07:00
Tom Tromey
1efccea3b1 Runtime.java (loadLibrary): Pass `true' as search argument to _load.
* java/lang/Runtime.java (loadLibrary): Pass `true' as search
	argument to _load.

From-SVN: r55727
2002-07-24 23:17:39 +00:00
Benjamin Kosnik
922045978d re PR libstdc++/7219 (_GLIBCPP_DEPRECATED on (ios_base::streamoff and ios_base::streampos types))
2002-07-24  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/7219
	* testsuite/27_io/ios_base_type.cc: New.
	* include/bits/ios_base.h (ios_base::streampos): Add.
	(ios_base::streamoff): Add.

From-SVN: r55726
2002-07-24 23:17:13 +00:00
Geoffrey Keating
3cfab7ec18 In cp/ChangeLog:
* tree.c (cp_build_qualified_type_real): When copying
	pointer-to-method types, unshare the record that holds
	the cached pointer-to-member-function type.
In testsuite/ChangeLog:
	* g++.dg/other/ptrmem4.C: New testcase.

From-SVN: r55725
2002-07-24 23:01:07 +00:00
Richard Henderson
eb5da24bed * gcc.c-torture/execute/loop-2e.c: Rewrite for 64 bit and no mmap.
From-SVN: r55724
2002-07-24 15:20:34 -07:00
Richard Henderson
8ad8135aa4 expr.c (expand_expr): Use GOTO_SUBROUTINE_EXPR form when not optimizing.
* expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
        form when not optimizing.

From-SVN: r55723
2002-07-24 15:05:19 -07:00
David Mosberger
dc44a4d856 ia64.c (gen_thread_pointer): Fix typo in marking thread_pointer_rtx as unchanging.
* config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
        thread_pointer_rtx as unchanging.

From-SVN: r55722
2002-07-24 14:42:48 -07:00
Michael Matz
c560531806 ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
* ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
        (free_reg): Use it.

From-SVN: r55721
2002-07-24 20:52:26 +00:00
Benjamin Kosnik
51937d2c98 re PR libstdc++/7286 (placement operator delete issue)
2002-07-24  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/7286
	* libsupc++/new: Add placement delete.
	* testsuite/18_support/new_delete_placement.cc: New.

	* docs/html/abi.txt: Fix typos.

From-SVN: r55718
2002-07-24 19:49:21 +00:00
Richard Earnshaw
3ade30eaf7 arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output pattern.
* arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
pattern.
(arm_buneq_reversed, arm_bltgt_reversed): Likewise.
(movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.

From-SVN: r55717
2002-07-24 18:29:00 +00:00
Tom Tromey
ce05139c56 natFileDescriptorWin32.cc (setLength): New method.
2002-07-24  Tom Tromey  <tromey@redhat.com>
            Tony Kimball <alk@pobox.com>

	* java/io/natFileDescriptorWin32.cc (setLength): New method.
	* java/io/natFileDescriptorPosix.cc (setLength): New method.
	* java/io/RandomAccessFile.java (setLength): New method.
	* java/io/natFileDescriptorEcos.cc (setLength): New method.
	* java/io/FileDescriptor.java (setLength): New method.

Co-Authored-By: Tony Kimball <alk@pobox.com>

From-SVN: r55715
2002-07-24 17:48:41 +00:00
Chris Demetriou
8a3ad73714 elf.h (STARTFILE_SPEC): Never include crt0.o.
2002-07-24  Chris Demetriou  <cgd@broadcom.com>

        * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
        * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
        * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.

From-SVN: r55714
2002-07-24 10:14:33 -07:00
Jason Merrill
979b1d1834 stop recommending -fexternal-templates
From-SVN: r55713
2002-07-24 12:23:14 -04:00
Jan Hubicka
7e51e626ab toplev.c (rest_of_compilation): Dump loops before clobbering the structure.
* toplev.c (rest_of_compilation): Dump loops before clobbering
	the structure.

From-SVN: r55712
2002-07-24 16:07:25 +00:00
Mark Wielaard
5526ddf6fd [multiple changes]
2002-07-24  Mark Wielaard  <mark@klomp.org>

	* java/lang/reflect/natField.cc (setAddr): Check isAccessible().
	* java/io/ObjectInputStream.java (setBooleanField): Before setting
	field call setAccessible(true).
	(setByteField): Likewise.
	(setCharField): Likewise.
	(setDoubleField): Likewise.
	(setFloatField): Likewise.
	(setIntField): Likewise.
	(setLongField): Likewise.
	(setShortField): Likewise.
	(setObjectField): Likewise.

2002-07-24  Tom Tromey  <tromey@redhat.com>

	* java/io/ObjectInputStream.java (readObject) [TC_ARRAY]: Don't
	use toString() to format array element.

From-SVN: r55711
2002-07-24 16:05:34 +00:00
Jan Hubicka
5df533b352 * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
From-SVN: r55710
2002-07-24 15:24:35 +00:00
Gabriel Dos Reis
aa02149af5 * g++.dg/ext/alignof1.C (main): Return 0 for success.
From-SVN: r55708
2002-07-24 14:12:51 +00:00
Roger Sayle
79258dce71 [multiple changes]
2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>

	PR optimization/7291
	* config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
	problem on x86_64.

2002-07-24  Roger Sayle  <roger@eyesopen.com>

	* gcc.c-torture/execute/memset-3.c: New testcase.

From-SVN: r55704
2002-07-24 13:41:22 +00:00
Gabriel Dos Reis
26ff2117a9 pretty-print.h: Add macros from cp/error.c `:w
* pretty-print.h: Add macros from cp/error.c
`:w

From-SVN: r55703
2002-07-24 12:17:53 +00:00
Benjamin Kosnik
6364054f3a documentation.html: Remove libstdc++-v3.0.86 links...
2002-07-23  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/html/documentation.html: Remove libstdc++-v3.0.86 links,
	confusing usage of "latest."
	De-tangle contributor information from introductory notes.
	Move abi.txt link placement, activate.
	Re-organize.
	Move chapter info into old FAQ format.
	* docs/html/organization.html: Removed, obsoleted by doxygen work.
	* docs/html/abi.txt: Add notes on testing ABI changes.

From-SVN: r55702
2002-07-24 07:55:34 +00:00
Alan Modra
0ba1b2ff0f rs6000-protos.h (mask_operand_wrap): Declare.
* config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
	(mask64_2_operand): Declare.
	(build_mask64_2_operands): Declare.
	(and64_2_operand): Declare.
	(extract_MB): Declare.
	(extract_ME): Declare.
	* config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
	CONST_DOUBLE code.
	(mask_operand_wrap): New insn predicate.
	(mask64_2_operand): Likewise.
	(and64_2_operand): Likewise.
	(build_mask64_2_operands): New function.
	(extract_MB): New function.
	(extract_ME): New function.
	(print_operand <case m,M>): Use extract_MB and extract_ME.
	(print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
	* config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
	(PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
	mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
	* config/rs6000/rs6000.md (andsi3_internal3): New
	(andsi3_internal3+1): Enable split for powerpc64.
	(andsi3_internal3+2): New split.
	(andsi3_internal4): Renamed old andsi3_internal3.
	(andsi3_internal5): New.
	(andsi3_internal5+1): Enable split for powerpc64.
	(andsi3_internal5+2): New split.
	(andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
	(anddi3): Handle 't' constraint.
	(anddi3+1): New split.
	(anddi3_internal2): Handle 't' constraint.
	(anddi3_internal2+1): New split.
	(anddi3_internal3): Handle 't' constraint.
	(anddi3_internal3+1): New split.

From-SVN: r55701
2002-07-24 17:23:36 +09:30
GCC Administrator
956301631b Daily bump.
From-SVN: r55700
2002-07-24 07:17:30 +00:00
Alan Modra
097657c389 rs6000.md: Remove scratch reg on insns using addze and similar (plus (comparison r1 r2)...
* config/rs6000/rs6000.md: Remove scratch reg on insns using
	addze and similar (plus (comparison r1 r2) r3) insns.  Add
	missing scratch reg in one case.  Formatting fixes.

From-SVN: r55695
2002-07-24 16:45:10 +09:30
Neil Booth
d795dc906c linux.h (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
* config/mips/linux.h (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL):
	Remove.

From-SVN: r55693
2002-07-23 23:05:55 +00:00
Neil Booth
a69cbaac60 cppexp.c (parse_defined): Mark macro used.
* cppexp.c (parse_defined): Mark macro used.
	* cpphash.h (struct cpp_macro): New member "used".
	(_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
	(struct cpp_reader): New member.
	* cppinit.c (cpp_finish_options): Set first_unused_line.
	(cpp_finish): Warn of unused macros if requested.
	(OPT_TABLE): New switches.
	(cpp_handle_option): Handle them.
	* cpplib.c (do_undef): Warn if macro unused.
	(do_ifdef, do_ifndef): Mark macro used.
	* cpplib.h (struct cpp_options): New member.
	* cppmacro.c (_cpp_warn_if_unused_macro): New.
	(enter_macro_context): Mark macro used.
	(_cpp_create_definition): Mark macro unused; warn if unused
	when redefined.
	* cpptrad.c (scan_out_logcial_line, push_replacement_text):
	Mark macros used.
	* doc/cppopts.texi: Update.
testsuite:
	* gcc.dg/cpp/trad/Wunused.c, gcc.dg/cpp/trad/Wunused.h,
	gcc.dg/cpp/Wunused.c, gcc.dg/cpp/Wunused.h: New tests.

From-SVN: r55692
2002-07-23 22:57:49 +00:00
Neil Booth
b841421a28 * doc/tm.texi: Update documentation.
From-SVN: r55691
2002-07-23 22:01:33 +00:00
Neil Booth
c066759796 dwarf2out.c (SECTION_ASM_OP, [...]): Remove.
* dwarf2out.c (SECTION_ASM_OP,
	ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
	* system.h (SECTION_ASM_OP): Poison.
	* tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
	* config/alpha/alpha-interix.h, config/mips/linux.h
	(ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
	* config/mmix/mmix-protos.h, config/mmix/mmix.c
	(mmix_asm_output_define_label_difference_symbol): Remove.
	* config/mmix/mmix.h
	(ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
cp:
	* cp-tree.h (FILE_FUNCTION_PREFIX_LEN): Remove.

From-SVN: r55690
2002-07-23 21:58:57 +00:00
J"orn Rennecke
bf7cd75401 recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
* recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
	(constrain_operands): Likewise.
	* regclass.c (record_reg_classes): Likewise.
	* reload.c (find_reloads): Likewise.
	* doc/md.texi: Likewise.

From-SVN: r55689
2002-07-23 21:51:00 +01:00
Kaveh R. Ghazi
13fd931e49 va-arg-15.x, [...]: Delete.
* gcc.c-torture/execute/va-arg-15.x, va-arg-16.x, va-arg-17.x:
	Delete.

From-SVN: r55688
2002-07-23 20:09:52 +00:00
J"orn Rennecke
451f86fdbc reload.c (find_reloads_toplev): Use simplify_gen_subreg.
gcc:
	* reload.c (find_reloads_toplev): Use simplify_gen_subreg.
	* simplify-rtx.c (simplify_subreg): When converting to a non-int
	mode, try to convert to an integer mode of matching size first.

gcc/testsuite:
	* gcc.c-torture/compile/simd-4.c: New test.

From-SVN: r55687
2002-07-23 21:06:46 +01:00
J"orn Rennecke
1d5fa6b425 simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR from individual subregs...
* simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
	from individual subregs, check that each subreg has been generated
	sucessfully.

From-SVN: r55686
2002-07-23 20:57:42 +01:00
Neil Booth
10d6af32dd genautomata.c (VLA_HWINT_SHORTEN, [...]): Remove.
* genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
	* df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
	FOR_EACH_BB_IN_SBITMAP): Remove.
	* gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
	* haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
	LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
	* loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
	PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
	* regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.

From-SVN: r55685
2002-07-23 19:19:33 +00:00
Gabriel Dos Reis
6aaae39ae5 pretty-print.h: New file.
2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>

	* pretty-print.h: New file.

From-SVN: r55684
2002-07-23 18:15:26 +00:00
John David Anglin
45e574d0ad real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
* real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
	(LARGEST_EXPONENT_IS_NORMAL): Ditto.
	(VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
	(TARGET_G_FLOAT): Default to 0 if not defined.
	(ieeetoe): New, common routine to convert target format floats
	to internal form.
	(e24toe, e53toe): Change to use ieeetoe, distinguish DEC
	vs. others.
	(e113toe): Change to use ieeetoe.
	(REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
	IBM.
	(e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
	(e64toe): Remove special cases for DEC and IBM. Remove support for
	ARM_EXTENDED_IEEE_FORMAT.
	(e24toe): Remove special cases for DEC.
	(significand_size): Simplify. Indent.
	(ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
	(etoieee, toieee): New.
	(etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
	etoieee and toieee for IEEE arithmetic.

From-SVN: r55683
2002-07-23 17:43:01 +00:00
Mike Stump
b5dec7da32 Update email address for self.
From-SVN: r55681
2002-07-23 16:29:37 +00:00
Gabriel Dos Reis
3764f879a7 extend.texi: Say ISO C90, not ISO C89.
2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>

	* doc/extend.texi: Say ISO C90, not ISO C89.
	* doc/invoke.texi: Likewise.
	* doc/standards.texi: Likewise.

From-SVN: r55680
2002-07-23 15:52:02 +00:00
Steve Ellcey
aa0f70e672 explow.c (convert_memory_address): Fix conversion of CONSTs.
* gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
	Fix permutation of conversion and plus/mult.

	* gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
	ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
	(expand_builtin_strncpy) Ditto.
	(expand_builtin_memset) Ditto.

From-SVN: r55679
2002-07-23 14:58:04 +00:00
Gabriel Dos Reis
fa72b06489 Fix PR/7363:
2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>

        Fix PR/7363:
        * c-common.c (c_sizeof_or_alignof_type): New function.
        (c_alignof): Remove definition.
        * c-common.h (c_sizeof, c_alignof): Define as macros.
        (c_sizeof_or_alignof_type): Declare.
        (my_friendly_assert): Moved from cp/cp-tree.h
        * c-typeck.c (c_sizeof): Remove definition.

cp/

2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>

        Fix PR/7363:
        * typeck.c (cxx_sizeof_or_alignof_type): New function.
        (c_sizeof): Remove definition.
        (expr_sizeof): Use cxx_sizeof.
        * decl2.c (build_expr_from_tree): Use cxx_sizeof_or_alignof_type.
        * decl.c (finish_destructor_body): Use cxx_sizeof.
        * semantics.c (finish_alignof): Likewise.
        (finish_alignof): Use cxx_alignof.
        * cp-tree.h (cxx_sizeof, cxx_alignof): New macros.
        (cxx_sizeof_or_alignof_type): Declare.
        (my_friendly_assert): Move to ../c-common.h.

From-SVN: r55678
2002-07-23 13:54:06 +00:00
Jan Hubicka
2b773ee2c1 gcse.c (try_replace_reg): Use num_changes_pending.
2002-07-23  Jan Hubicka  <jh@suse.cz>

	* gcse.c (try_replace_reg): Use num_changes_pending.
	* recog.c (num_changes_pending): New function.
	(validate_replace_src): Use validate_repalce_src_group.
	(validate_replace_src_group): New.
	* recog.h (validate_repalce_src_group): New.
	(num_changes_pending): Likewise.

From-SVN: r55677
2002-07-23 12:08:10 +00:00
J"orn Rennecke
a0dc500c86 calls.c (emit_library_call_value_1): If FUNCTION_ARG_PASS_BY_REFERENCE is true...
* calls.c (emit_library_call_value_1): If
	FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
	libcall, const call nor pure call.

From-SVN: r55676
2002-07-23 12:18:10 +01:00