Jason Merrill [Fri, 26 Jul 2002 13:45:38 +0000 (09:45 -0400)]
c-dump.c: Resurrect.
* c-dump.c: Resurrect.
* tree-dump.c: Move C-specific stuff to c-dump.c.
* c-common.h: Declare c_dump_tree.
* c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
* Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
(c-dump.o): New rule.
cp/
* dump.c (cp_dump_tree): Call c_dump_tree.
* Make-lang.in (CXX_C_OBJS): Add c-dump.o.
From-SVN: r55776
GCC Administrator [Fri, 26 Jul 2002 07:16:59 +0000 (07:16 +0000)]
Daily bump.
From-SVN: r55775
Alan Modra [Fri, 26 Jul 2002 02:47:35 +0000 (02:47 +0000)]
rs6000.md: Enable patterns using rlwinm for PowerPC64.
* config/rs6000/rs6000.md: Enable patterns using rlwinm for
PowerPC64. Replace "T" and "S" constraints with "n" when the
predicate will do. Formatting fixes.
(extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
as for extzvsi_internal1.
From-SVN: r55770
Roger Sayle [Fri, 26 Jul 2002 02:38:42 +0000 (02:38 +0000)]
20020720-1.x: Skip this test on several targets known to fail.
* gcc.c-torture/execute/
20020720-1.x: Skip this test on
several targets known to fail.
From-SVN: r55769
Benjamin Kosnik [Fri, 26 Jul 2002 01:49:36 +0000 (01:49 +0000)]
re PR libstdc++/7216 (basic_iostream::traits_type is ambiguous issue)
2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/7216
* include/std/std_istream.h (basic_iostream): Add typedefs for
char_type, int_type, pos_type, off_type, and traits_type.
* testsuite/27_io/iostream.cc (test01): Add typedef tests.
* testsuite/27_io/istream.cc: Same.
* testsuite/27_io/ostream.cc: Same.
* testsuite/27_io/filebuf.cc: Same.
* testsuite/27_io/stringbuf.cc: Replace content, move to...
* testsuite/27_io/stringbuf_members.cc: ...here.
* testsuite/27_io/streambuf.cc: Replace content, move to...
* testsuite/27_io/streambuf_members.cc: ...here.
* testsuite/27_io/stringstream.cc: Replace content, move to...
* testsuite/27_io/stringstream_members.cc: ...here.
* testsuite/27_io/ios.cc: New file.
* testsuite/27_io/fstream.cc: New file.
* testsuite/27_io/ifstream.cc: New file.
* testsuite/27_io/ofstream.cc: New file.
* testsuite/27_io/istringstream.cc: New file.
* testsuite/27_io/ostringstream.cc: New file.
From-SVN: r55767
Benjamin Kosnik [Thu, 25 Jul 2002 23:20:49 +0000 (23:20 +0000)]
re PR libstdc++/7220 (g++ 3.1: basic_istream::ignore(0,delimiter) issue.)
2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/7220
* include/bits/istream.tcc (istream::ignore): Don't extract on
zero.
* testsuite/27_io/istream_unformatted.cc (test10): Add.
From-SVN: r55763
Neil Booth [Thu, 25 Jul 2002 21:21:37 +0000 (21:21 +0000)]
dwarfout.c (VERSION_ASM_OP, [...]): Remove.
* dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
DERIV_END_LABEL_FMT): Remove.
(SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
From-SVN: r55762
Neil Booth [Thu, 25 Jul 2002 21:18:24 +0000 (21:18 +0000)]
objc-act.c (UTAG_STATICS, [...]): Remove.
* objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
Remove.
From-SVN: r55761
Neil Booth [Thu, 25 Jul 2002 21:13:36 +0000 (21:13 +0000)]
error.c (print_whitespace): Remove.
cp:
* error.c (print_whitespace): Remove.
* g++spec.c (LIBUNWIND): Move.
* mangle.c (mangled_position, write_signed_number): Remove.
From-SVN: r55760
Neil Booth [Thu, 25 Jul 2002 21:10:59 +0000 (21:10 +0000)]
* Missed.
From-SVN: r55759
Stan Shebs [Thu, 25 Jul 2002 21:00:10 +0000 (21:00 +0000)]
rs6000.c (rs6000_emit_prologue): Remove unused local var dwarfp.
* config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
local var dwarfp.
(output_compiler_stub): Remove unused locals.
(output_call): Always initialize line number.
From-SVN: r55758
J"orn Rennecke [Thu, 25 Jul 2002 19:38:54 +0000 (19:38 +0000)]
sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
* sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
* sh.md (truncdiqi2, movqi_media): Likewise.
From-SVN: r55757
Toon Moene [Thu, 25 Jul 2002 19:00:06 +0000 (21:00 +0200)]
news.texi: Document better handling of (no-)alias information of dummy arguments and...
2002-07-25 Toon Moene <toon@moene.indiv.nluug.nl>
* news.texi: Document better handling of (no-)alias
information of dummy arguments and induction variables
on loop unrolling.
From-SVN: r55756
Neil Booth [Thu, 25 Jul 2002 18:57:31 +0000 (18:57 +0000)]
collect2.c (SYMBOL__MAIN): Remove.
* collect2.c (SYMBOL__MAIN): Remove.
* gcse.c (obstack_chunk_alloc): Remove.
(gcse_alloc): Fix to count allocated bytes.
From-SVN: r55755
Neil Booth [Thu, 25 Jul 2002 18:48:42 +0000 (18:48 +0000)]
gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if HAVE_TARGET_EXECUTABLE_SUFFIX.
* gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
HAVE_TARGET_EXECUTABLE_SUFFIX.
From-SVN: r55754
J"orn Rennecke [Thu, 25 Jul 2002 18:00:38 +0000 (18:00 +0000)]
rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN, SIZE, EXPR and OFFSET.
* rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
SIZE, EXPR and OFFSET.
From-SVN: r55753
Richard Henderson [Thu, 25 Jul 2002 17:33:43 +0000 (10:33 -0700)]
emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos in ARRAY_REF of DECL_P case.
* emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
in ARRAY_REF of DECL_P case.
From-SVN: r55752
Gerald Pfeifer [Thu, 25 Jul 2002 14:34:56 +0000 (16:34 +0200)]
gennews (files): Add proper files for the GCC 3.1 release series.
* gennews (files): Add proper files for the GCC 3.1 release series.
Simplify and reformat introductory wording.
From-SVN: r55750
Richard Sandiford [Thu, 25 Jul 2002 10:16:00 +0000 (10:16 +0000)]
invoke.texi: Document -mabi=meabi, and expand on the EABI description.
* doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
description. Document -mips32, -mips64, and the associated -march
values. Describe the "mipsN" arguments to -march. Say that the
-mipsN options are equivalent to -march. Reword the description
of default type sizes.
* toplev.h (target_flags_explicit): Declare.
* toplev.c (target_flags_explicit): New var.
(set_target_switch): Update target_flags_explicit.
* config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
* config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
* config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
* config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
* config/mips/mips.h (mips_cpu_info): New struct.
(mips_cpu_string, mips_explicit_type_size_string): Remove.
(mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
(MIPS_CPP_SET_PROCESSOR): New macro.
(TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
Define _MIPS_ARCH and _MIPS_TUNE.
(MIPS_ISA_DEFAULT): Don't provide a default value. Instead...
(MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
MIPS_ISA_DEFAULT were already defined.
(MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
(TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
(ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
(GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
(ABI_GAS_ASM_SPEC): Remove.
(MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
(ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
Invoke %(asm_abi_default_spec) if no ABI was specified.
(CC1_SPEC): Remove ISA -> register-size rules.
(EXTRA_SPECS): Remove abi_gas_asm_spec. Add asm_abi_default_spec.
* config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
(mips_cpu_string, mips_explicit_type_size_string): Remove.
(mips_cpu_info_table): New array.
(mips_set_architecture, mips_set_tune): New fns.
(override_options): Rework to make -mipsN equivalent to -march.
Detect more erroneous cases, including those removed from CC1_SPEC.
Don't change the ABI based on architecture, or vice versa.
Unify logic with GAS.
(mips_asm_file_start): Get architecture name from mips_arch_info.
(mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
(mips_parse_cpu): Take the name of the option as argument. Handle
'from-abi'. Raise an error if the option is wrong.
(mips_cpu_info_from_isa): New fn.
[gcc/testsuite]
* gcc.dg/mips-args-[123].c: New tests.
From-SVN: r55747
Richard Sandiford [Thu, 25 Jul 2002 09:58:19 +0000 (09:58 +0000)]
mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
* config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
(tablejump_mips162): Likewise.
From-SVN: r55746
J"orn Rennecke [Thu, 25 Jul 2002 09:25:14 +0000 (09:25 +0000)]
simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to int_mode_for_mode.
* simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
int_mode_for_mode.
From-SVN: r55745
Gabriel Dos Reis [Thu, 25 Jul 2002 08:58:07 +0000 (08:58 +0000)]
c-common.c (c_sizeof_or_alignof_type): Take a third argument for complaining.
* c-common.c (c_sizeof_or_alignof_type): Take a third argument for
complaining.
* c-common.h (c_sizeof): Adjust definition.
(c_alignof): Likewise.
* c-tree.h (c_sizeof_nowarn): Now macro.
* c-typeck.c (c_sizeof_nowarn): Remove definition.
cp/
* cp-tree.h (cxx_sizeof_nowarn): Now a macro.
(cxx_sizeof_or_alignof_type): Take a third argument.
(cxx_sizeof): Adjust definition.
(cxx_alignof): Likewise.
* init.c (build_delete): Use cxx_sizeof_nowarn to reflect reality.
* typeck.c (cxx_sizeof_or_alignof_type): Take a third argument for
complaining.
(c_sizeof_nowarn): Remove definition.
(build_unary_op): Use cxx_sizeof_nowarn.
From-SVN: r55744
Benjamin Kosnik [Thu, 25 Jul 2002 07:19:40 +0000 (07:19 +0000)]
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
GCC Administrator [Thu, 25 Jul 2002 07:16:57 +0000 (07:16 +0000)]
Daily bump.
From-SVN: r55742
Neil Booth [Thu, 25 Jul 2002 06:56:11 +0000 (06:56 +0000)]
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
Benjamin Kosnik [Thu, 25 Jul 2002 06:42:00 +0000 (06:42 +0000)]
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
Zack Weinberg [Thu, 25 Jul 2002 05:14:23 +0000 (05:14 +0000)]
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
Aldy Hernandez [Thu, 25 Jul 2002 02:51:31 +0000 (02:51 +0000)]
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
Aldy Hernandez [Thu, 25 Jul 2002 02:31:04 +0000 (02:31 +0000)]
* testsuite/gcc.dg/ppc-spe.c: New.
From-SVN: r55733
Aldy Hernandez [Thu, 25 Jul 2002 02:27:55 +0000 (02:27 +0000)]
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
Aldy Hernandez [Thu, 25 Jul 2002 02:22:47 +0000 (02:22 +0000)]
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
Benjamin Kosnik [Thu, 25 Jul 2002 00:04:37 +0000 (00:04 +0000)]
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
Chris Demetriou [Wed, 24 Jul 2002 23:48:20 +0000 (23:48 +0000)]
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
Tom Tromey [Wed, 24 Jul 2002 23:17:39 +0000 (23:17 +0000)]
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
Benjamin Kosnik [Wed, 24 Jul 2002 23:17:13 +0000 (23:17 +0000)]
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
Geoffrey Keating [Wed, 24 Jul 2002 23:01:07 +0000 (23:01 +0000)]
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
Richard Henderson [Wed, 24 Jul 2002 22:20:34 +0000 (15:20 -0700)]
* gcc.c-torture/execute/loop-2e.c: Rewrite for 64 bit and no mmap.
From-SVN: r55724
Richard Henderson [Wed, 24 Jul 2002 22:05:19 +0000 (15:05 -0700)]
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
David Mosberger [Wed, 24 Jul 2002 21:42:48 +0000 (21:42 +0000)]
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
Michael Matz [Wed, 24 Jul 2002 20:52:26 +0000 (20:52 +0000)]
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
Benjamin Kosnik [Wed, 24 Jul 2002 19:49:21 +0000 (19:49 +0000)]
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
Richard Earnshaw [Wed, 24 Jul 2002 18:29:00 +0000 (18:29 +0000)]
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
Tom Tromey [Wed, 24 Jul 2002 17:48:41 +0000 (17:48 +0000)]
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
Chris Demetriou [Wed, 24 Jul 2002 17:14:33 +0000 (17:14 +0000)]
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
Jason Merrill [Wed, 24 Jul 2002 16:23:14 +0000 (12:23 -0400)]
stop recommending -fexternal-templates
From-SVN: r55713
Jan Hubicka [Wed, 24 Jul 2002 16:07:25 +0000 (18:07 +0200)]
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
Mark Wielaard [Wed, 24 Jul 2002 16:05:34 +0000 (16:05 +0000)]
[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
Jan Hubicka [Wed, 24 Jul 2002 15:24:35 +0000 (17:24 +0200)]
* rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
From-SVN: r55710
Gabriel Dos Reis [Wed, 24 Jul 2002 14:12:51 +0000 (14:12 +0000)]
* g++.dg/ext/alignof1.C (main): Return 0 for success.
From-SVN: r55708
Roger Sayle [Wed, 24 Jul 2002 13:41:22 +0000 (13:41 +0000)]
[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
Gabriel Dos Reis [Wed, 24 Jul 2002 12:17:53 +0000 (12:17 +0000)]
pretty-print.h: Add macros from cp/error.c `:w
* pretty-print.h: Add macros from cp/error.c
`:w
From-SVN: r55703
Benjamin Kosnik [Wed, 24 Jul 2002 07:55:34 +0000 (07:55 +0000)]
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
Alan Modra [Wed, 24 Jul 2002 07:53:36 +0000 (07:53 +0000)]
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
GCC Administrator [Wed, 24 Jul 2002 07:17:30 +0000 (07:17 +0000)]
Daily bump.
From-SVN: r55700
Alan Modra [Wed, 24 Jul 2002 07:15:10 +0000 (07:15 +0000)]
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
Neil Booth [Tue, 23 Jul 2002 23:05:55 +0000 (23:05 +0000)]
linux.h (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
* config/mips/linux.h (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL):
Remove.
From-SVN: r55693
Neil Booth [Tue, 23 Jul 2002 22:57:49 +0000 (22:57 +0000)]
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
Neil Booth [Tue, 23 Jul 2002 22:01:33 +0000 (22:01 +0000)]
* doc/tm.texi: Update documentation.
From-SVN: r55691
Neil Booth [Tue, 23 Jul 2002 21:58:57 +0000 (21:58 +0000)]
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
J"orn Rennecke [Tue, 23 Jul 2002 20:51:00 +0000 (20:51 +0000)]
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
Kaveh R. Ghazi [Tue, 23 Jul 2002 20:09:52 +0000 (20:09 +0000)]
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
J"orn Rennecke [Tue, 23 Jul 2002 20:06:46 +0000 (20:06 +0000)]
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
J"orn Rennecke [Tue, 23 Jul 2002 19:57:42 +0000 (19:57 +0000)]
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
Neil Booth [Tue, 23 Jul 2002 19:19:33 +0000 (19:19 +0000)]
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
Gabriel Dos Reis [Tue, 23 Jul 2002 18:15:26 +0000 (18:15 +0000)]
pretty-print.h: New file.
2002-07-23 Gabriel Dos Reis <gdr@nerim.net>
* pretty-print.h: New file.
From-SVN: r55684
John David Anglin [Tue, 23 Jul 2002 17:43:01 +0000 (17:43 +0000)]
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
Mike Stump [Tue, 23 Jul 2002 16:29:37 +0000 (16:29 +0000)]
Update email address for self.
From-SVN: r55681
Gabriel Dos Reis [Tue, 23 Jul 2002 15:52:02 +0000 (15:52 +0000)]
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
Steve Ellcey [Tue, 23 Jul 2002 14:58:04 +0000 (14:58 +0000)]
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
Gabriel Dos Reis [Tue, 23 Jul 2002 13:54:06 +0000 (13:54 +0000)]
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
Jan Hubicka [Tue, 23 Jul 2002 12:08:10 +0000 (14:08 +0200)]
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
J"orn Rennecke [Tue, 23 Jul 2002 11:18:10 +0000 (11:18 +0000)]
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
GCC Administrator [Tue, 23 Jul 2002 07:17:57 +0000 (07:17 +0000)]
Daily bump.
From-SVN: r55673
Neil Booth [Tue, 23 Jul 2002 06:29:28 +0000 (06:29 +0000)]
* config/m88k/m88k.h (SECTION_ASM_OP): Remove.
From-SVN: r55668
Neil Booth [Tue, 23 Jul 2002 06:28:08 +0000 (06:28 +0000)]
* vmsdbgout.c (SECTION_ASM_OP): Remove.
From-SVN: r55667
Neil Booth [Tue, 23 Jul 2002 06:26:28 +0000 (06:26 +0000)]
* config/i386/i386.c (AT_BP): Remove.
From-SVN: r55666
Neil Booth [Tue, 23 Jul 2002 06:22:05 +0000 (06:22 +0000)]
defaults.h (obstack_chunk_alloc, [...]): Default definition.
* defaults.h (obstack_chunk_alloc, obstack_chunk_free):
Default definition.
* gcse.c: Don't define obstack_chunk_free.
* collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
Don't define obstack macros.
cp:
* class.c, method.c, pt.c, search.c: Similarly.
From-SVN: r55665
Tom Tromey [Tue, 23 Jul 2002 03:20:27 +0000 (03:20 +0000)]
* lex.c (java_lex): Check for `e' or `E' after 0.
From-SVN: r55664
Tom Tromey [Tue, 23 Jul 2002 03:15:02 +0000 (03:15 +0000)]
* libjava.compile/zeroexp.java: New file.
From-SVN: r55663
Mark Wielaard [Mon, 22 Jul 2002 23:50:13 +0000 (23:50 +0000)]
MD5.java: Extends MessageDigest, not MessageDigestSpi (fixes Classpath bug #783).
* gnu/java/security/provider/MD5.java: Extends MessageDigest, not
MessageDigestSpi (fixes Classpath bug #783).
From-SVN: r55661
Mark Wielaard [Mon, 22 Jul 2002 23:36:56 +0000 (23:36 +0000)]
Gnu.java: Reference all implementation classes by using Class.getName().
* gnu/java/security/provider/Gnu.java: Reference all implementation
classes by using Class.getName().
From-SVN: r55660
Stephane Carrez [Mon, 22 Jul 2002 21:08:41 +0000 (23:08 +0200)]
re PR target/6744 (Generates ASM containing reference to pseudo register z)
PR target/6744
* config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
ASM_OPERANDS instructions.
From-SVN: r55659
Stephane Carrez [Mon, 22 Jul 2002 21:04:11 +0000 (23:04 +0200)]
re PR target/7361 (Internal compiler error in reload_cse_simplify_operands, at reload1.c:8387)
PR target/7361
* config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
constant addresses only on 68HC12.
From-SVN: r55658
Neil Booth [Mon, 22 Jul 2002 20:08:29 +0000 (20:08 +0000)]
cppfiles.c (stack_include_file): Correct test of whether a dependency should be output.
* cppfiles.c (stack_include_file): Correct test of whether
a dependency should be output.
From-SVN: r55657
David Edelsohn [Mon, 22 Jul 2002 19:31:37 +0000 (19:31 +0000)]
* collect2.c (is_ctor_dtor): Add other possible JOINER values.
From-SVN: r55656
Richard Earnshaw [Mon, 22 Jul 2002 17:41:27 +0000 (17:41 +0000)]
arm.md (movqi): If optimizing and we can create pseudos...
* arm.md (movqi): If optimizing and we can create pseudos, use
a ZERO_EXTEND to load from memory, then copy the result into the
target.
(movhi): Likewise, but only for ARMv4.
From-SVN: r55655
Neil Booth [Mon, 22 Jul 2002 17:31:42 +0000 (17:31 +0000)]
* ssa-ccp.c (PHI_PARMS): Remove.
From-SVN: r55654
Richard Sandiford [Mon, 22 Jul 2002 17:25:05 +0000 (17:25 +0000)]
mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS on big-endian targets.
* config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
on big-endian targets.
From-SVN: r55653
Kaveh R. Ghazi [Mon, 22 Jul 2002 17:11:57 +0000 (17:11 +0000)]
hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE, [...]): New formatting macros.
* hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
New formatting macros.
* ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
From-SVN: r55652
J"orn Rennecke [Mon, 22 Jul 2002 14:29:28 +0000 (14:29 +0000)]
rtlanal.c (subreg_regno_offset): Return correct offset for big endian paradoxical subregs.
* rtlanal.c (subreg_regno_offset): Return correct offset for
big endian paradoxical subregs.
From-SVN: r55650
Kriang Lerdsuwanakij [Mon, 22 Jul 2002 14:23:37 +0000 (14:23 +0000)]
PR c++/7347, c++/7348
PR c++/7347, c++/7348
* cp-tree.h (tsubst_flags_t): Add tf_parsing.
* decl.c (make_typename_type): Use it.
(make_unbound_class_template): Likewise.
(lookup_name_real): Don't call type_access_control if scope is
template parameter dependent.
* parse.y (template_arg): Call make_unbound_class_template with
tf_parsing set.
(nest_name_specifier): Call make_typename_type with tf_parsing set.
(typename_sub0): Likewise.
(typename_sub1): Likewise.
(instantiate_decl): Push class scope.
* pt.c (regenerate_decl_from_template): Call pushclass and popclass
for both static variable and member function template.
(instantiate_decl) Call pushclass and popclass when tsubst'ing type
and arguments.
* search.c (type_access_control): Do type access for TEMPLATE_DECL
too.
* g++.dg/template/access4.C: New test.
* g++.dg/template/access5.C: New test.
* g++.old-deja/g++.pt/memtemp85.C: Fix access problem.
* g++.old-deja/g++.pt/memtemp86.C: Likewise.
* g++.old-deja/g++.pt/ttp58.C: Likewise.
* g++.old-deja/g++.pt/memtemp89.C: Remove XFAIL.
From-SVN: r55649
J"orn Rennecke [Mon, 22 Jul 2002 14:22:58 +0000 (14:22 +0000)]
optabs.c (expand_vector_unop): Don't expand using sub_optab if we got the wrong mode.
* optabs.c (expand_vector_unop): Don't expand using sub_optab
if we got the wrong mode.
From-SVN: r55648
J"orn Rennecke [Mon, 22 Jul 2002 14:20:20 +0000 (14:20 +0000)]
hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
* hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
* genrecog.c (write_switch, write_cond): Use it.
* genemit.c (gen_exp): Likewise.
From-SVN: r55647
Jakub Jelinek [Mon, 22 Jul 2002 10:15:49 +0000 (12:15 +0200)]
* c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
From-SVN: r55646
Jakub Jelinek [Mon, 22 Jul 2002 10:11:16 +0000 (12:11 +0200)]
c-decl.c (build_compound_literal): Defer compound literal decls until until file end to emit them only if...
* c-decl.c (build_compound_literal): Defer compound literal decls
until until file end to emit them only if they are actually used.
* gcc.dg/gnu89-init-2.c: New test.
From-SVN: r55645
GCC Administrator [Mon, 22 Jul 2002 07:16:57 +0000 (07:16 +0000)]
Daily bump.
From-SVN: r55643
Kaveh R. Ghazi [Mon, 22 Jul 2002 02:04:25 +0000 (02:04 +0000)]
ra-build.c (check_conflict_numbers): Hide unused function.
* ra-build.c (check_conflict_numbers): Hide unused function.
(livethrough_conflicts_bb): Avoid automatic aggregate
initialization.
(parts_to_webs_1): Avoid `U' integer constant modifier.
(conflicts_between_webs): Wrap a variable in the macro controlling
its usage.
* ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
(dump_igraph, dump_graph_cost): Avoid string concatenation
(dump_static_insn_cost): Avoid automatic aggregate
initialization.
* ra-rewrite.c (insert_stores): Avoid automatic aggregate
initialization.
(dump_cost): Avoid string concatenation
From-SVN: r55637
Richard Henderson [Mon, 22 Jul 2002 00:42:54 +0000 (17:42 -0700)]
expr.c (expand_expr): Don't use GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
* expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
* lang.c (java_unsafe_for_reeval): New.
(LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
From-SVN: r55636
Richard Henderson [Mon, 22 Jul 2002 00:29:56 +0000 (17:29 -0700)]
unroll.c (find_splittable_givs): Do not split DEST_ADDR givs that are not unrolled completely.
* unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
that are not unrolled completely.
From-SVN: r55635
Richard Henderson [Mon, 22 Jul 2002 00:26:03 +0000 (17:26 -0700)]
loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
* loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
* loop.c (strength_reduce): Update.
* toplev.c (rest_of_compilation): Do unrolling in the first
loop pass, not the second.
From-SVN: r55634