2006-10-30 Julian Brown gcc/ * config/arm/neon.ml (poly_unsigned_variant): New function. (elts_same_io_bits_suffix): Now unused, remove. (table, table_2, table_io): New type munging functions for table look-up operations. (ops): Use table_2 and table_io for Vtbl, Vtbx instead of bits_2 and elts_same_io_bits_suffix. * config/arm/arm_neon.h: Regenerate. * doc/arm-neon-intrinsics.texi: Regenerate. * testsuite/gcc.target/arm/neon/*.c: Regenerate. 2006-10-29 Julian Brown gcc/ * config/arm/arm.c (arm_init_neon_builtins): Fix function types for floating-point bit-select builtin operations. * config/arm/neon.md (V_cmp_result): Add DI, V2DI modes. (neon_vbsl): Turn into expander, and rename previous version to... (neon_vbsl_internal): New name for above insn pattern. Fix order of arguments, and make mode of operand 1 integer for float variants. * config/arm/neon.ml (bit_select): Add type munging function for bit selection ops. (Vneg): Fix operand shape for vqnegq. (Vbsl): Use bit_select not notype_3 for type munging function. * config/arm/arm_neon.h: Regenerate. * doc/arm-neon-intrinsics.texi: Regenerate. * testsuite/gcc.target/arm/neon/*.c: Regenerate. 2006-10-29 Joseph Myers libstdc++-v3/ * testsuite/config/default.exp (${tool}_target_compile): Use v3_target_compile. gcc/testsuite/ * lib/target-supports.exp (check_function_available): Declare function before calling. 2006-10-27 Joseph Myers Richard Sandiford gcc/testsuite/ * lib/target-supports.exp (get_compiler_messages): Append options as a single list element. (check_profiling_available): Return 0 for uClibc with -p or -pg. (check_effective_target_arm_vfp_ok): New. * lib/c-torture.exp: Load target-supports.exp. * gcc.c-torture/execute/20030125-1.x: Disable test for uClibc. * gcc.dg/arm-vfp1.c, gcc.target/arm/vfp-ldmdbd.c, gcc.target/arm/vfp-ldmdbs.c, gcc.target/arm/vfp-ldmiad.c, gcc.target/arm/vfp-ldmias.c, gcc.target/arm/vfp-stmdbd.c, gcc.target/arm/vfp-stmdbs.c, gcc.target/arm/vfp-stmiad.c, gcc.target/arm/vfp-stmias.c: Use arm_vfp_ok. 2006-10-27 Mark Shinwell gcc/ * config/arm/arm.c (neon_itype): Add NEON_SCALARMULL. (neon_builtin_data): Add data for vmull_n. (arm_init_neon_builtins): Add case for NEON_SCALARMULL. (arm_expand_neon_builtin): Likewise. Use gcc_unreachable instead of returning NULL. * config/arm/neon.md (UNSPEC_VMULL_LANE): New. (define_insn "neon_vmull_lane"): New. (define_expand "neon_vmull_n"): New. * config/arm/neon.ml (opcode): Add Vmull_n. (ops): Add data for Vmull_n. * config/arm/neon-testgen.ml: Add extra line break. * config/arm/arm_neon.h: Regenerate. * config/arm/neon-docgen.ml (intrinsic_groups): Add entry for Vmull.n. (analyze_shape): Correct typo. * doc/arm-neon-intrinsics.texi: Regenerate. gcc/testsuite/ * gcc.target/arm/neon/vmull_nu16.c: New. * gcc.target/arm/neon/vmull_nu32.c: New. * gcc.target/arm/neon/vmull_ns16.c: New. * gcc.target/arm/neon/vmull_ns32.c: New. 2006-10-26 Paul Brook gcc/ * config/arm/neon.md (reduc_splus_): New pattern, renamed from reduc_uplus. (reduc_uplus_): Use reduc_splus. (reduc_splus_v2di): New pattern. 2006-10-26 Paul Brook gcc/ * config/arm/neon.md (smin3, smax3): Include SF vectors. 2006-10-24 Mark Shinwell gcc/ * final.c (asm_insn_count): Return zero for an empty asm body. 2006-10-23 Paul Brook gcc/ * stor-layout.c (start_record_layout): maximum_field_alignment overrides STRUCTURE_SIZE_BOUNDARY. gcc/testsuite/ * gcc.dg/pragma-pack-4.c: New test. 2006-10-23 Mark Shinwell gcc/ * config/arm/neon-testgen.ml (emit_prologue): Don't emit iWMMXt dg-skip-ifs. Emit checks for arm_neon_ok effective target. gcc/testsuite/ * gcc.target/arm/neon/*.c: Regenerate. 2006-10-23 Mark Shinwell gcc/ * c-common.c (vector_types_convertible_p): Check TYPE_VECTOR_SUBPARTS when assessing convertibility. gcc/testsuite/ * g++.dg/conversion/simd1.C: Adjust dg-error directives. * g++.dg/ext/attribute-test-2.C: Add "vs" member to union and use it. 2006-10-21 Paul Brook gcc/ * config/arm/arm.c (arm_legitimate_index_p): Add NEON vector addressing modes. 2006-10-20 Nathan Sidwell Kazu Hirata gcc/ * config/m68k/m68k.md (link, unlink): New. 2006-10-20 Joseph Myers fixincludes/ * inclhack.def (AAB_fd_zero_asm_posix_types_h): Bypass on x86_64. * fixincl.x: Regenerate. 2006-10-20 Mark Mitchell Joseph Myers Mark Shinwell gcc/ * config.gcc (arm-wrs-linux-gnueabi, i586-wrs-linux-gnu, mips-wrs-linux-gnu, powerpc-wrs-linux-gnu): New configurations. * config/arm/t-wrs-linux, config/arm/wrs-linux.h, config/mips/t-wrs-linux, config/mips/wrs-linux.h, config/rs6000/t-wrs-linux, config/rs6000/wrs-linux.h: New files. * config/rs6000/rs6000.h (OPTION_DEFAULT_SPECS): Allow for -te500v2. * config/rs6000/sysv4.h (CC1_EXTRA_SPEC): Define and use. libcpp/ * configure.ac (i[34567]86-wrs-linux*): Set need_64bit_hwint=yes. * configure: Regenerate. 2006-10-20 Richard Sandiford Joseph Myers gcc/ * gcc.c (license_me_flag): New variable. (feature_proxy_flag): New variable. (no_license): New variable. (process_command): Handle -flicense-me, -ffeature-proxy and -fno-feature-proxy. Initialize no_license. (main): Check licenses. 2006-10-19 Mark Shinwell gcc/ * config/arm/arm.c (all_architectures): Add iWMMXt2 entry. * config/arm/arm-cores.def: New ARM_CORE entry for iWMMXt2. * config/arm/arm-tune.md: Regenerate. 2006-10-19 Kazu Hirata gcc/ * config/m68k/m68k.h (DATA_REGNO_P, ADDRESS_REGNO_P, INT_REGNO_P, FP_REGNO_P): New. (REGNO_MODE_OK_FOR_INDEX_P): Use INT_REGNO_P. (REGNO_OK_FOR_BASE_P): Use ADDRESS_REGNO_P. (REGNO_OK_FOR_DATA_P): Use DATA_REGNO_P. (REGNO_OK_FOR_FP_P): Use FP_REGNO_P. 2006-10-17 Paul Brook gcc/ * config/arm/arm.c (arm_init_neon_builtins): Remove superfluous semicolons. Move declarations before code. 2007-10-17 Paul Brook * config/arm/neon.h (neon_vld3qa, neon_vld3qb, neon_vst3qa, neon_vst3qb>mode>, neon_vld4qa, neon_vld4qb, neon_vst4qa, neon_vst4qb): Add missing mode. 2006-10-17 Paul Brook gcc/ * config/arm/vec-common.md (VALLW, VINTW): New mode macros. (mul3, smin3, umin3, smax2, umax): Use them. * config/arm/neon.md (VDQ, VDQI): Add V2DI. (QDQW, VDQIW): New mode macros. (V_suf64): Only suffix DImode. (vec_setv2di, vec_extractv2di): New insns. (ior3_64): Rename to iordi3_neon. (and3_64): Rename to anddi3_neon. (orn3_64): Rename to orndi3_neon. (bic3_64): Rename to bicdi3_neon. (xor3_64): Rename to xordi3_neon. (abs, neg2, umin3, umax3, smin3, smax3, ashl3, ashr3, lshr3, neon_vhadd, neon_vmul, neon_vmla, neon_vmls, neon_vqsub, neon_vhsub, neon_vceq, neon_vcgt, neon_vtst, neon_vabd, neon_vaba, neon_vmax, neon_vmin, neon_vpadd, neon_vpaddl, neon_vabs, neon_vqabs, neon_vqneg, neon_vcls, neon_vclz, neon_vmvn, neon_vdup_n, neon_vtrn_internal, neon_vtrn, neon_vzip_internal, neon_vzip, neon_vuzp_internal, neon_vuzp): Use VDQW and VDQIW. 2006-10-11 Joseph Myers Backport: 2005-11-23 Ben Elliston * dwarf2.h (enum dwarf_type): Add DW_ATE_decimal_float. 2006-03-01 Jakub Jelinek * dwarf2.h (DW_TAG_condition, DW_TAG_shared_type): New constants from DWARF 3. (DW_AT_description, DW_AT_binary_scale, DW_AT_decimal_scale, DW_AT_small, DW_AT_decimal_sign, DW_AT_digit_count, DW_AT_picture_string, DW_AT_mutable, DW_AT_threads_scaled, DW_AT_explicit, DW_AT_object_pointer, DW_AT_endianity, DW_AT_elemental, DW_AT_pure, DW_AT_recursive): New. (DW_OP_form_tls_address, DW_OP_call_frame_cfa, DW_OP_bit_piece): New. (DW_ATE_packed_decimal, DW_ATE_numeric_string, DW_ATE_edited, DW_ATE_signed_fixed, DW_ATE_unsigned_fixed): New. (DW_DS_unsigned, DW_DS_leading_overpunch, DW_DS_trailing_overpunch, DW_DS_leading_separate, DW_DS_trailing_separate): New. (DW_END_default, DW_END_big, DW_END_little): New. (DW_END_lo_user, DW_END_hi_user): Define. (DW_LNE_lo_user, DW_LNE_hi_user): Define. (DW_CFA_val_offset, DW_CFA_val_offset_sf, DW_CFA_val_expression): New. (DW_LANG_PLI, DW_LANG_ObjC, DW_LANG_ObjC_plus_plus, DW_LANG_UPC, DW_LANG_D): New. 2006-03-04 Jakub Jelinek * unwind-dw2.h (_Unwind_FrameState): Add REG_SAVED_VAL_OFFSET and REG_SAVED_VAL_EXP constants. * unwind-dw2.c (struct _Unwind_Context): Add by_value array. (_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr): Handle regs stored by value. (_Unwind_SetGRValue, _Unwind_GRByValue): New functions. (execute_cfa_program): Handle DW_CFA_val_offset, DW_CFA_val_offset_sf and DW_CFA_val_expression. (uw_update_context_1): Handle REG_SAVED_REG with regs stored by value specially. Handle REG_SAVED_VAL_OFFSET and REG_SAVED_VAL_EXP. (uw_install_context_1): Handle target regs stored by value. 2006-03-04 Jakub Jelinek * gcc.target/i386/cleanup-1.c: New test. * gcc.target/i386/cleanup-2.c: New test. 2006-10-10 Joseph Myers Backport: 2005-11-22 Joseph S. Myers * config/fp-bit.c (clzusi): New function. (si_to_float, usi_to_float): Use it to compute proper shift. (usi_to_float): Preserve guard bits when shifting right. * libgcc2.c (__floatundixf, __floatunditf, __floatundidf, __floatundisf): New functions. * libgcc2.h (__floatundixf, __floatunditf, __floatundidf, __floatundisf): Declare. * mklibgcc.in (lib2funcs): Add _floatundidf, _floatundisf, _floatundixf, and _floatunditf. * optabs.c (expand_float): If target does not define a pattern for signed or unsigned conversion, use an unsigned libcall instead of a signed one. (init_optabs): Initialize ufloat_optab. 2005-11-22 Joseph S. Myers * gcc.c-torture/execute/floatunsisf-1.c: New test. 2005-11-25 Joseph S. Myers * config/rs6000/rs6000.c (rs6000_init_libfuncs): Use _q_utoq for unsigned conversions from SImode to TFmode. 2005-11-25 Alan Modra * config/rs6000/ppc64-fp.c (__floatunditf): New function. (__floatundidf, __floatundisf): Likewise. 2005-11-25 Joseph S. Myers * config/sparc/sparc.c (sparc_init_libfuncs): Use _Q_utoq and _Q_ulltoq for unsigned conversions from SImode and DImode to TFmode. 2005-11-25 Joseph S. Myers * gcc.dg/torture/fp-int-convert-float.c, gcc.dg/torture/fp-int-convert-double.c, gcc.dg/torture/fp-int-convert-long-double.c, gcc.dg/torture/fp-int-convert-timode.c, gcc.dg/torture/fp-int-convert-float80.c, gcc.dg/torture/fp-int-convert-float80-timode.c, gcc.dg/torture/fp-int-convert-float128.c, gcc.dg/torture/fp-int-convert-float128-timode.c, gcc.dg/torture/fp-int-convert.h: New files. 2005-11-27 Joseph S. Myers * config/floatunsisf.c, config/floatunsidf.c, config/floatunsixf.c, config/floatunsitf.c: New files. * config/ia64/t-hpux: Add floatunsitf.c. * config/ia64/ia64.c (ia64_init_libfuncs): Use _U_Qfcnvxuf_dbl_to_quad for unsigned DImode-to-TFmode conversion. 2005-11-28 Joseph S. Myers * config/fp-bit.h (LSHIFT): Take shift count parameter. * config/fp-bit.c (_fpadd_parts): Shift in one go instead of one bit at a time. 2005-11-28 Joseph S. Myers * config/fp-bit.c (isnan, isinf, pack_d, unpack_d): Use __builtin_expect. 2005-11-29 Joseph S. Myers * gcc.dg/torture/fp-int-convert-timode.c: XFAIL only on lp64 targets. * gcc.dg/torture/fp-int-convert-float128-timode.c: XFAIL also for LP64 ia64. 2005-12-04 John David Anglin * pa/pa.c (pa_hpux_init_libfuncs): Add _U_Qfcnvxf_usgl_to_quad and _U_Qfcnvxf_udbl_to_quad to set of initialized libfuncs. * pa/quadlib.c (_U_Qfcnvxf_usgl_to_quad, _U_Qfcnvxf_udbl_to_quad): New functions. 2005-12-05 Joseph S. Myers * doc/libgcc.texi (__floatunsisf, __floatunsidf, __floatunsitf, __floatunsixf, __floatundisf, __floatundidf, __floatunditf, __floatundixf, __floatuntisf, __floatuntidf, __floatuntitf, __floatuntixf, __powisf2, __powidf2, __powixf2, __mulsc3, __muldc3, __multc3, __mulxc3, __divsc3, __divdc3, __divtc3, __divxc3): Document. 2005-12-15 Joseph S. Myers * libgcc2.h (SF_SIZE, DF_SIZE, XF_SIZE, TF_SIZE): Define. * libgcc2.c (__floatdixf, __floatundixf, __floatditf, __floatunditf): Use #error if type sizes don't match requirements of implementation. (__floatdisf, __floatdidf): Unify. Possibly use XFmode or TFmode as wider floating-point type. Use #error if type sizes don't match requirements of implementation. Avoid overflow in computing Wtype_MAXp1_F * Wtype_MAXp1_F. When special casing conversion, shift one more bit. Cast 1 to DWtype or UDWtype for shifting. (__floatundisf, __floatundidf): Likewise. * config/ia64/hpux.h (XF_SIZE, TF_SIZE): Define. * config/ia64/ia64.c (ia64_init_libfuncs): Use _U_Qfcnvfxt_quad_to_quad and _U_Qfcnvxf_quad_to_quad for TFmode-TImode conversions. * doc/tm.texi (SF_SIZE, DF_SIZE, XF_SIZE, TF_SIZE): Document. 2005-12-15 Joseph S. Myers * gcc.dg/torture/fp-int-convert-timode.c: Only XFAIL for LP64 IA64 HP-UX. 2005-12-21 Joseph S. Myers * config/arm/t-arm-elf (LIB1ASMFUNCS): Add _floatundidf and _floatundisf. 2005-12-28 Alan Modra * gcc.dg/torture/fp-int-convert-timode.c: Don't test IBM Extended Double long doubles or repeat tests when long double is the same size as double. 2006-01-05 Richard Earnshaw * arm/t-netbsd (LIB2FUNCS_EXTRA): Define. 2006-01-20 Alan Modra * libgcc2.c (__floatdisf, __floatdidf): Don't use IBM Extended Double TFmode. (__floatundisf, __floatundidf): Likewise. * libgcc2.h (IS_IBM_EXTENDED): Define. 2006-04-18 Joseph S. Myers * config/soft-fp: New directory. From glibc. * config/soft-fp/t-softfp: New. * config/soft-fp/README: New. * mklibgcc.in: Handle LIB2FUNCS_EXCLUDE. * Makefile.in (LIB2FUNCS_EXCLUDE, SFP_MACHINE): New. (libgcc.mk): Pass LIB2FUNCS_EXCLUDE. (LIBGCC_DEPS): Add $(SFP_MACHINE). * config.gcc: Use rs6000/t-fprules-fpbit or rs6000/t-fprules-softfp and soft-fp/t-softfp together with rs6000/t-fprules. * config/rs6000/sfp-machine.h: New. Based on glibc. * config/rs6000/t-fprules-fpbit, config/rs6000/t-fprules-softfp: New. * config/rs6000/t-fprules: Remove fp-bit rules. * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Use +=. * config/rs6000/t-linux64: Likewise. Remove duplicates from LIB2FUNCS_EXTRA. Remove fp-bit rules. (softfp_wrap_start, softfp_wrap_end): New. 2006-10-10 Joseph Myers Backport: 2006-10-09 Steve Ellcey * unwind-c.c (PERSONALITY_FUNCTION): Ifdef use of _Unwind_GetIPInfo. * configure.ac (HAVE_GETIPINFO): Check for _Unwind_GetIPInfo. * configure: Regenerate. * config.in: Regenerate. 2006-10-07 Nathan Sidwell gcc/testsuite/ * g++.old-deja/g++.jason/thunk2.C: Remove dg-bogus for m68k. * g++.old-deja/g++.pt/static11.C: Replace xfail by target requirement. * lib/target-supports.exp (check_effective_target_unwrapped): New. libstdc++-v3/testsuite/ * 23_containers/set/modifiers/16728.cc (iterations): Reduce to 2000. 2006-10-07 Joseph Myers Backport: 2005-11-22 Joseph S. Myers * libgcc-std.ver (GCC_4.2.0): New version. 2006-02-27 Jakub Jelinek * unwind-dw2.c (struct _Unwind_Context): Add signal_frame field. (extract_cie_info): Handle S flag in augmentation string. (execute_cfa_program): If context->signal_frame, execute also fs->pc == context->ra instructions. (uw_frame_state_for): If context->signal_frame, don't subtract one from context->ra to find FDE. (uw_update_context_1): Set context->signal_frame to fs->signal_frame. (_Unwind_GetIPInfo): New function. * unwind-dw2.h (_Unwind_FrameState): Add signal_frame field. * unwind-c.c (PERSONALITY_FUNCTION): Use _Unwind_GetIPInfo instead of _Unwind_GetIP. * unwind-sjlj.c (_Unwind_GetIPInfo): New function. * unwind-generic.h (_Unwind_GetIPInfo): New prototype. * unwind-compat.c (_Unwind_GetIPInfo): New function. * libgcc-std.ver (_Unwind_GetIPInfo): Export @@GCC_4.2.0. * config/ia64/unwind-ia64.c (_Unwind_GetIPInfo): New function. * config/arm/unwind-arm.h (_Unwind_GetIPInfo): Define. * config/i386/linux-unwind.h (x86_fallback_frame_state, x86_64_fallback_frame_state): Set fs->signal_frame. * config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Likewise. (MD_FROB_UPDATE_CONTEXT): Define unconditionally. (frob_update_context): Likewise. Workaround missing S flag in Linux 2.6.12 - 2.6.16 kernel vDSOs. * config/s390/linux-unwind.h (s390_fallback_frame_state): Likewise. Remove the psw_addr + 1 hack. 2006-02-27 Jakub Jelinek * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Use _Unwind_GetIPInfo instead of _Unwind_GetIP. 2006-02-27 Jakub Jelinek * exception.cc (PERSONALITY_FUNCTION): Use _Unwind_GetIPInfo instead of _Unwind_GetIP. * include/i386-signal.h (MAKE_THROW_FRAME): Change into empty macro. (HANDLE_DIVIDE_OVERFLOW): Don't adjust _res->eip if falling through to throw. * include/x86_64-signal.h (MAKE_THROW_FRAME): Change into empty macro. * include/powerpc-signal.h (MAKE_THROW_FRAME): Change into empty macro. 2006-03-03 Jakub Jelinek * config/arm/unwind-arm.h (_Unwind_GetIPInfo): Fix pasto. 2006-07-21 Steve Ellcey * unwind_ipinfo.m4: New. 2006-07-21 Steve Ellcey * configure.ac: Use GCC_CHECK_UNWIND_GETIPINFO to define HAVE_GETIPINFO. * aclocal.m4: Add include of ../config/unwind_ipinfo.m4. * config.h.in: Regenerate. * configure: Regenerate. * Makefile.in: Regenerate. * libmath/Makefile.in: Regenerate. * include/Makefile.in: Regenerate. * src/Makefile.in: Regenerate. * libsupc++/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. * po/Makefile.in: Regenerate. * libsupc++/eh_personality.cc: Check HAVE_GETIPINFO. 2006-09-26 Jack Howarth * exception.cc (PERSONALITY_FUNCTION): use _Unwind_GetIP if HAVE_GETIPINFO not defined. * configure.ac: use GCC_CHECK_UNWIND_GETIPINFO. * aclocal.m4, configure, include/config.h.in, Makefile.in: Rebuilt. 2006-10-03 Geoffrey Keating * config/i386/darwin-libgcc.10.5.ver: Update to symbol list for current Leopard versions. * config/rs6000/darwin-libgcc.10.5.ver: Likewise. 2006-10-05 Joseph Myers gcc/testsuite/ * lib/target-supports.exp (check_effective_target_vect_cmdline_needed): Avoid caching across change of target. 2006-10-05 Richard Sandiford Backport from mainline: gcc/ 2006-09-20 Richard Sandiford * config/mips/mips.c (CODE_FOR_mips_abs_ps): Delete. * config/mips/mips.md (UNSPEC_ABS_PS): New constant. (UNSPEC_RSQRT1, UNSPEC_RSQRT2, UNSPEC_RECIP1, UNSPEC_RECIP2) (UNSPEC_SINGLE_CC, UNSPEC_SCC): Bump values by 1. (*nmadd, *nmadd_fastmath): Require !HONOR_NANS. (*nmsub, *nmsub_fastmath): Likewise. (abs2, neg2): Likewise. * config/mips/mips-ps-3d.md (mips_abs_ps): New define_expand. (*mips_abs_ps): New define_insn. gcc/testsuite/ 2006-09-20 Richard Sandiford * gcc.target/mips/mips-ps-type.c: Add -ffinite-math-only. * gcc.target/mips/nmadd-2.c: Likewise. * gcc.target/mips/mips-ps-6.c: New test. * gcc.target/mips/neg-abs-1.c: Likewise. * gcc.target/mips/neg-abs-2.c: Likewise. * gcc.target/mips/nmadd-3.c: New test. 2006-10-05 Richard Sandiford gcc/ * config/mips/mips.c (mips_offset_within_object_p): Delete declaration. 2006-10-05 Richard Sandiford gcc/ * config/mips/mips.c (mips_expand_builtin_compare): Use gen_single_cc as the condition for __builtin_mips_upper_* or __builtin_mips_lower_*. * config/mips/mips.md (UNSPEC_SINGLE_CC): New constant. * config/mips/mips-ps-3d.md (single_cc): New expander. (*branch_upper_lower, *branch_upper_lower_inverted): New patterns. 2006-10-04 Joseph Myers gcc/testsuite/ * lib/target-supports.exp (check_effective_target_vect_cmdline_needed): Handle i?86-*-* the same as x86_64-*-*; check for LP64. 2006-10-04 Joseph Myers Backport: 2006-07-24 Uros Bizjak * gcc.dg/visibility-11.c: Enlarge test array to 1024 bytes to avoid memcpy optimization. 2006-10-04 Joseph Myers gcc/ * config.gcc: Handle tuning for bi-arch i[34567]86-*-linux* like that for i[34567]86-*-solaris2.1[0-9]*. Backport: 2006-01-19 Jan Hubicka H.J. Lu Evandro Menezes * invoke.texi (generic): Document (i686) Update. * config.gcc: Make x86_64-* and i686-* default to generic tunning. * i386.h (TARGET_GENERIC32, TARGET_GENERIC64, TARGET_GENERIC, TARGET_USE_INCDEC, TARGET_PAD_RETURNS): New macros. (x86_use_incdec, x86_pad_returns): New variables (TARGET_CPU_DEFAULT_generic): New constant (TARGET_CPU_DEFAULT_NAMES): Add generic. (enum processor_type): Add generic32 and generic64. * i386.md (cpu attribute): Add generic32/generic64 (movhi splitter): Behave sanely when both partial_reg_dependency and partial_reg_stall are set. (K8 splitters): Enable for generic as well. * predicates.md (incdec_operand): Use TARGET_INCDEC (aligned_operand): Avoid memory mismatch stalls. * athlon.md: Enable for generic64, new patterns for 128bit moves. * ppro.md: Enable for generic32 * i386.c (generic64_cost, generic32_cost): New. (m_GENERIC32, m_GENERIC64, m_GENERIC): New macros. (x86_use_leave): Enable for generic64. (x86_use_sahf, x86_ext_80387_constants): Enable for generic32. (x86_push_memory, x86_movx, x86_unroll_strlen, x86_deep_branch, x86_use_simode_fiop, x86_use_cltd, x86_promote_QImode, x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8, x86_integer_DFmode_moves, x86_partial_reg_dependency, x86_memory_mismatch_stall, x86_accumulate_outgoing_args, x86_prologue_using_move, x86_epilogue_using_move, x86_arch_always_fancy_math_387, x86_sse_partial_reg_dependency, x86_four_jump_limit, x86_schedule): Enable for generic. (x86_use_incdec, x86_pad_returns): New. (override_options): Add generic32 and generic64, translate "generic" to generic32/generic64 and "i686" to "generic32", refuse "generic32"/"generic64" as arch target. (ix86_issue_rate, ix86_adjust_cost): Handle generic as athlon. (ix86_reorg): Honor PAD_RETURNS. 2006-01-19 Jan Hubicka * i386.h (TARGET_DECOMPOSE_LEA): Kill. * i386.c (x86_decompose_lea): Kill. (ix86_rtx_costs): Kill. 2006-01-19 Jan Hubicka * i386.c (*_cost): Add COSTS_N_INSNS. (ix86_rtx_costs): Do not use COSTS_N_INSNS. 2006-01-19 Jan Hubicka * gcc.target/i386/lea.c: Test pentiumpro, not i686. 2006-07-05 H.J. Lu * config.gcc: Check with_cpu for i[34567]86-*-solaris2.1[0-9]*. 2006-10-04 Nathan Sidwell gcc/ * config/m68k/t-mlib-matches (MULTILIB_MATCHES): Correct AWK script for updated m68k-cores.def file. * config/m68k/t-m68kelf (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Adjust for updated m68k-cores.def file. * config/m68k/t-uclinux (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Likewise. 2006-10-03 Joseph Myers Backport: 2006-09-08 Eric Christopher * gcc.target/i386/asm-1.c: Run test on ilp32 only. * gcc.target/i386/compress-float-387.c: Ditto. * gcc.target/i386/compress-float-sse.c: Ditto. * gcc.target/i386/compress-float-sse-pic.c: Ditto. * gcc.target/i386/compress-float-387-pic.c: Ditto. 2006-10-03 Joseph Myers gcc/ * config.gcc (i[34567]86-*-linux*): Handle --enable-targets=all. (with_cpu): Don't set to pentiumpro in bi-arch case. * config/i386/linux64.h (TARGET_VERSION, MULTILIB_DEFAULTS): Define conditionally depending on TARGET_64BIT_DEFAULT. (SPEC_32, SPEC_64): Define. (LINK_SPEC): Use them. * doc/install.texi (--enable-targets=all): Document for x86-linux. libcpp/ * configure.ac (need_64bit_hwint): Set for i[34567]86-*-linux* depending on --enable-targets=all. * configure: Regenerate. 2006-10-02 Joseph Myers libstdc++-v3/ * testsuite/lib/libstdc++.exp (check_v3_target_fileio): Correct test program and name of output variable. 2006-09-29 Joseph Myers gcc/ * doc/extend.texi (ARM NEON Intrinsics): Note that only intrinsics not the underlying built-in functions are supported. Document types used. 2006-09-29 Julian Brown * Merge from CSL arm-neon-4_1 branch, revision 150297. 2006-09-29 Paul Brook * config/arm/arm.c (arm_rtx_costs_1): Handle multiply-accumulate. 2006-09-27 Paul Brook Backport from mainline. 2006-09-20 Danny Smith gcc/cp/ PR target/27650 * class.c (check_for_override): Remove dllimport from virtual methods. gcc/testsuite/ * g++.dg/ext/dllimport12.C: New file. 2006-07-20 Jason Merrill gcc/ * tree.c (remove_attribute): New fn. 2006-09-27 Paul Brook PR target/29230 gcc/ * config/arm/arm.md (arith_adjacentmem): Handle large offsets. 2006-09-26 Paul Brook gcc/ * config/arm/thumb2.md (thumb2_negdi2): Use shorter code sequence. * config/arm/ieee754-df.S: Ditto. * config/arm/ieee754-sf.S: Ditto. 2006-09-26 Carlos O'Donell gcc/ * Makefile.in: Add GCC_EXEC_PREFIX to site.exp. gcc/testsuite/ * lib/c-torture.exp: Load target-libpath.exp and run set_ld_library_path_evn_vars if required. * lib/target-libpath.exp (set_ld_library_path_env_vars): Export env var GCC_EXEC_PREFIX if global variable of same name is defined. 2006-09-20 Paul Brook gcc/ * config/arm/unwind-arm.c (selfrel_offset31): Clear top bit for positive offsets. 2006-09-20 Kazu Hirata gcc/ * calls.c (expand_call): If the return value is a PARALLEL, extract its first member. * config/m68k/linux.h (FUNCTION_EXTRA_EPILOGUE): Remove. * config/m68k/m68k.c (m68k_output_function_epilogue): Don't use FUNCTION_EXTRA_EPILOGUE. (m68k_function_value): Return a PARALLEL if the return value is of a pointer type. * config/m68k/netbsd-elf.h (current_function_returns_pointer, FUNCTION_EXTRA_EPILOGUE): Remove. gcc/ * config/m68k/m68k.c (print_operand): Handle '?'. * config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '?'. * config/m68k/m68k.md (load_got): New. gcc/ * config/m68k/m68k.c (m68k_output_function_epilogue): Don't output nop. 2006-09-20 Carlos O'Donell gcc/ * config/mips/mips.h (MAX_OFILE_ALIGNMENT): Define. 2006-09-20 Nathan Sidwell gcc/ * config/m68k/m68k-cores.def: Rename multilibs by family name. * config/m68k/t-mlib-matches (MULTILIB_MATCHES): Adjust. 2006-09-19 Paul Brook PR target/28516 gcc/ * config/arm/arm.c (arm_unwind_emit_set): Handle reg = sp + const. gcc/testsuite/ * gcc.dg/nested-func-5.c: New test. 2006-09-18 Nathan Sidwell gcc/ * config/m68k/m68k-cores.def: Add CORE_FAMILY setting. Add synonyms for members of a family. * config/m68k/m68k-protos.h (m68k_cpp_cpu_ident, m68k_cpp_cpu_family): Declare. * config/m68k/m68k.c (struct processors): Add family member. (all_cores): Adjust. (all_architectures, all_tunings): Adjust. (current_cpu): New. (override_options): Set current_cpu. (m68k_cpp_cpu_ident, m68k_cpp_cpu_family): New. * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Define cpu's ident and family. (processor_type, target_cpus): Adjust. * doc/invoke.texi (M680x0 Options): Document new cpus. Document new #defines. 2006-09-18 Kazu Hirata gcc/ * config/m68k/m68k.c (m68k_output_function_epilogue): Use current_function_is_leaf instead of leaf_function_p. gcc/ * config/m68k/m68k.md (D0_REG, A1_REG, PIC_REG, FP0_REG): New. gcc/ * calls.c (expand_call): If the return value is a PARALLEL, extract its first member. * config/m68k/linux.h (FUNCTION_EXTRA_EPILOGUE): Remove. * config/m68k/m68k.c (m68k_output_function_epilogue): Don't use FUNCTION_EXTRA_EPILOGUE. (m68k_function_value): Return a PARALLEL if the return value is of a pointer type. * config/m68k/netbsd-elf.h (current_function_returns_pointer, FUNCTION_EXTRA_EPILOGUE): Remove. 2006-09-14 Nathan Sidwell gcc/testsuite/ * lib/target-supports.exp (check_effective_target_tls, check_effective_target_tls_runtime): Remove bogus second definitions. 2006-09-13 Carlos O'Donell gcc/ * gcc.c (process_command): Use standard_libexec_prefix as a fallback for gcc_libexec_prefix. 2006-09-12 Kazu Hirata Backport from mainline: gcc/testsuite/ * lib/c-torture.exp (c-torture-compile, c-torture-execute): Treat $srcdir as a literal. * lib/fortran-torture.exp (fortran-torture-compile, fortran-torture-execute): Likewise. * lib/objc-torture.exp (objc-torture-compile, objc-torture-execute): Likewise. * lib/profopt.exp (profopt-execute): Likewise. 2006-09-12 Nathan Sidwell gcc/ * configure.ac: Replace --with-versuffix with --with-pkgversion. * version.c (version_string): Remove VERSUFFIX. (pkgversion_string): New. * version.h (pkgversion_string): Declare. * Makefile.in (VERSUFFIX_s): Replace with ... (PKGVERSION_s): ... this. (version.o): Adjust. * configure: Rebuilt. * gcc.c (process_command, main): Check for pkgversion_string. * gcov.c (print_version): Likewise. * gcov-dump.c (print_version): Likewise. * mips-tdump.c (main): Likewise. * mips-tfile.c (main): Likewise. * toplev.c (compile_file, print_version): Likewise. * protoize.c (main): Likewise. gcc/java/ * jv-scan.c (version): Check pkgversion_string. * jcf-dump.c (version): Likewise. * gjavah.c (version): Likewise. gcc/fortran/ (lang_specific_driver): Check pkgversion_string. gcc/treelang/ * tree1.c (treelanf_handle_option): Check pkgversion_string. 2006-09-11 Paul Brook gcc/ * config/arm/libunwind.S: Assemble for armv5t, not armv5. 2006-09-11 Nathan Sidwell gcc/ * m68k/config/m68k-cores.def: Add m5210a & m5211a. gcc/ * flow.c (create_reg_inc_note, update_reg_inc_notes_between): New. * recog.c (split_insn): Call update_reg_inc_notes_between. * basic-block.h (update_reg_inc_notes_between): Declare. gcc/testsuite/ * gcc.target/m68k/m68k.exp: New. * gcc.target/m68k/crash1.c: New. 2006-09-10 Richard Sandiford gcc/ * config/mips/mips-protos.h (mips_mem_fits_mode_p): Declare. * config/mips/mips.c (mips_expand_unaligned_store): Use the mode returned by mode_for_size, rather than the mode of src itself, to choose between 32-bit and 64-bit patterns. (mips_mem_fits_mode_p): New function. * config/mips/mips.md (mov_l, mov_r): Use it to check that the size of the source matches the size of the destination. (mov_l, mov_r): Likewise. gcc/testsuite/ * gcc.c-torture/execute/pr29006.c: New test. 2006-09-10 Paul Brook gcc/ * config/arm/linux-eabi.h (SYSROOT_SUFFIX_SPEC): Define. * config/arm/libunwind.S: Add .arch/.object_arch for armv4 builds. * config/arm/t-linux-eabi (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add armv4t multilib. 2006-09-08 Richard Sandiford gcc/ * reload.c (find_reloads_address_1): Use RELOAD_OTHER for the index of a PRE_MODIFY or POST_MODIFY address. * reload1.c (inc_for_reload): Use find_replacement on the original base and index registers. gcc/testsuite/ * gcc.c-torture/execute/pr28982a.c: New test. * gcc.c-torture/execute/pr28982b.c: Likewise. 2006-09-06 Julian Brown Merge ARM NEON support from CodeSourcery internal arm-neon-4_1 branch revision 148395. 2006-09-02 Joseph Myers Backport: 2006-07-23 Roger Sayle * gcc.dg/fold-cond-1.c: Increase test case portability by checking that "g ? 1 : h" doesn't match, instead of checking for "(g | h) != 0" which may be transformed to "g || h" on some platforms. 2006-09-01 Richard Sandiford gcc/testsuite/ * gcc.target/mips/pr26765.c: Add -w to options. 2006-09-01 Paul Brook gcc/ * config.gcc (arm*-*-eabi*): Add arm/nocrt0.h to tm_file. * config/arm/nocrt0.h: New file. 2006-09-01 Nathan Sidwell gcc/testsuite/ * gcc.c-torture/execute/builtins/memops-asm-lib.c: Do the copy or set before checking whether it was allowed. * gcc.c-torture/execute/builtins/memops-asm.c: Set inside_main. * gcc.c-torture/execute/builtins/lib/memset.c: Do the memset before checking inside_main. 2006-08-30 Joseph Myers gcc/testsuite/ * gcc.dg/arm-mmx-1.c: Skip for -mfloat-abi=softfp. 2006-08-30 Kazu Hirata gcc/ * config/m68k/m68k-protos.h: Rename use_return_insn to m68k_use_return_insn. * config/m68k/m68k.c (use_return_insn): Rename to m68k_use_return_insn. * config/m68k/m68k.h (USE_RETURN_INSN): Remove. * config/m68k/m68k.md: Use m68k_use_return_insn instead of USE_RETURN_INSN. 2006-08-23 Mark Shinwell gcc/ * recog.c (mode_dependent_address_p): Identify pre-increment, pre-decrement, post-increment and post-decrement addressing as always being mode-dependent. * config/m32c/m32c.c (m32c_mode_dependent_address): Delete. * config/m32c/m32c.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. * config/m32c/m32c-protos.h (m32c_mode_dependent_address): Delete. * config/m32r/m32r.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete PRE_DEC, PRE_INC and POST_INC checks. * config/i386/i386.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. * config/sh/sh.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. * config/pdp11/pdp11.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. * config/avr/avr.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. * config/c4x/c4x.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete PRE_DEC, PRE_INC, POST_DEC and POST_INC cases. * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p): Delete POST_INC and PRE_DEC cases. * config/m68hc11/m68hc11.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. * config/cris/cris.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. * config/mn10300/mn10300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. * config/ia64/ia64.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. * config/m68k/m68k.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. * config/rs6000/rs6000.c (rs6000_mode_dependent_address): Delete PRE_INC and PRE_DEC cases. * config/arc/arc.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. * config/mcore/mcore.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. * config/arm/arm.h (ARM_GO_IF_MODE_DEPENDENT_ADDRESS): Delete. (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. * config/pa/pa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. * config/vax/vax.c (vax_mode_dependent_address_p): Delete auto-increment cases. * config/h8300/h8300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete auto-increment cases. * config/bfin/bfin.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. gcc/testsuite/ * gcc.c-torture/execute/mode-dependent-address.c: New test. 2006-08-21 Mark Shinwell gcc/testsuite/ * g++.dg/eh/arm-vfp-unwind.C: Correct order of DejaGNU directives. 2006-08-21 Joseph Myers gcc/testsuite/ * g++.dg/eh/arm-iwmmxt-unwind.C: Move dg-require-effective-target after dg-do line. 2006-08-19 Joseph Myers gcc/testsuite/ * gcc.target/arm/vfp-ldmdbd.c, gcc.target/arm/vfp-ldmdbs.c, gcc.target/arm/vfp-ldmiad.c, gcc.target/arm/vfp-ldmias.c, gcc.target/arm/vfp-stmdbd.c, gcc.target/arm/vfp-stmdbs.c, gcc.target/arm/vfp-stmiad.c, gcc.target/arm/vfp-stmias.c: Skip for iWMMXt. 2006-08-18 Joseph Myers gcc/ * config/arm/unwind-arm.c (struct wmmxd_regs, struct wmmxc_regs): New. (phase1_vrs): Use them. (DEMAND_SAVE_WMMXD, DEMAND_SAVE_WMMXC): New. (__gnu_Unwind_Save_WMMXD, __gnu_Unwind_Restore_WMMXD, __gnu_Unwind_Save_WMMXC, __gnu_Unwind_Restore_WMMXC): Declare. (restore_non_core_regs): Call __gnu_Unwind_Restore_WMMXD and __gnu_Unwind_Restore_WMMXC if required. (_Unwind_VRS_Pop): Implement iWMMXt support. * config/arm/libunwind.S (gnu_Unwind_Restore_WMMXD, gnu_Unwind_Save_WMMXD, gnu_Unwind_Restore_WMMXC, gnu_Unwind_Save_WMMXC): Define. gcc/testsuite/ * g++.dg/eh/arm-iwmmxt-unwind.C: New test. 2006-08-18 Mark Shinwell * config/arm/arm.c (arm_output_fldmx): Output FLDMD instead of FLDMX if target supports FLDMD. (vfp_output_fstmx): Output FSTMD instead of FSTMX if target supports FLDMD. (vfp_emit_fstmx): Don't leave space in the frame layout for the FSTMX format word if using FSTMD. (arm_get_vfp_saved_size): Don't add in space for the FSTMX format word if using FSTMD/FLDMD instead of FSTMX/FLDMX. (arm_output_epilogue): Adjust comment to reflect use of FSTMD. (arm_unwind_emit_sequence): Don't compensate for the FSTMX format word if emitting FSTMD. Also emit "vsave" assembler directives in such cases rather than "save". * config/arm/libunwind.S (gnu_Unwind_Restore_VFP, gnu_Unwind_Save_VFP): Adjust comments. (gnu_Unwind_Restore_VFP_D, gnu_Unwind_Save_VFP_D): New functions for saving and restoring using FSTMD and FLDMD, rather than FSTMX and FLDMX. (gnu_Unwind_Restore_VFP_D_16_to_31, gnu_Unwind_Restore_VFP_D_16_to_31): New functions for saving and restoring the VFPv3 registers 16 .. 31. * config/arm/pr-support.c (gnu_unwind_execute): Add conditional compilation case to correctly handle unwind opcode 0xc8 when using VFP. * config/arm/unwind-arm.c (struct vfpv3_regs): New. (DEMAND_SAVE_VFP_D, DEMAND_SAVE_VFP_V3): New flags. (__gnu_Unwind_Save_VFP_D, __gnu_Unwind_Restore_VFP_D, __gnu_Unwind_Save_VFP_D_16_to_31, __gnu_Unwind_Restore_VFP_D_16_to_31): Declare. (restore_non_core_regs): Restore registers using FLDMD rather than FLDMX if required. Also handle restoration of VFPv3 registers. (_Unwind_VRS_Pop): Handle saving and restoring of registers using FSTMD and FLDMD if required; also handle VFPv3 registers 16 .. 31, including cases where the caller specifies a range of registers that overlaps the d15/d16 boundary. * config/arm/arm.h (TARGET_FLDMX): New. 2006-08-16 Mark Shinwell gcc/ * config/arm/pr-support.c (__gnu_unwind_execute): Insert " + 1" in necessary places to pass the correct "number of registers" values to _Unwind_VRS_Pop. gcc/testsuite/ * g++.dg/eh/arm-vfp-unwind.C: New test. 2006-08-14 Richard Sandiford gcc/ * config/m68k/m68k.c (notice_update_cc): If an SFmode move is implemented using move.l, do not use its cc result for floating-point comparisons. 2006-08-09 Paul Brook gcc/ * final.c (final_scan_insn): Clear current_insn_predicate before outputting inline asm. gcc/testsuite/ * gcc.target/arm/cond-asm.c: New test. 2006-08-09 Paul Brook PR target/16634 * config/arm/arm.c (use_return_insn): Return 0 for Thumb interrupt functions. (print_multi_reg): Add rfe argument for IRQ returns. (arm_output_epilogue): Pop interrupt return address directly into PC. (arm_expand_prologue): Only adjust IRQ return address in Arm mode. 2006-08-04 Nathan Sidwell gcc/ * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Reorder to simplify. 2006-07-27 Carlos O'Donell gcc/ * gcc.c: Organize search path variables into $prefix relative, and well-known native. Add comments. (add_sysrooted_prefix): Add comment. (process_command): If !gcc_exec_prefix add $prefix based paths. If *cross_compile == '0', add native well-known paths. Assert tooldir_base_prefix is always relative. (main): If print_search_dirs, and if gcc_exec_prefix is set, use this value for 'install:' path. 2006-07-27 Carlos O'Donell gcc/ * config/arm/linux-elf.h (NEED_INDICATE_EXEC_STACK): Define as 1. * arm.c (arm_file_end): If NEED_INDICATE_EXEC_STACK call file_end_indicate_exec_stack. * arm.h [!NEED_INDICATE_EXEC_STACK] (NEED_INIDCATE_EXEC_STACK): Define as 0. * lib1funcs.asm [__ELF__ && __linux__]: Emit .note.GNU-stack section for a non-executable stack. * crti.asm: Likewise. * crtn.asm: Likewise. * libunwind.S: Likewise. 2006-07-26 Richard Sandiford gcc/ * config/m68k/m68k.md (movsf_cf_hard): Use fsmove instead of f%$smove and f%$move. (movdf_cf_hard): Use fdmove for cases 0 and 3 and fmove for case 1. (extendsfdf2_cf): Use fdmove instead of f%&move. (truncdfsf2_cf): Use fsmove instead of f%$smove. (add3_cf, sub3_cf): Use instead of . 2006-07-22 Richard Sandiford Merge from csl/coldfire-4_1 branch: 2006-06-28 Richard Sandiford gcc/ * config/m68k/uclinux.h (LIB_SPEC): Allow -static-libc to suppress the linking of the shared C library. 2006-06-27 Richard Sandiford gcc/testsuite/ * gcc.dg/compat/vector-defs.h: Revert previous change. * gcc.dg/compat/struct-layout-1.h (v16sf): Define to v4sf on uClinux. 2006-06-23 Richard Sandiford gcc/testsuite/ * gcc.c-torture/execute/loop-2f.x: Extend XFAIL to m68k-ilnux. * gcc.c-torture/execute/loop-2g.x: Likewise. * gcc.dg/tree-ssa/20040204-1.c: Don't XFAIL for m68k*-*-*. * gcc.dg/compat/vector-defs.h (v16sf): Define to be the same v4sf on uClinux targets. 2006-06-23 Richard Sandiford gcc/ * config/m68k/m68k.c (override_options): Remove unneeded brackets from the !flag_pic settings of m68k_symbolic_call and m68k_symbolic_jump. Use %p0 instead of %a0@PLTPC. (print_operand): Add a 'p' operand code. 2006-06-23 Richard Sandiford gcc/ * config/m68k/linux-unwind.h (rt_sigframe_footer): Remove special case for __mcoldfire__. (m68k_fallback_frame_state): Update coldfire code for new kernel signal trampolines. Index individual elements of f_fpregs. 2006-06-22 Richard Sandiford gcc/ * config/m68k/uclinux.h (STARTFILE_SPEC): Use Scrt1.o instead of crt1.o for shared libraries. (LIB_SPEC): Remove -elf2flt and -shared-lib-id 0 options. (LINK_SPEC): Map -mshared-library-id=N to -shared-lib-id N. Provide a default -shared-lib-id of 0. (TARGET_OS_CPP_BUILTINS): Define __GXX_MERGED_TYPEINFO_NAMES=0 for -mid-shared-library. (DRIVER_SELF_SPECS): Map unadorned PIC options to -msep-data. * config/m68k/t-uclinux (MULTILIB_OPTIONS): Add -msep-data and -mid-shared-library multilibs. (MULTILIB_DIRNAMES): Update accordingly. 2006-07-20 Paul Brook gcc/ * config/arm/arm.c (arm_gen_constant): Check for sets that can use movw. * config/arm/thumb2.md (thumb2_movsi_insn): Add movw alternative. * config/arm/arm.md (arm_movsi_insn): Ditto. * config/arm/vfp.md (arm_movsi_vfp): Ditto. (thumb2_movsi_vfp): Ditto. 2006-07-20 Paul Brook Backport from mainline. PR 27363 gcc/ * cse.c (cse_insn): Add destination addresses to hash table. Check if they are invalidated by this instruction. gcc/testsuite/ * gcc.dg/pr27363.c: New test. 2006-07-20 Richard Sandiford Backport from mainline: 2006-07-17 Richard Sandiford gcc/ PR middle-end/28402 * optabs.c (expand_binop): Pass next_methods rather than methods to expand_doubleword_shift. gcc/testsuite/ PR middle-end/28402 * gcc.dg/pr28402.c: New test. 2006-07-20 Richard Sandiford Backport from mainline: 2006-07-17 Richard Sandiford gcc/ PR middle-end/28403 * optabs.c (expand_doubleword_shift): Wrap the call to do_compare_rtx_and_jump with NO_DEFER_POP and OK_DEFER_POP. gcc/testsuite/ PR middle-end/28403 * gcc.c-torture/execute/pr28403.c: New test. 2006-07-19 Nathan Sidwell backport 2006-04-23 David Edelsohn * g++.dg/opt/pr15551.C: Include cstdio. (main): Use remove instead of unlink. 2006-07-14 Paul Brook gcc/ * config/arm/thumb2.mb (thumb2_cbz, thumb2_cbnz): New insns. 2006-07-14 Mark Shinwell gcc/ * testsuite/gcc.dg/sh-relax.c: XFAIL for sh*-*-uclinux. * config.gcc: Add support for sh on uclinux. * config/sh/sh.c: Define TARGET_CANNOT_FORCE_CONST_MEM. (prepare_move_operands): Handle moves where the second operand may lie outside the current section. (sh_cannot_force_const_mem): New. * config/sh/sh.h: Define SH_OFFSETS_MUST_BE_WITHIN_SECTIONS_P. (LEGITIMATE_CONSTANT_P): Check for moves that may use an out-of-section address. * config/sh/t-uclinux: New. * config/sh/uclinux.h: New. 2006-07-13 Paul Brook gcc/ * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Set to TARGET_32BIT. * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Ditto. * config/arm/aout.h (ASM_OUTPUT_ADDR_VEC_ELT): Remove Thumb-2 code. (ASM_OUTPUT_ADDR_DIFF_ELT): Output QImode and HImode tables. * config/arm/aof.h (ASM_OUTPUT_ADDR_VEC_ELT): Remove Thumb-2 code. (ASM_OUTPUT_ADDR_DIFF_ELT): Output QImode and HImode tables. * config/arm/thumb2.md (thumb2_tablejump): Remove. (thumb2_casesi_internal, thumb2_casesi_internal_pic): New patterns. * config/arm/arm.c (get_jump_table_size): Add padding for QImode and HImode tables. (thumb2_output_casesi): New function. * config/arm/arm-protos.h (thumb2_output_casesi): Add prototype. * config/arm/arm.h (CASE_VECTOR_PC_RELATIVE): Define. (CASE_VECTOR_SHORTEN_MODE): Define. (ADDR_VEC_ALIGN): Define. (ASM_OUTPUT_CASE_LABEL): Only align SImode tables. (ASM_OUTPUT_CASE_END): Define. * config/arm/arm.md (casesi): Enable for Thumb-2. (casesi_internal): Rename ... (arm_casesi_internal): ... to this. (tablejump): Only enable for Thumb-1. 2006-07-13 Paul Brook Merge from gcc-4_1-branch revision 114100 (gcc-4_1_1-release) 2006-07-13 Paul Brook gcc/ * config/arm/thumb2.md (pic_load_dot_plus_four): Use adr instead of addw. 2006-07-05 Carlos O'Donell * dbxout.c (dbxout_begin_prologue): Emit LFBB label at function start. (dbxout_function_end): Use local label LFBB. (dbxout_source_line): Likewise. (dbxout_block): Likewise. 2006-06-21 Joseph Myers * gcc/config/mips/mips.c (function_arg): Where one part of a complex argument is in registers and the other part in the stack, return a REG not a PARALLEL. * gcc/testsuite/gcc.c-torture/execute/complex-7.c: New. 2006-06-21 Richard Sandiford Merge from csl/coldfire-4_1 branch: 2006-06-21 Richard Sandiford * acinclude.m4 (GLIBCXX_ENABLE_C99): Use -lm for link tests in GCC_TRY_COMPILE_OR_LINK. Fall back to compile-only tests if -lm is not available. * libstdc++-v3/configure: Regenerate. 2006-06-20 Richard Sandiford Backport from mainline: gcc/ 2006-05-23 Richard Sandiford * combine.c (replaced_rhs_value): New variable. (combine_instructions): Set it. (distribute_notes): When distributing a note in replaced_rhs_insn, check whether the value was used in replaced_rhs_value. 2006-06-20 Richard Sandiford gcc/ * postreload.c (reload_combine): Fix calculation of index_regs set. 2006-06-16 Nathan Sidwell gcc/ * config/m68k/m68k.h (PCC_STATIC_STRUCT_RETURN): Don't define here. * config/m68k/m68kemb.h (PCC_STATIC_STRUCT_RETURN): Don't undefine here ... * config/m68k/m68kelf.h (PCC_STATIC_STRUCT_RETURN): ... or here ... * config/m68k/netbsd-elf.h (PCC_STATIC_STRUCT_RETURN): ... or here. * /config/m68k/openbsd.h (PCC_STATIC_STRUCT_RETURN): Define here. 2006-06-16 Richard Sandiford gcc/ * config/m68k/print-sysroot-suffix.sh: Rewrite to be more flexible. Take the sysroot, MULTILIB_MATCHES and MULTILIB_OPTIONS as arguments. * config/m68k/t-mlib-matches (sysroot-suffix.h): Update accordingly. 2006-06-16 Richard Sandiford gcc/ * config/m68k/m68k.c (override_options): Don't check FL_PCREL_16 for -msep-data and -mid-shared-library. 2006-06-16 Richard Sandiford gcc/ * config/m68k/m68k.h (ASM_PREFERRED_EH_DATA_FORMAT): Don't use indirect or pc-relative references to code or globals if either TARGET_SEP_DATA or TARGET_ID_SHARED_LIBRARY is in effect. 2006-06-16 Richard Sandiford gcc/ * config/m68k/lb1sf68.asm (PICCALL): Use an lea and pc-relative jump sequence for ISA A and ISA A+. (PICJUMP): Likewise. 2006-06-16 Richard Sandiford gcc/ * config/m68k/predicates.md (call_operand): Define. * config/m68k/m68k.md (call): Remove SYMBOL_REF_FLAG handilng. Call m68k_legitimize_call_address. Replace the separate flag_pic and !flag_pic define_insns with a unified pattern. Make the target operand match the address inside the MEM rather than the MEM itself. Provide two alternatives, one for direct jumps and one for indirect jumps. Use output_call. (call_value): Likewise, but copy operand 1 to operand 0 before invoking output_call. * config/m68k/m68k-protos.h (m68k_output_pic_call): Delete. (output_call): Declare. (m68k_legitimize_call_address): Declare. * config/m68k/m68k.c (m68k_symbolic_call): New variable. (m68k_symbolic_jump): Likewise. (override_options): Initialize m68k_symbolic_call and m68k_symbolic_jump. Only set function_no_cse for PIC if symbolic calls and jumps are supported. (m68k_output_pic_call): Delete. (m68k_legitimize_call_address): New function. (m68k_legitimate_address_p): Remove SYMBOL_REF_FLAG handling. (output_call): New function. (m68k_output_mi_thunk): Change operand 0 of the call from a memory reference to an address. Use mips_symbolic_jump if non-null, otherwise load the address from the GOT. * config/m68k/m68k.h (EXTRA_CONSTRAINT): Add a 'W' constraint. Remove superfluous brackets. (m68k_symbolic_call): Declare. (m68k_symbolic_jump): Declare. 2006-05-25 Nathan Sidwell * gcc/config/m68k/m68k-cores.def: Add 52235 & 5225 cores. * gcc/doc/invoke.texi (M680x0 Options): Add 52235 & 5225. 2006-05-19 Nathan Sidwell * libiberty/make-relative-prefix.c (split_directories): Add ignore_final arg. (make_relative_prefix): Keep the final path component if it was a directory. Adjust calls to split_directories. 2006-05-13 Richard Sandiford gcc/ * config/m68k/m68k.md (movdf_cf_hard): Use output_move_double for GPR<-GPR moves. 2006-05-12 Sandra Loosemore * gcc/config/m68k/m68k.md ("clzsi2"): Define for ColdFire architectures that support ff1 instruction. * gcc/config/m68k/m68k.h (CLZ_DEFINED_VALUE_AT_ZERO): Ditto. * gcc/longlong.h (count_leading_zeros, COUNT_LEADING_ZEROS_0): Ditto. 2006-05-11 Richard Sandiford gcc/ * config/m68k/m68k.c (m68k_output_function_epilogue): Fix the lea instruction that restores the stack pointer from the frame pointer. 2006-05-09 Nathan Sidwell * gcc/config/m68k/m68k-none.h (ASM_CPU_DEFAULT_SPEC): Undefine it before setting it. 2006-05-07 Nathan Sidwell * configure.in (TOPLEVEL_CONFIGURE_ARGS): Protect args with active characters. (baseargs): Simplify protection, use ac_arg temp name, correct $ to $$ conversion. * configure: Rebuilt. 2006-05-05 Mark Mitchell * configure.in: Do not mangle arguments like "--with-foo=A B C" when storing in baseargs. * configure: Regenerated. * gcc/configure.ac: Add --with-versuffix and --with-bugurl. * gcc/version.c (VERSUFFIX): Remove. (bug_report_url): Do not hard-code initializer. * gcc/Makefile.in (VERSUFFIX_s): Define. (BUGURL_s): Likewise. (version.o): Define VERSUFFIX and BUGURL. * gcc/doc/install.texi: Document them. * gcc/configure: Regenerated. 2006-04-28 Richard Sandiford gcc/ * config/m68k/linux.h (MD_UNWIND_SUPPORT): Define. * config/m68k/linux-unwind.h: New file. 2006-04-27 Richard Sandiford gcc/testsuite/ * lib/target-supports.exp (check_effective_target_tls): Use ${tool}_target_compile instead of target_compile. (check_effective_target_tls_runtime): Likewise. 2006-04-27 Richard Sandiford gcc/testsuite/ * gcc.dg/m68k-fp-1.c: Use -mcpu=547x instead of -mcpu=m5485. 2006-04-27 Richard Sandiford gcc/testsuite/ * lib/target-supports.exp (check_effective_target_coldfire_fpu): New procedure. * gcc.c-torture/execute/ieee/mul-subnormal-single-1.x: XFAIL for Coldfire GNU/Linux. 2006-04-27 Richard Sandiford gcc/ * combine.c (replaced_rhs_insn): New variable. (combine_instructions): Set replaced_rhs_insn when trying to replace a SET_SRC with a REG_EQUAL note. (distribute_notes): Use replaced_rhs_insn when determining the live range of a REG_DEAD register. gcc/testsute * gcc.c-torture/compile/pr25514.c: New test. 2006-04-27 Richard Sandiford gcc/ * config/m68k/m68k-protos.h (m68k_secondary_reload_class): Declare. (m68k_preferred_reload_class): Declare. * config/m68k/m68k.c (m68k_regno_mode_ok): Don't prevent address registers from storing bytes. Fix formatting. (m68k_secondary_reload_class): New function. (m68k_preferred_reload_class): Likewise. * config/m68k/m68k.h (HARD_REGNO_MODE_OK): Remove duplicated comment. (SECONDARY_RELOAD_CLASS): Define. (PREFERRED_RELOAD_CLASS): Use m68k_preferred_reload_class. (LIMIT_RELOAD_CLASS): Delete. gcc/testsuite/ * gcc.c-torture/compile/m68k-byte-addr.c: New test. 2006-04-27 Richard Sandiford gcc/ * config.gcc (m68k-*-linux*): Add to tmake_file instead of replacing it. Don't include m68k/t-crtstuff. Don't include m68k/t-slibgcc-elf-ver. * config/m68k/linux.h (MULTILIB_DEFAULTS): Delete. (SYSROOT_SUFFIX_SPEC): Delete. (SYSROOT_HEADERS_SUFFIX_SPEC): Delete. * config/m68k/uclinux.h (SYSROOT_HEADERS_SUFFIX_SPEC): Remove undef. * config/m68k/t-linux (MULTILIB_OPTIONS): Delete. (MULTILIB_DIRNAMES): Delete. (MULTILIB_EXCEPTIONS): Delete. (NATIVE_SYSTEM_HEADER_DIR): Delete. (LIBGCC): Delete. (INSTALL_LIBGCC): Delete. (EXTRA_MULTILIB_PARTS): Override. * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Define __mcffpu__ when using the Coldfire FPU. 2006-04-27 Richard Sandiford gcc/ * config/m68k/m68k.c (override_options): Restrict the -fPIC error to -mpcrel. (m68k_output_function_prologue): Use a (d8,%pc,Xi) lea to load the PIC register on Coldfire targets. (m68k_output_pic_call): Use bsr.l for ISA B too. (print_operand_address): Only use GOT displacement lengths for m68k_arch_68020. (m68k_output_mi_thunk): Use bra.l for ISA B too. 2006-04-27 Richard Sandiford gcc/ * config/m68k/m68k.c (m68k_save_reg): Save the PIC register in functions that need a constant pool. 2006-04-27 Richard Sandiford gcc/ * config/m68k/m68k.c (m68k_save_reg): Save the PIC register in functions that call eh_return. 2006-04-27 Richard Sandiford gcc/ * real.c (encode_ieee_single): Use canonical_nan_lsbs_set instead of qnan_msb_set to determine the lower bits of a canonical NaN significand. (encode_ieee_double): Likewise. (encode_ieee_quad): Likewise. (ieee_single_format): Initialize canonical_nan_lsbs_set. (mips_single_format): Likewise. (ieee_double_format): Likewise. (mips_double_format): Likewise. (ieee_extended_motorola_format): Likewise. (ieee_extended_intel_96_format): Likewise. (ieee_extended_intel_128_format): Likewise. (ieee_extended_intel_96_round_53_format): Likewise. (ibm_extended_format): Likewise. (mips_extended_format): Likewise. (ieee_quad_format): Likewise. (mips_quad_format): Likewise. (vax_f_format): Likewise. (vax_d_format): Likewise. (vax_g_format): Likewise. (i370_single_format): Likewise. (i370_double_format): Likewise. (c4x_single_format): Likewise. (c4x_extended_format): Likewise. (real_internal_format): Likewise. (coldfire_single_format): New real_format. (coldfire_double_format): Likewise. * real.h (real_format): Add a canonical_nan_lsbs_set field. (coldfire_single_format): Declare. (coldfire_double_format): Likewise. * config/pdp11/pdp11.c (pdp11_f_format): Initialize canonical_nan_lsbs_set. (pdp11_d_format): Likewise. * config/m68k/m68k.c (override_options): Override REAL_FORMAT_MODE if TARGET_COLDFIRE_CPU. 2006-04-27 Richard Sandiford gcc/ * config/m68k/m68k.md (cmpsi): Remove PIC handling. (movsi): Remove predicates. Use LEGITIMATE_PIC_OPERAND_P. * config/m68k/m68k.h (LEGITIMATE_PIC_OPERAND_P): Define. 2006-04-27 Richard Sandiford gcc/ * config/m68k/m68k.c (m68k_output_function_epilogue): Use a stack- based restore sequence for big frames on Coldfire if we need to use a movem or fmovem instruction. Fix formatting. Use proper MOTOROLA syntax for Coldfire fmoves from %fp + offset. 2006-04-27 Richard Sandiford gcc/ * config/m68k/m68k.c (m68k_output_function_prologue): Fix handling of %sp-based CFA offsets on Coldfire. 2006-04-27 Richard Sandiford gcc/ * config/m68k/m68k-cores.def (68000, 68010): Remove FL_PCREL_16 from these isa_00 entries. (68020, 68030): Remove FL_BITFIELD from these isa_20 entries. (68040): Remove FL_BITFIELD and FL_68881 from this isa_40 entry. (68060): Likewise this isa_60 entry. (5202, 5204, 5206, 5206e, 5249, 5250, 5272, 5307): Remove FL_PCREL16 from these isa_a entries. (5207, 5208, 5211, 5212, 5213, 5214, 5216, 523x, 5270, 5271, 5274) (5275, 528x, 532x): Likewise these isa_aplus entries. * config/m68k/m68k.c (FL_FOR_isa_00): Include FL_PCREL_16. (FL_FOR_isa_20): Include FL_BITFIELD. (FL_FOR_isa_40): Include FL_FOR_isa_20 instead of FL_ISA_68020. Include FL_68881. (FL_FOR_isa_60): Include FL_FOR_isa_40 instead of FL_ISA_68020 and FL_ISA_68040. (FL_FOR_isa_a): Include FL_PCREL_16. (FL_FOR_isa_aplus): Include FL_FOR_isa_a instead of FL_COLDFIRE and FL_ISA_A. (FL_FOR_isa_b): Likewise. (FL_FOR_isa_c): Include FL_FOR_isa_b instead of FL_COLDFIRE, FL_ISA_A, FL_ISA_B and FL_CF_HWDIV. (m68k_isa): Add isa_cpu32. (all_architectures): Use FL_FOR_isa_* macros. In so doing, fix the isab entry so that it includes FL_ISA_A and FL_PCREL_16. Likewise include these flags and FL_ISA_B in the isac entry. (all_tunings): Use FL_FOR_isa_* macros, and in so doing, add the FL_ISA_A and FL_PCREL_16 flags to the cfv4 and cf4ve entries. 2006-04-13 Richard Sandiford gcc/testsuite/ * lib/target-supports.exp (check_missing_uclibc_feature): Make test produce an error unless the required condition is known not to hold. (check_effective_target_uclibc): New procedure. (check_effective_target_uclibc_lax_strtofp): Likewise. (check_effective_target_uclibc_dummy_wcsftime): Likewise. libstdc++-v3/testsuite/ * 22_locale/time_put/put/wchar_t/1.cc: XFAIL if uclibc_dummy_wcsftime. * 22_locale/time_put/put/wchar_t/5.cc: Likewise. * 22_locale/time_put/put/wchar_t/9.cc: Likewise. * 22_locale/time_put/put/wchar_t/10.cc: Likewise. * 22_locale/num_get/get/wchar_t/2.cc: XFAIL if uclibc_lax_strtofp. * 22_locale/num_get/get/char/2.cc: Likewise. * 27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc: Likewise. * 27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc: Likewise. * 27_io/basic_istream/extractors_arithmetic/char/12.cc: Likewise. * 27_io/basic_istream/extractors_arithmetic/char/09.cc: Likewise. * 27_io/basic_ostream/inserters_arithmetic/wchar_t/6.cc: Likewise. * 27_io/basic_ostream/inserters_arithmetic/char/6.cc: Likewise. * 26_numerics/cmath/c99_classification_macros_c++.cc: XFAIL for uClibc. * 26_numerics/cmath/c99_classification_macros_c.cc: Likewise. 2006-04-08 Richard Sandiford * gcc/regrename.c (scan_rtx_address): Use REG_MODE_OK_FOR_INDEX_P instead of REG_OK_FOR_INDEX_P. Use MODE_INDEX_REG_CLASS instead of INDEX_REG_CLASS. (replace_oldest_value_addr): Likewise. * gcc/doc/tm.texi (MODE_BASE_REG_CLASS): Clarify what a VOIDmode argument means. (REGNO_MODE_OK_FOR_BASE_P): Likewise. (REG_MODE_OK_FOR_BASE_P): Likewise. (MODE_INDEX_REG_CLASS): Document. (REGNO_MODE_OK_FOR_INDEX_P): Likewise. (REG_MODE_OK_FOR_INDEX_P): Likewise. * gcc/defaults.h (REGNO_MODE_OK_FOR_INDEX_P): Provide default. (REG_MODE_OK_FOR_INDEX_P): Likewise. (MODE_INDEX_REG_CLASS): Likewise. * gcc/postreload.c (reload_combine): Compute the set of index registers that can be used for at least one mode. Use that set instead of INDEX_REG_CLASS. * gcc/reload.c (find_reloads): Use operand_mode[i] as the argument to MODE_BASE_REG_CLASS. (find_reloads_address): Use MODE_INDEX_REG_CLASS instead of INDEX_REG_CLASS. Check MODE_INDEX_REG_CLASS (mode) as well as double_reg_address_ok. (find_reload_address_1): Use REG_MODE_OK_FOR_INDEX_P instead of REG_OK_FOR_INDEX_P. Use REGNO_MODE_OK_FOR_INDEX_P instead of REGNO_OK_FOR_INDEX_P. Use MODE_INDEX_REG_CLASS instead of INDEX_REG_CLASS. * gcc/recog.c (preprocess_constraints): Pass recog_data.operand_mode[i] as the argument to BASE_REG_CLASS. * gcc/regclass.c (record_operand_costs): Pass the mode of the addressed data to record_address_regs. (scan_one_insn): Likewise. Also pass the mode of the memory reference to MODE_BASE_REG_CLASS. (record_reg_classes): Pass the operand mode to MODE_BASE_REG_CLASS. (record_address_regs): Add a mode argument. Update recursive calls. Pass the mode argument to REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS. Use REG_MODE_OK_FOR_INDEX_P instead of REG_OK_FOR_INDEX_P. Use MODE_INDEX_REG_CLASS instead of INDEX_REG_CLASS. * gcc/config/m68k/m68k.md (tst_cf): Use "m" instead of "U". (cmp_cf): Likewise. (movsf_cf_hard): Likewise. (movdf_cf_hard): Likewise. (extendsfdf2_cf): Likewise. (truncdfsf2_cf): Likewise. (floatsi2_cf): Likewise. (ftrunc2_cf): Likewise. (add3_cf): Likewise. (sub3_cf): Likewise. (fmul3_cf): Likewise. (div3_cf): Likewise. (neg2_cf): Likewise. (sqrt2_cf): Likewise. (abs2_cf): Likewise. * gcc/config/m68k/m68k-protos.h (m68k_legitimize_reload_address): Delete. * gcc/config/m68k/m68k.c (REG_OK_FOR_INDEX_STRICT): Add a mode argument. Use REGNO_MODE_OK_FOR_INDEX_P. Test MODE_OK_FOR_INDEX_P. (LEGITIMATE_INDEX_REG_P): Add a mode argument. Update calls to REG_OK_FOR_INDEX_STRICT. (LEGITIMATE_INDEX_P): Add a mode argument. Update calls to LEGITIMATE_INDEX_REG_P. (m68k_legitimate_address_p): Update calls to LEGITIMATE_INDEX_P. (m68k_legitimize_reload_address): Delete. * gcc/config/m68k/m68k.h (INDEX_REG_CLASS): Delete in favor of... (MODE_INDEX_REG_CLASS): ...this new macro. (MODE_OK_FOR_INDEX_P): New macro. (REGNO_OK_FOR_INDEX_P): Delete in favor of... (REGNO_MODE_OK_FOR_INDEX_P): ...this new macro. (REG_OK_FOR_INDEX_P): Delete in favor of... (REG_MODE_OK_FOR_INDEX_P): ...this new macro. (LEGITIMIZE_RELOAD_ADDRESS): Delete. * gcc/reload1.c (maybe_fix_stack_asms): Pass operand_mode[i] to MODE_BASE_REG_CLASS. 2006-04-08 Richard Sandiford * gcc/testsuite/gcc.c-torture/execute/builtins/lib/chk.c: Include . Use __UCLIBC__ rather than __uClinux__ to guard the definition of vsnprintf. 2006-04-04 Richard Sandiford * gcc/config/m68k/m68k.h (PREFERRED_STACK_BOUNDARY): Define to 32 for Coldfire targets. 2006-04-01 Richard Sandiford * gcc/config/m68k/uclinux.h (STARTFILE_SPEC): Reinstate defintion. (END_SPEC): Likewise. (LINK_SPEC): Make -elf2flt the default. 2006-03-31 Richard Sandiford * config/no-executables.m4 (GCC_TRY_COMPILE_OR_LINK): New function. * libstdc++-v3/aclocal.m4 (GLIBCXX_ENABLE_C99): Temporarily add -fno-exceptions to CXXFLAGS. Use GCC_TRY_COMPILE_OR_LINK. Make the tests assign results to volatile variables. * libstdc++-v3/libmath/Makefile.in: Regenerate. * libstdc++-v3/configure: Regenerate. * libstdc++-v3/Makefile.in: Regenerate. * libstdc++-v3/include/Makefile.in: Regenerate. * libstdc++-v3/src/Makefile.in: Regenerate. * libstdc++-v3/libsupc++/Makefile.in: Regenerate. * libstdc++-v3/testsuite/Makefile.in: Regenerate. * libstdc++-v3/acinclude.m4: Regenerate. * libstdc++-v3/po/Makefile.in: Regenerate. 2006-03-30 Mark Mitchell * libiberty/cygpath.c (fopen): Allocate MAX_PATH + 1 bytes for the filename. (open): Likewise. (stat): Likewise. (access): Likewise. 2006-03-30 Mark Mitchell * libiberty/configure.ac: Add cygpath for mingw hosts. * libiberty.configure: Rebuilt. * libiberty/Makefile.in: Add cygpath. * libiberty/cygpath.c: New. 2006-03-29 Richard Sandiford * gcc/configure.ac: Allow $tm_file to contain names of the form ./*. Look for them in the build directory rather than $srcdir/config. * gcc/configure: Regenerate. * gcc/config.gcc (tm_file): Update commentary. (m68k-*-uclinux*): Add ./sysroot-suffix.h to tm_file. * gcc/config/m68k/print-sysroot-suffix.sh: New file. * gcc/config/m68k/t-mlib-matches (sysroot-suffix.h): New rule. * gcc/config/m68k/t-uclinux (MULTILIB_OPTIONS): Remove -mcpu=5206. (MULTILIB_DIRNAMES): Update accordingly. (NATIVE_SYSTEM_HEADER_DIR): Delete. * gcc/config/m68k/uclinux.h (MULTILIB_DEFAULTS): Delete. (SYSROOT_SUFFIX_SPEC): Delete. (SYSROOT_HEADERS_SUFFIX_SPEC): Just undefine; don't redefine. 2006-03-29 Richard Sandiford * gcc/config.gcc (m68k-*-uclinux*): Reorder includes to match m68k-*-linux. Include linux.h and m68k/linux.h. Include linux.opt and define UCLIBC_DEFAULT. * gcc/config/m68k/uclinux.h (STARTFILE_SPEC): Delete. (ENDFILE_SPEC): Delete. (HAS_INIT_SECTION): Delete. (TARGET_OS_CPP_BUILTINS): Use LINUX_TARGET_OS_CPP_BUILTINS. (CPLUSPLUS_CPP_SPEC): Delete. (TARGET_ASM_FILE_START_APP_OFF): Delete. (MULTILIB_DEFAULTS): Undefine before redefining. (SYSROOT_SUFFIX_SPEC): Likewise. (SYSROOT_HEADERS_SUFFIX_SPEC): Likewise. 2006-03-29 Richard Sandiford * gcc/testsuite/lib/target-supports.exp (check_missing_uclibc_feature): New procedure. (check_gc_sections_available): Return false if ldflags includes -elf2flt. (check_profiling_available): Return false for m68k-*-uclinux. (check_effective_target_wchar): New procedure. * gcc/testsuite/gcc.dg/wint_t-1.c: Require { target wchar }. * gcc/testsuite/gcc.dg/wchar_t-1.c: Likewise. 2006-03-29 Nathan Sidwell * gcc/config/m68k/m68k-none.h (ASM_SPEC): Add some whitespace. * gcc/config/m68k/m68k.h (OPTION_DEFAULT_SPECS): Add deprecated cpu selectors to inhibit default. * gcc/config/m68k/uclinux.h (SYSROOT_SUFFIX_SPEC): Add 532x. * gcc/config/m68k/m68k-cores.def (532x, 537x): Use 532x multilib. * gcc/config/m68k/t-m68kelf (MULTILIB_OPTIONS): Remove m68k options. Add mcpu=532x. (MULTILIB_DIRNAMES): Likewise. (MULTILIB_EXCEPTIONS): Likewise. * gcc/config/m68k/t-uclinux (MULTILIB_OPTIONS): Add mcpu=532x (MULTILIB_DIRNAMES): Likewise. * gcc/gcc.c (LINK_COMMAND_SPEC): Place T* options before endfile_spec. * gcc/doc/invoke.texi (M680x0 Options): Revert previous change. * gcc/config/m68kenb.h (LIB_SPEC): Revert previous change. * gcc/config/m68k.opt (mboard, mbsp): Revert previous change. 2006-03-29 Richard Sandiford * gcc/testuite/lib/target-supports.exp (check_no_compiler_messages): New procedure. (check_visibility_available): Use it. (check_effective_target_default_packed): Likewise. (check_effective_target_pcc_bitfield_type_matters): Likewise. (check_effective_target_freorder): Likewise. (check_effective_target_fpic): Likewise. (check_named_sections_available): Likewise. (check_effective_target_ilp32): Likewise. (check_effective_target_lp64): Likewise. 2006-03-29 Richard Sandiford * gcc/testsuite/gcc.c-torture/execute/builtins/lib/chk.c (vsnprintf): Don't define for uClinux targets. * gcc/testsuite/gcc.c-torture/execute/20030125-1.x: Restrict the test *-linux* rather than *linux* targets. * gcc/testsuite/g++.dg/init/array15.C: Don't run on m68k-uclinux. * gcc/testsuite/g++.dg/init/array16.C: Likewise. 2006-03-28 Nathan Sidwell * gcc/gcc.c (do_spec_1): Don't append space here. (process_marked_switches): Put a space between each marked switch. (process_brace_body): Put a space between each live switch. (give_switch): Don't append space here. * gcc/config/m68k/m68kemb.h (LIB_SPEC): Add BSP lib and linker script here. Group with LIBGCC spec. * gcc/config/m68k/m68k.opt (mboard, mbsp): New switches. * gcc/config/m68k/m68020-elf.h (LIB_SPEC): Do not define here. * gcc/doc/invoke.texi (M680x0 Options): Document new switches. 2006-03-28 Nathan Sidwell * gcc/config/m68k/m68k.h (DWARF_FRAME_RETURN_COLUMN): Define. * gcc/config/m68k/m68k.c (m68k_output_function_prologue): Output dwarf to allow unwinding from interrupt_handlers. 2006-03-27 Nathan Sidwell * gcc/config.gcc (m68k-*-linux*): Add default --with-cpu. * gcc/config/m68k/netbsd-elf.h (FUNCTION_VALUE_REGNO_P): Fix thinko in previous change. * gcc/testsuite/gcc.dg/m68k-pic-1.c: New. 2006-03-26 Nathan Sidwell * libstdc++-v3/config/cpu/m68k/atomicity.h (__exchange_and_add): Add coldfire fragments. * gcc/config/gcc (m68k-*-linux*): Add t-linux. (m68k/t-rtems): Reorder include files. * gcc/config/m68k/linux.h (TARGET_DEFAULT): Do not define. (TARGET_CPU_DEFAULT, ASM_CPU_DEFAULT_SPEC): Default to 68040. (STRICT_ALIGNMENT): Do not define here. (ASM_SPEC): Define earlier. (TARGET_OS_CPP_BUILTINS): Do not define mc68000 or mc68020 here. (CPP_SPEC): Simplify. (FUNCTION_VALUE_REGNO_P): fp0 is only a return on 68k, not coldfire. (TARGET_ASM_FILE_START_APP_OFF): Undef. (MULTILB_DEFAULTS, SYSROOT_SUFFIX_SPEC, SYSROOT_HEADERS_SUFFIX_SPEC): Define. * gcc/config/m68k/m68k-none.h (TARGET_DEFAULT, ASM_CPU_DEFAULT, OPTION_DEFAULT_SPECS): Do not process here, move to m68k.h. (EXTRA_SPECS, CPP_SUBTARGET_SPEC, SUBTARGET_EXTRA_SPECS): Likewise. * gcc/config/m68k/m68k.h (OPTION_DEFAULT_SPECS, TARGET_DEFAULT, ASM_CPU_DEFAULT_SPEC, EXTRA_SPECS, CPP_SUBTARGET_SPECS, SUBTARGET_EXTRA_SPECS): Moved here from m68k-none.h. * gcc/config/m68k/t-linux: New. * gcc/config/netbsd-elf.h (FUNCTION_VALUE_REGNO_P): fp0 is not a return reg on coldfire. * gcc/config/m68k/t-mlib-matches (MULTILIB_MATCHES): m5206e is equivalent to isaa. * gcc/config/m68k/t-m68kelf (MULTILIB_OPTIONS): Add 5211. (MULTILIB_DIRNAMES): Likewise. (MULTILIB_EXCEPTIONS): Inhibit all 68k multilibs. Allow m547x/soft-float. * gcc/config/m68k/m68k.md (cmpsi): Split symbol+const for Coldfire. 2006-03-25 Richard Sandiford * gcc/config/m68k/uclinux.h (CPLUSPLUS_CPP_SPEC): Override and define _GNU_SOURCE. 2006-03-23 Richard Sandiford * gcc/doc/tm.texi (TARGET_USE_COMDAT_GROUPS): Document. * gcc/target.h (use_comdat_groups): New hook. * gcc/crtstuff.c (USE_PT_GNU_EH_FRAME): Don't define if OBJECT_FORMAT_FLAT. * gcc/varasm.c (default_function_rodata_section): Test the use_comdat_groups target hok instead of HAVE_COMDAT_GROUP. (default_elf_asm_named_section): Likewise. (default_unique_section): Likewise. * gcc/target-def.h (TARGET_USE_COMDAT_GROUPS): Define if undefined. (TARGET_INITIALIZER): Include it. * gcc/config.gcc (m68k-*-uclinux*): Add flat.h to tm_defines. Remove t-crtstuff from tmake_file. * gcc/config/flat.h: New file. * gcc/config/m68k/t-uclinux (EXTRA_MULTILIB_PARTS): Define. * gcc/config/m68k/uclinux.h (EH_FRAME_IN_DATA_SECTION): Delete. 2006-03-23 Richard Sandiford * gcc/config/m68k/m68k.h (M68K_OFFSETS_MUST_BE_WITHIN_SECTIONS_P): Move definition outside !REG_OK_STRICT block. 2006-03-21 Richard Sandiford * gcc/config/m68k/m68k.c (TARGET_ASM_FILE_START_APP_OFF): Don't override here. * gcc/config/m68k/m68k.h (TARGET_ASM_FILE_START_APP_OFF): Define. * gcc/config/m68k/uclinux.h (TARGET_ASM_FILE_START_APP_OFF): Override. (M68K_NO_ASM_FILE_START_APP_OFF): Delete. 2006-03-21 Richard Sandiford Nathan Sidwell * gcc/rtlanal.c: Include tree.h. (offset_within_block_p): New function, taken from mips_offset_within_object_p. (constant_may_be_outside_section_p): Likewise. * gcc/rtl.h (offset_within_section_p): New function. (constant_may_be_outside_section_p): Likewise. * gcc/Makefile.in (rtlanal.o): Depend on $(TREE_H). * gcc/config/m68k/m68k.md (movsi): Split possbily out-of-section constants if M68K_OFFSETS_MUST_BE_WITHIN_SECTIONS_P. * gcc/config/m68k/m68k.c (TARGET_CANNOT_FORCE_CONST_MEM): Override. (m68k_cannot_force_const_mem): New function. * gcc/config/m68k/m68k.h (CONSTANT_ADDRESS_P): Check LEGITIMATE_CONSTANT_P. (LEGITIMATE_CONSTANT_P): Reject possibly out-of-section constants if M68K_OFFSETS_MUST_BE_WITHIN_SECTIONS_P. (M68K_OFFSETS_MUST_BE_WITHIN_SECTIONS_P): New macro. * gcc/config/m68k/uclinux.h (M68K_OFFSETS_MUST_BE_WITHIN_SECTIONS_P): Override. * gcc/config/mips/mips.c (mips_offset_within_object_p): Delete. (mips_symbolic_constant_p): Use offset_within_section_p. 2006-03-17 Richard Sandiford * gcc/config.gcc (m68k-*-uclinux*): Set with_cpu to 5206 by default. * gcc/config/m68k/m68k-cores.def (5211, 5212, 5213): Use the -mcpu=5211 multilibs instead of the -mcpu=5207 ones. * gcc/config/m68k/t-uclinux (MULTILIB_OPTIONS): Restrict to coldfire cores. (MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Update accordingly. (NATIVE_SYSTEM_HEADER_DIR): Override default. * gcc/config/m68k/uclinux.h (MULTILIB_DEFAULTS): Define. (SYSROOT_SUFFIX_SPEC): Define. (SYSROOT_HEADERS_SUFFIX_SPEC): Define. 2006-03-16 Nathan Sidwell * gcc/config/m68k/m68k-protos.h (m68k_out_of_object_offset): New. * gcc/config/m68k/m68k.c (m68k_out_of_object_offset): New. (m68k_legitimate_address_p): Check out of object offset. * gcc/config/m68k/m68k.md (movsi): Split if out of object offset. * gcc/config/m68k/predicates.md (general_src_operand): Check out of object offset. * gcc/config/m68k/uclinux.h (M68K_NO_OUT_OF_OBJECT_OFFSETS): Declare. * gcc/config/m68k/m68k.c (m68k_output_function_epilogue): Prevent compilation warning. * gcc/config/m68k/m68k-protos.h (m68k_legitimize_reload_address): Declare. * gcc/config/m68k/m68k.c (m68k_legitimize_reload_address): New. * gcc/config/m68k/m68k.h (LEGITIMIZE_RELOAD_ADDRESS): New. * gcc/testsuite/gcc.dg/m68k-fp-1.c: New. * gcc/config/m68k/m68k-protos.h (m68k_legitimiate_address_p): Declare. * gcc/config/m68k/m68k.c (REG_OK_FOR_INDEX_STRICT, REG_OK_FOR_BASE_STRICT, LEGITIMATE_BASE_REG_P, LEGTIMATE_INDEX_REG_P): Copied & adjusted from m68k.h. (m68k_legitimate_address_p): New, converted from GO_IF_LEGITIMATE_ADDRESS. * gcc/config/m68k/m68k.hh (PCREL_GENERAL_OPERAND_OK, LEGTIMIATE_PIC_OPERAND_P): Remove. (GO_IF_LEGITIMATE_ADDRESS): Call m68k_legitimate_address_p. (LEGTIMIATE_BASE_REG_P, INDIRECTABLE_1_ADDRESS_P, GO_IF_NONINDEXED_ADDRESS, GO_IF_INDEXABLE_BASE, GO_IF_INDEXING, GO_IF_INDEXED_ADDRESS, LEGTIMIATE_INDEX_REG_P, LEGITIMATE_INDEX_P, GO_IF_COLDFIRE_FPU_LEGITIMATE_ADDRESS): Remove. 2006-03-14 Nathan Sidwell * gcc/config/m68k/fpgnulib.c (__truncdfsf2): Implement round to nearest even, fix denormal rounding overflow. 2006-03-10 Nathan Sidwell * libstdc++-v2/configure.ac (LIBSUPCXX_PRONLY): Protect against unset environment variable. * libstdc++-v3/configure: Rebuilt. * gcc/config.gcc (m68k-*-uclinux*): Include t-crtstuff. * gcc/config/m68k/t-uclinux (MULITLIB_EXCEPTIONS): Disable mid-shared-library & msep-data on coldfire chips without 32bit PC rel addressing. (EXTRA_MULTILIB_PARTS): Don't define here. * gcc/config/m68k/m68k.c (TARGET_ASM_FILE_START_APP_OFF): Protect with M68K_NO_ASM_FUILE_START_APP_OFF. (override_options): Avoid signed/unsigned warning. Give more informative error message when TARGET_SEP_DATA or TARGET_ID_SHARED_LIBRARY are unsupported. * gcc/config/m68k/uclinux.h (STARTFILE_SPEC): Define here. (ENDFILE_SPEC): Likewise. (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Don't define. (TARGET_OS_CP_BUILTINS): Remove duplicared mc68000 #define. (M68K_NO_ASM_FILE_START_APP_OFF): New. 2006-03-08 Nathan Sidwell * gcc/config/m68k/m68k-none.h (ASM_SPEC): Pass -mno-float for soft-float. 2006-03-07 Nathan Sidwell * gcc/config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Detect -mtune usage to set multiple 68k core #defines. 2006-03-06 Nathan Sidwell * gcc/config/m68k/m68k-cores.def: Set FL_PCREL_16 as appropriate. * gcc/config/m68k/m68k.c (FL_NOPIC): Remove. (FL_PCREL_16): Define. (all_architectures): Set FL_PCREL_16 as appropriate. (all_tunings): Likewise. (override_options): Replace 68k specific FL_NOPIC test with general FL_PCREL_16 one. 2006-02-26 Nathan Sidwell * libstdc++-v3/testsuite/lib/libstdc++.exp (check_v3_target_fileio, check_v3_target_time): New. * libstdc++-v3/testsuite/lib/dg-options.exp (dg-require-fileio, dg-require-time): New. * libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: Use it. * libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: Use it. * libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: Use it. * libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: Use it. * libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/1.cc: Use it. * libstdc++-v3/testsuite/ext/stdio_filebuf/char/2.cc: Use it. * libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-1.cc: Use it. * libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-2.cc: Use it. * libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-3.cc: Use it. * libstdc++-v3/testsuite/22_locale/time_put/put/char/12439_1.cc: Use it. * libstdc++-v3/testsuite/22_locale/time_put/put/char/12439_3.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_ofstream/open/char/1.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_ofstream/cons/char/2.cc: Use it. * libstdc++-v3/testsuite/27_io/objects/char/12048-2.cc: Use it. * libstdc++-v3/testsuite/27_io/objects/char/12048-4.cc: Use it. * libstdc++-v3/testsuite/27_io/objects/char/12048-1.cc: Use it. * libstdc++-v3/testsuite/27_io/objects/char/12048-3.cc: Use it. * libstdc++-v3/testsuite/27_io/objects/char/10.cc: Use it. * libstdc++-v3/testsuite/27_io/objects/char/12048-5.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_istream/get/char/2.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/2.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/3.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_istream/getline/char/5.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/sstream.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/fstream.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_istream/readsome/char/6746-2.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/2.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/sstream.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/1.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/fstream.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/4.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/1.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/1.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/2346-fstream.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_ifstream/open/char/1.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_ifstream/cons/char/1.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/3.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-1.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-2.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-3.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-4.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/11543.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/in_avail/char/9701-3.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/2.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/9825.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/is_open/char/1.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/2-io.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/2-out.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/open/12790-1.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/1.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/2.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/3.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/2-unbuf.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/2.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/9988.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/9169.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/1-in.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/2-in.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/2-io.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/close/12790-1.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/1.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-1.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-2.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/2.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-3.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-4.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/4.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/10096.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/2.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/12790-1.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/12790-2.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/12790-3.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/2-io.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/2-out.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/9339.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc: Use it. * libstdc++-v3/testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Use it. * libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/10.cc: Use it. * libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/11.cc: Use it. * libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/5.cc: Use it. 2006-02-23 Nathan Sidwell * gcc/doc/invoke.text (M680x0 Options): Update. * gcc/config/m68k/m68k.opt (mdiv): Rename from mhwdiv, to match assembler. (musp): Remove. (mbitfield, mrtd, mshort): Allow negated. * gcc/config/m68k/m68k.c (m68k_cf_usp): Remove. (all_architectures): isaa defaults to HWDIV and 5206e. isaa+ defaults to HWDIV. (override_options): Remove m68k_cf_usp setting. * gcc/config/m68k/m68k.h (m68k_cf_usp): Remove. * gcc/config/m68k/m68k-cores.def: Add 5202, 5204, 5250. * gcc/config/m68k/m68k.h (TARGET_COLDFIRE): Remove, use m68k_arch_coldfire directly. Update all users. * gcc/config/m68k/m68k.c: Update all users. * gcc/config/m68k/m58k.md: Update all users. * gcc/config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Update. * gcc/config/m68k/coff.h (ASM_RETURN_CASE_JUMP): Update. * gcc/config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Update. * gcc/config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Update. 2006-02-22 Nathan Sidwell * gcc/config/m68k/m68k.c (m68k_cpu_cpp_builtins): Move to ... * gcc/config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): ... here. * gcc/config/m68k/m68k-protos.h (m68k_cpu_cpp_builtins): Remove. 2005-02-21 Julian Brown * gcc/config/m68k/m68k.c (fpu_impl, fpu_select): Remove. (m68k_handle_option): Remove msoft-float, mhard-float, m68881 handling from here. (override_options): Handle default CPU setting. Handle bitfield, hwdiv, usp options. Use FL_NOPIC. * gcc/config/m68k/m68k.h (TARGET_BITFIELD): Define to m68k_bitfield, temporarily. (target_cpus): New enumeration of CPU identifiers, TARGET_CPU_. * gcc/config/m68k/m68k-none.h: Remove old TARGET_CPU_DEFAULT handling. (OPTION_DEFAULT_SPECS): Define macro for handling default CPU/float. (EXTRA_SPECS): Remove CC1_CPU_DEFAULT_SPEC. * gcc/config/m68k/m68k.opt (mbitfield): Use m68k_flag_bitfield. (mnobitfield): Likewise. (mhwdiv, musp): Fix options. (m68881, msoft-float, mhard-float): Use m68k_flag_hardfloat. (mfpu): Remove. * gcc/config/m68k/t-m68kelf (MULTILIB_EXCEPTIONS): Add msoft-float, mhard-float. * gcc/config.gcc (m68k*-linux*): Rename to... (m68k*-*): Implement --with-cpu, --with-float. Remove old compile-time CPU selection options. 2006-02-16 Julian Brown * gcc/config.gcc (m68k-*-aout*): Use t-mlib-matches file. (m68k-*-coff*): Likewise. (m68010-*-netbsdelf*, m68k*-*-netbsdelf*): Likewise. (m68k-*-uclinux*): Likewise. (m68k-*-linux*): Likewise. (m68k-*-rtems*): Likewise. * gcc/config/m68k/t-rtems: Use -mcpu= options for multilibs. * gcc/config/m68k/t-m68kelf: Likewise. * gcc/config/m68k/t-m68kbare: Likewise. * gcc/config/m68k/t-uclinux: Likewise. * gcc/config/m68k/m68k-cores.def: Add multilib field. Add missing HWDIV flag to various cores. Replace 5280, 5281, 5282 with 528x. * gcc/config/m68k/t-mlib-matches: Find canonical multilib for CPU/arch settings. * gcc/config/m68k/m68k-none.h (ASM_SPEC): Add -mcpu/-march options. * gcc/config/m68k/m68k.c (all_cores): Ignore new multilib field in m68k-cores.def. (m68k_handle_option): Use 528x instead of 5280. (override_options): Don't set CPU/arch if tuning option only is given. * gcc/config/m68k/m68k.h (processor_type): Ignore new multilib field in m68k-cores.def. 2006-02-13 Julian Brown * gcc/config/m68k/m68k.h (CONST_OK_FOR_LETTER_P): Implement 'R' constraint for immediates which can be handled by mov3q. 2006-02-10 Julian Brown * gcc/config/m68k/m68k.md: Replace uses of TARGET_68020, TARGET_68040, TARGET_68060, TARGET_68040_ONLY, TARGET_CPU32, TARGET_CFV4 with TUNE_68000, TUNE_68020, TUNE_68040, TUNE_CFV4, m68k_arch_68020, m68k_arch_68040, m68k_arch_68060, m68k_arch_isab as appropriate, throughout. * gcc/config/m68k/linux.h (MASK_68881): Change spelling to MASK_HARDFP. * gcc/config/m68k/m68k-cores.def (68020-40, 68020-60): Remove CPU names. (68332, cpu32): Use cpu32 as microarchitecture. * gcc/config/m68k/m68k-protos.h (m68k_cpu_cpp_builtins): Add prototype. * gcc/config/m68k/m68k-none.h (MASK_68881): Change spelling to MASK_HARDFP. Use -mhard-float instead of -m68881. * gcc/config/m68k/m68k.opt (-m5200, -m5206e, -m528x, -m5307, -m5407) (-mcfv4e, -m68881): Don't use target flags to handle legacy options. (-mhard-float): Add option to enable ColdFire FPU or 68881 depending on context. (-msoft-float): Negation of above. (-mhwdiv): Enable/disable ColdFire hardware divide instructions (unimplemented). * gcc/config/m68k/m68k.c (m68k_cpu, m68k_arch_68020, m68k_arch_68040) (m68k_arch_68060, m68k_arch_coldfire, m68k_arch_isaaplus) (m68k_arch_isab, m68k_arch_isac, m68k_tune, m68k_fpu, m68k_bitfield) (m68k_cf_hwdiv, m68k_cf_usp): New variables describing target capabilities. (FL_FOR_isa_40, FL_FOR_isa_60): Alter definitions. (FL_FOR_isa_20_40, FL_FOR_isa_20_60): Remove. (m68k_isa): Remove isa_20_40 and isa_20_60. (all_cores): Alter last entry. (all_architectures): Reformat. Update various fields. Remove 68020-40 and 68020-60. Remove cfvX entries. (all_tunings): New array. Describe different tuning options. (m68k_select): Tune for microarch not CPU. (MASK_ALL_CPU_BITS): Remove. (m68k_handle_option): Handle legacy options using new CPU/tuning selection code. Add support for -mhard-float and fix support for -msoft-float, -m68881. (override_options): Add tuning support. Remove legacy target flag support. (m68k_cpu_cpp_builtins): New function (from TARGET_CPU_CPP_BUILTINS in m68k.h). Handle legacy defines, and support new __mcfisaX__ and __mcfvX__ defines to be used in new code. (m68k_output_function_prologue): Use TUNE_* macros and m68k_arch_* predicates. (m68k_output_function_epilogue): Likewise. (m68k_output_pic_call): Likewise. (output_scc_di): Likewise. (const_method): Likewise. (m68k_rtx_costs): Likewise. (output_move_simode_const): Likewise. (output_move_himode): Likewise. (output_move_qimode): Likewise. (output_move_stricthi): Likewise. (output_move_strictqi): Likewise. (output_addsi3): Likewise. (standard_68881_constant_p): Likewise. (print_operand): Likewise. (m68k_output_mi_thunk): Likewise. * gcc/config/m68k/netbsd-elf.h (MASK_68881): Spell MASK_HARDFP. * gcc/config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Implement as function call to m68k_cpu_cpp_builtins. (TARGET_CPU32): Remove. (TARGET_COLDFIRE): Define as m68k_arch_coldfire. (TARGET_COLDFIRE_FPU, TARGET_68881, TARGET_HARD_FLOAT): Define in terms of m68k_fpu. (TARGET_FLT_EVAL_METHOD): Use m68k_arch_68040. (CONST_OK_FOR_LETTER_P): Add 'R' constraint. (INDIRECTABLE_1_ADDRESS_P, GO_IF_INDEXED_ADDRESS, LEGITIMATE_INDEX_P): Use m68k_arch_68020. (uarch_type): Remove u68030, ucfv2m. Add ucpu32. (TUNE_68000, TUNE_68020, TUNE_68040, TUNE_68060, TUNE_68040_60) (TUNE_CPU32, TUNE_CFV2, TUNE_CFV3, TUNE_CFV4): Add tuning macros. (m68k_cpu, m68k_arch_68020, m68k_arch_68040, m68k_arch_68060) (m68k_arch_coldfire, m68k_arch_isaaplus, m68k_arch_isab) (m68k_arch_isac, m68k_tune, m68k_fpu, m68k_bitfield, m68k_cf_hwdiv) (m68k_cf_usp): Declare extern variables describing target capabilities. 2006-02-01 Nathan Sidwell * gcc/config/m68k/lb1sf68.asm (__divsf3, __divdf3, __mulsf3, __muldf3): Return a correctly signed zero. 2006-01-31 Nathan Sidwell * gcc/config/m68k/lb1sf68.asm: Use moveq to load small constants. 2006-01-30 Julian Brown * gcc/config/m68k/m68k-cores.def: New file. Define various 68k/ColdFire cores. * gcc/config/m68k/m68k.opt (-mcpu, -march, -mtune, -mfpu): New options. * gcc/config/m68k/m68k.c (FL_NOPIC, FL_BITFIELD, FL_68881, FL_COLDFIRE) (FL_CF_HWDIV, FL_CF_MAC, FL_CF_EMAC, FL_CF_EMAC_B, FL_CF_USP) (FL_CF_FPU, FL_ISA_68000, FL_ISA_68020, FL_ISA_68040, FL_ISA_68060) (FL_ISA_A, FL_ISA_APLUS, FL_ISA_B, FL_ISA_C): Define flags for m68k-cores.def. (FL_FOR_isa_00, FL_FOR_isa_20, FL_FOR_isa_40, FL_FOR_isa_60) (FL_FOR_isa_20_40, FL_FOR_isa_20_60, FL_FOR_isa_a, FL_FOR_isa_aplus) (FL_FOR_isa_b, FL_FOR_isa_c): Define base flags for ISAs. (m68k_isa): New enumerated type for instruction-set architectures. (processors): New type for processors. (all_cores): New array. All m68k cores, read from m68k-cores.def. (all_architectures): New array. All m68k architectures. (m68k_cpu_select): New type for selecting cpu/arch. (m68k_select): New array for selecting cpu/arch/tuning. (fpu_impl): New type for floating-point units. (fpu_select): New array for selecting FPU. (M68K_OPT_SET_TUNE, M68K_OPT_SET_ARCH, M68K_OPT_SET_CPU): New defines for indices into m68k_select array. (m68k_handle_option): Handle -mcpu=, -march=, -mtune=. (override_options): Handle new -mcpu, -march options. Translate to old target flags. * gcc/config/m68k/m68k.h (uarch_type): New enumeration for microarchitecture types. (processor_type): New enumeration for processor core identifications. (fpu_type): New enumeration for FPU types. 2006-01-27 Paul Brook * version.c: Mark as CodeSourcery build. 2006-01-23 Julian Brown Backport from mainline. 2006-01-23 Kazu Hirata PR testsuite/25590 * gcc.dg/tree-ssa/gen-vect-11.c: Add -fwrapv. 2006-01-23 Julian Brown * gcc/config/m68k/netbsd-elf.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Make 64-bit on Coldfire. * gcc/config/m68k/m68k.h (LONG_DOUBLE_TYPE_SIZE): Likewise. (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise. 2006-01-22 Paul Brook Peter Barada * gcc/config/m68k/m68k.md: Add Coldfire FPU support. Define FP mode macro and associated attributes. Use it for float mode patterns. * gcc/config/m68k/linux.h (FUNCTION_VALUE): Use m68k_function_value. (LIBCALL_VALUE): Use m68k_libcall_value. * gcc/config/m68k/m68k-protos.h (m68k_libcall_value): Add prototype. (m68k_function_value): Ditto. (emit_move_sequence): Ditto. * gcc/config/m68k/m68kemb.h (LIBCALL_VALUE): Use m68k_libcall_value. * gcc/config/m68k/m68k-none.h (ASM_SPEC): Add mcfv4e. * gcc/config/m68k/t-m68kelf (MULTILIB_OPTIONS): Add mcfv4e. (MULTILIB_EXCEPTIONS): Ditto. * gcc/config/m68k/m68k.opt: Add mcfv4e. * gcc/config/m68k/m68k.c (m68k_handle_option): Handle OPT_mcfv4e. (m68k_compute_frame_layout): Include space for ColdFire FPU regs. (m68k_output_function_prologue): Save ColdFire FPU registers. (m68k_output_function_epilogue): Restore ColdFire FPU registers. (force_mode, fp_reg_operand, emit_move_sequence): New functions. (m68k_regno_mode_ok): Don't allow types larget than 8 bytes in ColdFire FPU registers. (m68k_libcall_value, m68k_function_value): New functions. * gcc/config/m68k/netbsd-elf.h (FUNCTION_VALUE): Use m68k_function_value. (LIBCALL_VALUE): Use m68k_libcall_value. * gcc/config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Define __mcfv4e__. (MASK_COLDFIRE): Add MASK_CFV4E. (TARGET_COLDFIRE_FPU, TARGET_HARD_FLOAT, TARGET_FP_REG_SIZE): New. (MODES_TIEABLE_P): Use TARGET_HARD_FLOAT. (REG_CLASS_FROM_LETTER, PREFERRED_RELOAD_CLASS): Ditto. (GO_IF_COLDFIRE_FPU_LEGITIMATE_ADDRESS): Define. (GO_IF_LEGITIMATE_ADDRESS): Use it. (LEGITIMIZE_ADDRESS): Handle ColdFire FPU addresses. * gcc/doc/invoke.tex: Document -mcfv4e on m68k. 2006-06-21 Mark Mitchell libstdc++/ * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): When cross-compiling, put headers in $prefix/$target/include/c++. * configure: Regenerated. gcc/ * configure.ac: Set gcc_gxx_include_dir to $target/include/c++ when cross-compiling. Do not substitute libstdcxx_incdir. * configure: Regenerated. 2006-06-20 Vladimir Prus libstdc++/ * libsupc++/eh_arm.cc (__cxa_begin_cleanup): Always return 'true'. 2006-06-06 Joseph S. Myers * gcc/config/mips/t-linux64 (tp-bit.c): Append to tp-bit.c, not dp-bit.c. 2006-06-01 Mark Shinwell * gcc/builtins.c (expand_builtin_return_addr): Always use hard_frame_pointer_rtx and prevent frame pointer elimination if INITIAL_FRAME_ADDRESS_RTX isn't set. 2006-06-01 Mark Shinwell * gcc/tree.h: Declare folding_initializer. * gcc/builtins.c (fold_builtin_constant_p): Give definite answer if folding inside an initializer. * gcc/fold-const.c: Define folding_initializer. (START_FOLD_INIT): Save and then set folding_initializer. (END_FOLD_INIT): Restore folding_initializer. * gcc/testsuite/gcc.c-torture/compile/builtin_constant_p.c: New test. 2006-05-31 Carlos O'Donell Backport from mainline: 2006-05-31 Richard Earnshaw PR target/27829 * gcc/config/arm/arm.c (arm_print_operand case 'S'): Validate that the operand is a shift operand before calling shift_op. Avoid redundant call of shift_op. 2006-05-29 Kazu Hirata Backport from mainline: 2006-05-28 Kazu Hirata PR tree-optimization/26622. * gcc/fold-const.c (fold_ternary) : Call fold_convert on arg1. PR tree-optimization/26622. * gcc/testsuite/gcc.c-torture/compile/pr26622.c: New. 2006-05-19 Nathan Sidwell * libiberty/make-relative-prefix.c (split_directories): Add ignore_final arg. (make_relative_prefix): Keep the final path component if it was a directory. Adjust calls to split_directories. 2006-05-20 Richard Sandiford Merge from mainline: gcc/ 2006-05-19 Richard Sandiford * config/mips/linux-unwind.h: Include (mips_fallback_frame_state): Use syscall numbers to determine the appropriate li instruction for the current ABI. Only use __NR_sigreturn for o32. 2006-05-11 Joseph S. Myers * gcc/testsuite/lib/target-supports.exp (check_effective_target_powerpc_fprs, check_effective_target_powerpc_altivec_ok): New. * gcc/testsuite/g++.dg/eh/simd-2.C, gcc/testsuite/g++.dg/ext/altivec-1.C, gcc/testsuite/g++.dg/ext/altivec-10.C, gcc/testsuite/g++.dg/ext/altivec-11.C, gcc/testsuite/g++.dg/ext/altivec-12.C, gcc/testsuite/g++.dg/ext/altivec-13.C, gcc/testsuite/g++.dg/ext/altivec-2.C, gcc/testsuite/g++.dg/ext/altivec-3.C, gcc/testsuite/g++.dg/ext/altivec-4.C, gcc/testsuite/g++.dg/ext/altivec-5.C, gcc/testsuite/g++.dg/ext/altivec-6.C, gcc/testsuite/g++.dg/ext/altivec-7.C, gcc/testsuite/g++.dg/ext/altivec-8.C, gcc/testsuite/g++.dg/ext/altivec-9.C, gcc/testsuite/g++.dg/ext/altivec-types-1.C, gcc/testsuite/g++.dg/ext/altivec-types-2.C, gcc/testsuite/g++.dg/ext/altivec-types-3.C, gcc/testsuite/g++.dg/ext/altivec-types-4.C, gcc/testsuite/gcc.dg/simd-3.c, gcc/testsuite/gcc.dg/vect/vect-82_64.c, gcc/testsuite/gcc.dg/vect/vect-83_64.c, gcc/testsuite/gcc.dg/vmx/vmx.exp, gcc/testsuite/gcc.target/powerpc/980827-1.c, gcc/testsuite/gcc.target/powerpc/altivec-1.c, gcc/testsuite/gcc.target/powerpc/altivec-10.c, gcc/testsuite/gcc.target/powerpc/altivec-11.c, gcc/testsuite/gcc.target/powerpc/altivec-12.c, gcc/testsuite/gcc.target/powerpc/altivec-13.c, gcc/testsuite/gcc.target/powerpc/altivec-14.c, gcc/testsuite/gcc.target/powerpc/altivec-15.c, gcc/testsuite/gcc.target/powerpc/altivec-16.c, gcc/testsuite/gcc.target/powerpc/altivec-17.c, gcc/testsuite/gcc.target/powerpc/altivec-18.c, gcc/testsuite/gcc.target/powerpc/altivec-19.c, gcc/testsuite/gcc.target/powerpc/altivec-2.c, gcc/testsuite/gcc.target/powerpc/altivec-21.c, gcc/testsuite/gcc.target/powerpc/altivec-22.c, gcc/testsuite/gcc.target/powerpc/altivec-3.c, gcc/testsuite/gcc.target/powerpc/altivec-4.c, gcc/testsuite/gcc.target/powerpc/altivec-5.c, gcc/testsuite/gcc.target/powerpc/altivec-6.c, gcc/testsuite/gcc.target/powerpc/altivec-7.c, gcc/testsuite/gcc.target/powerpc/altivec-8.c, gcc/testsuite/gcc.target/powerpc/altivec-9.c, gcc/testsuite/gcc.target/powerpc/altivec-consts.c, gcc/testsuite/gcc.target/powerpc/altivec-pr22085.c, gcc/testsuite/gcc.target/powerpc/altivec-splat.c, gcc/testsuite/gcc.target/powerpc/altivec-types-1.c, gcc/testsuite/gcc.target/powerpc/altivec-types-2.c, gcc/testsuite/gcc.target/powerpc/altivec-types-3.c, gcc/testsuite/gcc.target/powerpc/altivec-types-4.c, gcc/testsuite/gcc.target/powerpc/altivec-varargs-1.c, gcc/testsuite/gcc.target/powerpc/altivec-vec-merge.c, gcc/testsuite/gcc.target/powerpc/ppc-vector-memcpy.c, gcc/testsuite/gcc.target/powerpc/ppc-vector-memset.c, gcc/testsuite/gcc.target/powerpc/ppc64-abi-2.c, gcc/testsuite/gcc.target/powerpc/pr16155.c, gcc/testsuite/gcc.target/powerpc/pr16286.c: Use these effective targets. * gcc/testsuite/gcc.dg/20020103-1.c: XFAIL on powerpc*-*-*. 2006-05-08 Paul Brook * gcc/cofnig/arm/arm.c (output_move_vfp): Fix typo. 2006-05-07 Nathan Sidwell * configure.in (TOPLEVEL_CONFIGURE_ARGS): Protect args with active characters. (baseargs): Simplify protection, use ac_arg temp name, correct $ to $$ conversion. * configure: Rebuilt. 2006-05-05 Joseph Myers * gcc/testsuite/gcc.c-torture/execute/loop-2f.x, gcc/testsuite/gcc.c-torture/execute/loop-2g.x: New. XFAIL on mips*-*-linux*. 2006-05-05 Mark Mitchell * configure.in: Do not mangle arguments like "--with-foo=A B C" when storing in baseargs. * configure: Regenerated. * gcc/configure.ac: Add --with-versuffix and --with-bugurl. * gcc/version.c (VERSUFFIX): Remove. (bug_report_url): Do not hard-code initializer. * gcc/Makefile.in (VERSUFFIX_s): Define. (BUGURL_s): Likewise. (version.o): Define VERSUFFIX and BUGURL. * gcc/doc/install.texi: Document them. * gcc/configure: Regenerated. 2006-05-04 Kazu Hirata Backport: 2006-05-04 Richard Sandiford PR target/26765 * gcc/config/mips/mips.c (mips_symbolic_address_p): Return true for SYMBOL_TLSGD, SYMBOL_TLSLDM, SYMBOL_DTPREL, SYMBOL_TPREL, SYMBOL_GOTTPREL, and SYMBOL_TLS. 2006-05-04 Kazu Hirata PR target/26765 * gcc/testsuite/gcc.target/mips/pr26765.c: New. 2006-05-04 Paul Brook * gcc/version.c: Revert back to Sourcery G++. 2006-05-03 Paul Brook Merge from branches/csl/arm-4_1 r113476. 2006-05-02 Paul Brook * gcc/config/arm/arm.c (add_minipool_forward_ref): Check if insn and pool overlap. (create_fix_barrier): Check that a suitable barrier location is found. (arm_reorg): Include ftmp->address in allowable range of addresses. 2006-05-01 Kazu Hirata Paul Brook * gcc/config/arm/vfp.md (arm_movdi_vfp): Correct the output templates for case 3 and 4. (thumb2_movdi_vfp): Ditto. 2006-04-21 Kazu Hirata * gcc/config/arm/arm-protos.h: Add a prototype for output_move_vfp. * gcc/config/arm/arm.c (arm_coproc_mem_operand): When WB is false, accept PRE_DEC and POST_INC. (output_move_vfp): New. * gcc/config/arm/vfp.md (*arm_movsi_vfp, *thumb2_movsi_vfp, *arm_movdi_vfp, *thumb2_movdi_vfp, *movsf_vfp, *thumb2_movsf_vfp, *movdf_vfp, *thumb2_movdf_vfp): Call output_move_vfp on loads to and stores from VFP registers. * gcc/testsuite/gcc.target/arm/arm.exp, gcc/testsuite/gcc.target/arm/vfp-ldmdbd.c, gcc/testsuite/gcc.target/arm/vfp-ldmdbs.c, gcc/testsuite/gcc.target/arm/vfp-ldmiad.c, gcc/testsuite/gcc.target/arm/vfp-ldmias.c, gcc/testsuite/gcc.target/arm/vfp-stmdbd.c, gcc/testsuite/gcc.target/arm/vfp-stmdbs.c, gcc/testsuite/gcc.target/arm/vfp-stmiad.c, gcc/testsuite/gcc.target/arm/vfp-stmias.c: New. 2006-04-02 Paul Brook * gcc/config/arm/ieee754-df.S (adddf3): Avoid clobbering yl. 2006-04-02 Paul Brook * gcc/config/arm/arm.c (arm_file_start): Output additional object attribute directives. 2006-03-31 Paul Brook * gcc/config/arm/thumb2.md (thumb2_shiftsi3_short): Disallow rotate by immediate. (divsi3, udivsi3): Remove bogus length attribute. 2006-03-31 Paul Brook * gcc/config/arm/arm.c (arm_output_shift): Fix typo in condition modifier characters. 2006-03-31 Paul Brook * gcc/config/arm/arm.c (arm_output_shift): Handle Thumb register shifts. 2006-03-30 Paul Brook * gcc/config/arm/arm.c (arm_output_shift): Change set_flags to tristate option. Use modified shift value. * gcc/config/arm/thumb2.md (thumb2_shiftsi3_short): Use arm_output_shift. * gcc/config/arm/arm.md (arm_shiftsi3, shiftsi3_compare0, shiftsi3_compare0_scratch): Adjust arguments to arm_output_shift. 2006-03-29 Paul Brook * gcc/config/arm/vfp.md (movsf_vfp): Disparage w<->r alternatives. (thumb2_movsf_vfp, movdf_vfp, thumb2_movdf_vfp): Ditto. 2005-03-21 Paul Brook * gcc/config/arm/thumb2.md (divsi3, udivsi3): New define_insn. * gcc/config/arm/arm.c (arm_arch_hwdiv): Define. (arm_override_options): Set arm_arch_hwdiv. * gcc/config/arm/arm.h (arm_arch_hwdiv): Declare. 2006-03-14 Paul Brook * doc/install.texi: Docuemnt --with-mode. * config.gcc: Add --with-mode for arm*-*-*. * config/arm/arm.h (OPTION_DEFAULT_SPECS): Add "mode". 2006-03-13 Paul Brook * gcc/config/arm/arm.c (arm_dwarf_handle_frame_unspec): New function. (TARGET_DWARF_HANDLE_FRAME_UNSPEC): Define. (arm_compute_save_reg0_reg12_mask): Save r0 if dynamic stack alignment is required. (arm_output_epilogue): Restore sp from r0. (arm_expand_prologue): Save sp in r0 before aligning stack. (arm_unwind_emit_sequence): Remove redundant SP push code. (arm_unwind_emit_set): Handle UNSPEC_STACK_ALIGN. * gcc/config/arm/arm.md (UNSPEC_STACK_ALIGN): Define. 2006-03-01 Paul Brook * gcc/doc/extend.texi: Document ARMv7 interrupt attribute. * gcc/config/arm/arm.c (arm_isr_value): Check arm_arch_notm. (use_return_insn): Return 0 is SP needs realignment. (arm_function_ok_for_sibcall): Ditto. (arm_output_function_prologue): Add IS_STACKALIGN comment. (arm_output_epilogue): Restore SP from stack if it needed realignment. (arm_expand_prologue): Add dynamic stack alignment code. (-arm_unwind_emit_stm): Rename... (arm_unwind_emit_sequence): ... to this. Handle popping SP. * gcc/config/arm/arm.h (ARM_FT_STACKALIGN, IS_STACKALIGN): Define. * gcc/g++.dg/other/armv7m-1.c: New test. 2006-02-27 Paul Brook * gcc/config/arm/t-arm-elf: Fix backwards MULTILIB_MATCHES. 2006-02-24 Paul Brook * gcc/config/arm/arm.c (FL_NOTM, FL_DIV, FL_FOR_ARCH7, FL_FOR_ARCH7A, FL_FOR_ARCH7R, FL_FOR_ARCH7M): New defines. (arm_arch_notm): New variable. (arm_override_options): Check if CPU supports ARM mode. Set arm_arch_notm. * gcc/config/arm/lib1funcs.asm: Recognise V7 architecture variants. * gcc/config/arm/arm.h (TARGET_DSP_MULTIPLY, TARGET_INT_SIMD): Define. (arm_arch_notm): Declare. * gcc/config/arm/arm-cores.def: Add cortex-a8, cortex-r4 and cortex-m3. * gcc/config/arm/arm-cores.def: Regenerate. * gcc/config/arm/t-arm-elf: Add Armv7 Thumb-2 multilib. * gcc/config/arm/arm.md (mulhisi3, mulhisi3tb, mulhisi3bt, mulhisi3tt, mulhisi3addsi, mulhidi3adddi): Depend on TARGET_DSP_MULTIPLY. (arm_zero_extendhisi2addsi, arm_zero_extendqisi2addsi, arm_extendhisi2addsi, arm_extendqisi2addsi): Depend on TARGET_INT_SIMD. 2006-02-07 Paul Brook * config/gcc/arm/lib1funcs.asm: Use unified assembly syntax. Assemble "Arm" code as Thumb-2 where appropriate. * config/gcc/arm/ieee754-df.S: Use unified assembly syntax for Arm code. Add Thumb-2 code. * config/gcc/arm/ieee754-df.S: Ditto. * config/gcc/arm/libunwind.S: Ditto. * config/gcc/arm/bpabi.S: Ditto. 2006-01-27 Paul Brook * version.c: Mark as CodeSourcery build. 2006-01-26 Paul Brook Thumb-2 support. * gcc/doc/invoke.texi: Document -cpu=arm1156t2-s and -march=armv6t2 Document that -mthumb may enable Thumb-2. * gcc/config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT, ASM_OUTPUT_ADDR_VEC_ELT): Set Thumb bit on Thumb-2 addresses. * gcc/config/arm/out.h (ASM_OUTPUT_ADDR_DIFF_ELT, ASM_OUTPUT_ADDR_VEC_ELT): Ditto. * gcc/config/arm/arm-cores.def: Add arm1156t2-s. * gcc/config/arm/arm-protos.h: Update and add function prototypes. * gcc/config/arm/arm-tune.md: Regenerate. * gcc/config/arm/arm.c (TARGET_ASM_FILE_START, FL_THUMB2, FL_FOR_ARCH6T2): Define. (arm_arch_thumb2, arm_condexec_count, arm_condexec_mask, arm_condexec_masklen): New variables. (ARM_LSL_NAME): Define. (THUMB2_WORK_REGS): Define. (all_architectures): Add 6T2. (arm_override_options): Set arm_arch_thumb2. Allow use of coprocessors in Thumb-2. (use_return_insn): Only use StrongARM workaround in Arm mode. (const_ok_for_arm): Handle Thumb-2 constants. (arm_gen_constant): Ditto. (legitimize_pic_address): Add Thumb-2. (arm_load_pic_register): Generate Thumb-2 sequence. (arm_call_tls_get_addr): Ditto. (legitimize_tls_address): Ditto. (thumb2_legitimate_address_p): New function. (thumb2_index_mul_operand): New function. (thumb2_legitimate_index_p): New function. (thumb_base_register_rtx_p, thumb_index_register_rtx_p, thumb_legitimate_address_p, thumb_rtx_costs, thumb_compute_save_reg_mask, thumb_final_prescan_insn, thumb_expand_prologue, thumb_expand_epilogue, thumb_output_function_prologue, thumb_cmp_operand, thumb_cmpneg_operand): Rename ... (thumb1_base_register_rtx_p, thumb1_index_register_rtx_p, thumb1_legitimate_address_p, thumb1_rtx_costs, thumb1_compute_save_reg_mask, thumb1_final_prescan_insn, thumb1_expand_prologue, thumb1_expand_epilogue, thumb1_output_function_prologue, thumb1_cmp_operand, thumb1_cmpneg_operand): ... to this. Update callers. (arm_address_cost): Use arm routine for Thumb-2. (load_multiple_sequence): Only allow ldmib and ldmda in Arm mode. (emit_ldm_seq): Output unified assembly. (emit_stm_seq): Ditto. (arm_select_cc_mode): Treat Thumb-2 like Arm. (print_multi_reg): Don't print comma. (output_mov_long_double_fpa_from_arm): Output unified assebly. (output_mov_double_arm_from_fpa): Ditto. (output_move_double): Ditto. Disallow Arm specific addressing modes in Thumb-2 mode. (arm_shift_nmem): New function. (arithmetic_instr, shift_op): Use it. Use ARM_LSL_NAME. (arm_compute_save_reg0_reg12_mask): Handle Thumb-2 frames. (arm_compute_save_reg_mask): Don't create apcs frame for Thumb-2. Create scratch register if needed for PIC. (output_return_instruction): Only use StrongARM workaround in Arm mode. (arm_output_function_prologue): Threat Thumb-2 like Arm. (arm_output_epilogue): Implement Thumb-2. (arm_output_function_epilogue): Treat Thumb-2 like Arm. (arm_get_frame_offsets): Ditto. (arm_save_coproc_regs, thumb_set_frame_pointer): New function. (arm_expand_prologue): Use them. Handle Thumb-2. (arm_print_condition): New function. (arm_print_operand): Use it. Implement '(', ')', '.', '!' and 'L'. (thumb2_final_prescan_insn): New function. (thumb2_asm_output_opcode): New function. (arm_hard_regno_mode_ok): Treat Thumb-2 like Arm. (arm_regno_class): Implement thumb2 classes. (arm_file_start): New function. (arm_output_mi_thunk): Treat Thumb-2 like Arm. (thumb_set_return_address): Implement Thumb-2. (arm_output_shift): New function. * gcc/config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Add __thumb2__. (TARGET_THUMB1, TARGET_THUMB2, TARGET_32BIT, TARGET_UNIFIED_ASM): Define. (arm_arch_thumb2): Declare; (CONDITIONAL_REGISTER_USAGE): Enable coprocessor registers on Thumb-2. (STATIC_CHAIN_REGNUM, HARD_REGNO_NREGS, MODE_BASE_REG_CLASS, SMALL_REGISTER_CLASSES, CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT_STR, SECONDARY_OUTPUT_RELOAD_CLASS, SECONDARY_INPUT_RELOAD_CLASS, REGISTER_MOVE_COST, LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P, REGNO_MODE_OK_FOR_BASE_P, LEGITIMATE_CONSTANT_P, REG_MODE_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, GO_IF_MODE_DEPENDENT_ADDRESS, MEMORY_MOVE_COST, BRANCH_COST, (HAVE_PRE_INCREMENT, HAVE_POST_DECREMENT, HAVE_PRE_DECREMENT, HAVE_PRE_MODIFY_DISP, HAVE_POST_MODIFY_DISP, HAVE_PRE_MODIFY_REG, HAVE_POST_MODIFY_REG, PRINT_OPERAND_ADDRESS): Treat Thumb-2 like Arm. (CONST_OK_FOR_THUMB2_LETTER): Define. (CONST_OK_FOR_THUMB_LETTER, THUMB_TRAMPOLINE_TEMPLATE, THUMB_REGNO_MODE_OK_FOR_BASE_P, THUMB_REG_MODE_OK_FOR_BASE_P, THUMB_REG_MODE_OK_FOR_BASE_P, THUMB_REG_OK_FOR_INDEX_P, THUMB_GO_IF_LEGITIMATE_ADDRESS): Rename ... (CONST_OK_FOR_THUMB1_LETTER, THUMB_TRAMPOLINE_TEMPLATE, THUMB1_REGNO_MODE_OK_FOR_BASE_P, THUMB1_REG_MODE_OK_FOR_BASE_P, THUMB1_REG_MODE_OK_FOR_BASE_P, THUMB1_REG_OK_FOR_INDEX_P, THUMB1_GO_IF_LEGITIMATE_ADDRESS): ... to this. (CONST_OK_FOR_LETTER_P, TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE, GO_IF_LEGITIMATE_ADDRESS, LEGITIMIZE_ADDRESS, ASM_APP_OFF, ARM_DECLARE_FUNCTION_NAME): Handle Thumb-2. (THUMB2_TRAMPOLINE_TEMPLATE): Define. (TRAMPOLINE_ADJUST_ADDRESS, ASM_OUTPUT_OPCODE, THUMB2_GO_IF_LEGITIMATE_ADDRESS, THUMB2_LEGITIMIZE_ADDRESS, ADJUST_INSN_LENGTH): Define. (PRINT_OPERAND_PUNCT_VALID_P): Add '(', ')', '.' and '!'. (PREFERRED_RELOAD_CLASS): Prefer LO_REGS for core integer reg classes. * gcc/config/arm/arm.md: Rename thumb_* thumb1_*. Make 16-bit thumb patterns conditional on TARGET_THUMB1. Replace '%?' with '%(', '%)' and '%.' as appropriate for unified assembly syntax. Enable many Arm patterns/expanders for Thumb-2. Add new "ce_count" attribute. Include thumb2.md (incscc, decscc, smaxsi3, sminsi3, umaxsi3, sminsi3, zero_extendsidi2, zero_extendqidi2, extendsidi2): Divide into define_expand and define_insn. (ne_zeroextractsi, minmax_arithsi): Insert IT instructions for Thumb-2. (arm_shiftsi3, shiftsi3_compare0, shiftsi3_compare0_scratch): Use arm_output_shift. (movhi, indirect_jump): Handle thumb2. (push_multi): Use push and pop for thumb2. (nop): Output "nop" in unified assembly. * gcc/config/arm/cirrus.md: Enable arithmetic patterns for Thumb-2. (cirrus_thumb2_movdi, cirrus_thumb2_movsi_insn, thumb2_cirrus_movsf_hard_insn, thumb2_cirrus_movdf_hard_insn): New. * gcc/config/arm/fpa.md: Enable arithmetic patterns for Thumb-2. (thumb2_movsf_fpa, thumb2_movdf_fpa, thumb2_movxf_fpa): New. (thumb2_movsfcc_fpa, thumb2_movdfcc_fpa): New. * gcc/config/arm/vfp.md: Enable arithmetic patterns for Thumb-2. (thumb2_movsi_vfp, thumb2_movdi_vfp, thumb2_movsf_vfp, thumb2_movdf_vfp, thumb2_movsfcc_vfp, thumb2_movdfcc_vfp): New. * gcc/config/arm/predicates.md (low_register_operand): New predicate. (low_reg_or_int_operand, thumb_16bit_operator): New predicates. (thumb_cmp_operand, thumb_cmpneg_operand): Rename... (thumb1_cmp_operand, thumb1_cmpneg_operand): ... to this. * gcc/config/arm/lib1funcs.asm: Add __ARM_ARCH_6T2__. * gcc/config/arm/t-arm (MD_INCLUDES): Add thumb2.md * gcc/config/arm/thumb2.md: New file. 2006-05-02 Kazu Hirata Backport: 2006-05-02 Kazu Hirata PR target/27387 * arm.c (arm_output_mi_thunk): Use pc-relative addressing when -mthumb -fPIC are used. 2006-05-02 Kazu Hirata PR target/27387 * gcc.target/arm/arm.exp: New. * gcc.target/arm/pr27387.C: Likewise. 2006-05-02 Kazu Hirata Backport: 2006-05-01 Kazu Hirata PR target/27374 * gcc/config/arm/vfp.md (*arm_movdi_vfp): Correct the output templates for case 3 and 4. 2006-04-30 Mark Mitchell Backport: 2004-10-28 Pascal Obry * w32-shared-ptr.c: New file. * w32-shared-ptr.h: Likewise. 2006-04-28 Joseph S. Myers * gcc/gcc.c (process_command): Add program name to GCC_EXEC_PREFIX value before passing to make_relative_prefix. 2006-04-26 Joseph Myers From Bugzilla: 2006-04-26 Joshua Kinard PR target/25871 * gcc/config/mips/mips.h (TRAMPOLINE_TEMPLATE): Avoid 32-bit moves with 64-bit pointers. 2006-04-25 Joseph Myers * gcc/config/mips/linux64.h (DWARF_OFFSET_SIZE): Remove. 2006-04-22 Carlos O'Donell * gcc/Makefile.in: Correct dependencies for gcc, cpp, gccint, and cppinternals html manuals. 2006-04-22 Joseph Myers * gcc/testsuite/gcc.c-torture/compile/20060421-1.c: New testcase. 2006-04-21 Carlos O'Donell * Makefile.tpl: Add install-html to install target. * Makefile.in: Regenerate. 2006-04-21 Carlos O'Donell * Makefile.tpl: Add install-html target. * Makefile.def: Add install-html target. * Makefile.in: Regenerate. * configure.in: Add --with-datarootdir, --with-docdir, and --with-htmldir options. AC_SUBST datarootdir, docdir and htmldir. * configure: Regenerate. * gcc/Makefile.in: Rename htmldir to gcc_htmldir. Add install-html target. Define HTMLS for all manuals. Simplify html target. * gcc/configure.ac: AC_SUBST datarootdir, docdir, and htmldir. * gcc/configure: Regenerate. * gcc/fortran/Make-lang.in: Rename htmldir to gcc_htmldir. * gcc/java/Make-lang.in: Likewise. * gcc/treelang/Make-lang.in: Likewise. * fixincludes/Makefile.in: Add install-html target. Fixup .PHONY listing. * intl/Makefile.in: Add html info ps pdf and dvi and install-html to .PHONY. Add install-html target. * libcpp/Makefile.in: Add install-html target. Add install-html to .PHONY list. * libstdc++-v3/Makefile.am: Add install-html target. * libstdc++-v3/aclocal.m4: Regenerate. * libstdc++-v3/Makefile.in: Regenerate. * libstdc++-v3/include/Makefile.in: Regenerate. * libstdc++-v3/libmath/Makefile.in: Regenerate. * libstdc++-v3/libsupc++/Makefile.in: Regenerate. * libstdc++-v3/po/Makefile.in: Regenerate. * libstdc++-v3/src/Makefile.in: Regenerate. * libstdc++-v3/testsuite/Makefile.in: Regenerate. * libmudflap/Makefile.am: Add install-html target. * libmudflap/Makefile.in: Regenerate. * libssp/Makefile.am: Add install-html target. * libssp/Makefile.in: Regenerate. * fastjar/Makefile.am: Add install-html target. * fastjar/Makefile.in: Regenerate. * fastjar/aclocal.m4: Regenerate. * zlib/Makefile.am: Add install-html target. * zlib/Makefile.in: Regenerate. * zlib/aclocal.m4: Regenerate. * libobjc/Makefile.in: Add install-html target. * libffi/Makefile.am: Add install-html target. * libffi/Makefile.in: Regenerate. * libffi/aclocal.m4: Regenerate. * libffi/include/Makefile.in: Regenerate. * libffi/testsuite/Makefile.in: Regenerate. * libjava/Makefile.am: Add install-html target. * libjava/Makefile.in: Regenerate. * libjava/aclocal.m4: Regenerate. * libjava/classpath/Makefile.in: Regenerate. * libjava/classpath/aclocal.m4: Regenerate. * libjava/classpath/doc/Makefile.in: Regenerate. * libjava/classpath/doc/api/Makefile.am: Conditionalize html target. * libjava/classpath/doc/api/Makefile.in: Regenerate. * libjava/classpath/examples/Makefile.in: Regenerate. * libjava/classpath/external/Makefile.in: Regenerate. * libjava/classpath/external/sax/Makefile.in: Regenerate. * libjava/classpath/external/w3c_dom/Makefile.in: Regenerate. * libjava/classpath/include/Makefile.in: Regenerate. * libjava/classpath/lib/Makefile.in: Regenerate. * libjava/classpath/native/Makefile.in: Regenerate. * libjava/classpath/native/fdlibm/Makefile.in: Regenerate. * libjava/classpath/native/jawt/Makefile.in: Regenerate. * libjava/classpath/native/jni/Makefile.in: Regenerate. * libjava/classpath/native/jni/classpath/Makefile.in: Regenerate. * libjava/classpath/native/jni/gtk-peer/Makefile.in : Regenerate. * libjava/classpath/native/jni/java-io/Makefile.in: Regenerate. * libjava/classpath/native/jni/java-lang/Makefile.in: Regenerate. * libjava/classpath/native/jni/java-net/Makefile.in : Regenerate. * libjava/classpath/native/jni/java-nio/Makefile.in : Regenerate. * libjava/classpath/native/jni/java-util/Makefile.in: Regenerate. * libjava/classpath/native/jni/midi-alsa/Makefile.in: Regenerate. * libjava/classpath/native/jni/midi-dssi/Makefile.in: Regenerate. * libjava/classpath/native/jni/qt-peer/Makefile.in: Regenerate. * libjava/classpath/native/jni/xmlj/Makefile.in: Regenerate. * libjava/classpath/native/target/Linux/Makefile.in: Regenerate. * libjava/classpath/native/target/Makefile.in: Regenerate. * libjava/classpath/native/target/generic/Makefile.in: Regenerate. * libjava/classpath/resource/Makefile.in: Regenerate. * libjava/classpath/scripts/Makefile.in: Regenerate. * libjava/gcj/Makefile.in: Regenerate. * libjava/include/Makefile.in : Regenerate. * libjava/testsuite/Makefile.in: Regenerate. * boehm-gc/Makefile.am: Add install-html target. * boehm-gc/Makefile.in: Regenerate. * boehm-gc/aclocal.m4: Regenerate. * boehm-gc/include/Makefile.in: Regenerate. * gnattools/Makefile.in: Add html and install-html targets. * libgfortran/Makefile.am: Add install-html target. * libgfortran/Makefile.in: Regenerate. * libada/Makefile.in: Add install-html target. 2006-04-21 Carlos O'Donell Backport from mainline. 2006-04-06 Carlos O'Donell * libiberty/Makefile.in: Add install-html, install-html-am, and install-html-recursive targets. Define mkdir_p and NORMAL_INSTALL. * libiberty/configure.ac: AC_SUBST datarootdir, docdir, htmldir. * libiberty/configure: Regenerate. * libiberty/testsuite/Makefile.in: Add install-html and html targets. 2006-03-30 Carlos O'Donell * gcc/Makefile.in: Rename docdir to gcc_docdir. * gcc/java/Make-lang.in: Rename docdir to gcc_docdir. * gcc/ada/Make-lang.in: Rename docdir to gcc_docdir. * gcc/fortran/Make-lang.in: Rename docdir to gcc_docdir. * gcc/treelang/Make-lang.in: Rename docdir to gcc_docdir. 2006-04-11 Kazu Hirata Backport from mainline. 2006-03-13 Roger Sayle PR middle-end/26557 * gcc/stmt.c (emit_case_nodes): Handle the case where the index is a CONST_INT, where the comparison mode is specified by the index type. 2006-03-13 Roger Sayle PR middle-end/26557 * gcc/gcc.c-torture/compile/switch-1.c: New test case. 2006-04-04 Carlos O'Donell * gcc/testsuite/gcc.dg/struct-parse-1.c: New test case. 2006-03-31 Nathan Sidwell * gcc/stor-layout.c: Place invalid field at the current end of the structure or start of union, to maintain placement invariants. 2006-04-02 Paul Brook Backport form mainline. * gcc/testsuite/gcc.c-torture/execute/loop-ivopts-3.c: New test. 2006-01-14 Zdenek Dvorak * gcc/tree-ssa-loop-niter.c (number_of_iterations_cond): Split into several functions. (number_of_iterations_ne, number_of_iterations_lt_to_ne, assert_no_overflow_lt, assert_loop_rolls_lt, number_of_iterations_lt, number_of_iterations_le): New functions. (number_of_iterations_special): Removed. (number_of_iterations_exit): Do not use number_of_iterations_special. * gcc/tree.c (unsigned_type_for): Always return integer type. * gcc/testsuite/gcc.dg/tree-ssa/pr19210-1.c: Update outcome. Add new test loop. * gcc/testsuite/gcc.dg/tree-ssa/pr19210-2.c: Ditto. 2005-01-06 Zdenek Dvorak PR tree-optimization/18527 * gcc/tree-ssa-loop-niter.c (number_of_iterations_cond, number_of_iterations_special, number_of_iterations_exit): Move base and step of an iv to a single structure. Add no_overflow flag, and use it in # of iterations analysis. * gcc/tree-scalar-evolution.c (analyze_scalar_evolution_in_loop): Add folded_casts argument. (simple_iv): Pass base and step in a structure. Set no_overflow flag. (scev_const_prop): Add argument to analyze_scalar_evolution_in_loop. Evaluate expensiveness of computing # of iterations instead of the final expression. * gcc/tree-scalar-evolution.h (affine_iv): New structure. (simple_iv): Declaration changed. * gcc/tree-chrec.c (chrec_apply): Handle chrecs containing symbols. * gcc/tree-ssa-loop-ivopts.c (determine_biv_step, find_givs_in_stmt_scev, find_givs_in_stmt): Changed due to simple_iv change. 2006-03-30 Mark Mitchell * libiberty/cygpath.c (fopen): Allocate MAX_PATH + 1 bytes for the filename. (open): Likewise. (stat): Likewise. (access): Likewise. 2006-03-30 Mark Mitchell * libiberty/configure.ac: Add cygpath for mingw hosts. * libiberty.configure: Rebuilt. * libiberty/Makefile.in: Add cygpath. * libiberty/cygpath.c: New. 2006-03-28 Paul Brook PR middle-end/23623 * gcc/targhooks.c (default_narrow_bitfield): New fuction. * gcc/targhooks.h (default_narrow_bitfield): add prototype. * gcc/target-def.h (TARGET_NARROW_VOLATILE_BITFIELD): Define. * gcc/doc/tm.texi: Document TARGET_NARROW_VOLATILE_BITFIELDS. * gcc/config/arm/arm.c (TARGET_NARROW_VOLATILE_BITFIELD): Define. 2006-03-28 Paul Brook * gcc/reload1.c (choose_reload_regs): Check for all RTX_AUTOINC operators. (inc_for_reload): Handle PRE_MODIFY and POST_MODIFY addresses. 2006-03-27 Jim Blandy * include/libiberty.h (pex_write_input): New declaration. * libiberty/pex-common.c (pex_write_input): New function. * libiberty/pexecute.txh (pex_write_input): Document it. * libiberty/pex-common.h (struct pex_funcs): New function ptr fdopenw. * libiberty/pex-unix.c (pex_unix_fdopenw): New function. (funcs): List it as our fdopenw function. * libiberty/pex-win32.c (pex_win32_fdopenw): New function. (funcs): List it as our fdopenw function. * libiberty/pex-djgpp.c (funcs): Leave fdopenw null. * libiberty/pex-msdos (funcs): Same. * libiberty/functions.texi: Regenerated. * libiberty/pex-common.h (struct pex_obj): Doc fixes. * libiberty/functions.texi: Regenerate. 2006-03-27 Mark Mitchell * libiberty/pex-win32.c (pex_win32_exec_child): Close stdout/stderr in parent. 2006-03-24 Mark Mitchell Joseph S. Myers PR libstdc++/20448 PR libstdc++/20451 * libstdc++-v3/scripts/testsuite_flags.in (--cxxflags): Don't define LOCALEDIR. * libstdc++-v3/testsuite/lib/libstdc++.exp (libstdc++_init): Always define LOCALEDIR to ".". (v3-build_support): Build MO files. 2006-03-20 Mark Mitchell * libiberty/pex-win32.c (): Include. (fix_argv): Remove. (argv_to_cmdline): New function. (std_suffixes): New variable. (no_suffixes): Likewise. (find_executable): New function. (win32_spawn): Likewise. (spawn_script): Use win32_spawn instead of _spawnv[p]. (pex_win32_exec_child): Replace MSVCRT calls with Win32 API calls. (pex_win32_wait): Likewise. 2006-03-17 Joseph Myers * gcc/dwarf2.h (DW64_CIE_ID): Define. * gcc/dwarf2out.c (DWARF_CIE_ID): Define. (output_call_frame_info): Output 0xffffffff before standard 8-byte length header. Use DWARF_CIE_ID. (value_format): Use DW_FORM_data4 or DW_FORM_data8 for dw_val_class_loc_list depending on DWARF_OFFSET_SIZE. 2006-03-17 Carlos O'Donell * gcc/doc/invoke.texi: Define -femit-class-debug-always. * gcc/common.opts: Likewise. * gcc/cp/search.c (maybe_suppress_debug_info): Suppress debug info if flag_emit_class_debug_always is zero. 2006-03-17 Richard Sandiford Backport from mainline: * gcc/config.gcc (mips64*-*-linux*): Keep existing tm_defines. (mips*-*-linux*): Likewise. 2006-03-16 Joseph S. Myers * gcc/config.gcc (tm_defines): Always add to previous value rather than replacing it. 2006-03-15 Paul Brook Backport from mainline. * gcc/config/arm/arm.c (minipool_pad): New. (add_minipool_forward_ref): Unclude pool alignment padding in address calculation. (push_minipool_fix): Set minipool_pad. (minipool_pad): Ditto. 2006-02-27 Nathan Sidwell Backport the following * gcc/config.gcc (mt-*-*): Add --with-arch support. (--with): Print accepted options on error. * gcc/config/mt/mt.h (OPTION_DEFAULT_SPECS): Define. * gcc/config/mt/mt.c (DEF_VEC_P(basic_block), DEF_VEC_ALLOC_P(basic_bloc,heap)): Remove from here. * gcc/config/mt/mt.md (UNSPEC_LOOP): New constant. (loop_end, loop_init, doloop_end): New insns. * gcc/config/mt/mt.h (LOOP_FIRST, LOOP_LAST): New. (SPECIAL_REG_FIRST, FIRST_PSEUDO_REGISTER): Adjust. (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust. (REG_CLASS_CONTENTS, REGISTER_NAMES): Adjust. * gcc/config/mt/mt.c: #include basic-block.h (struct machine_function): Add has_loops field. (mt_add_loop): New. (MAX_LOOP_DEPTH, MAX_LOO_LENGTH): New. (struct loop_info, struct loop_work): New. (mt_loop_nesting, ms1_block_length, ms1_scan_loop): New workers. (mt_reorg_loops): New loop optimization. (mt_machine_reorg): Call it. * gcc/config/mt/mt-protos.h (mt_add_loop): Declare. * gcc/vec.h (VEC_block_remove): New. * gcc/loop-doloop.c (add_test): Only add jump notes if we did emit a jump. 2006-02-18 Joseph S. Myers PR target/24837 * gcc/config.gcc: Define UCLIBC_DEFAULT to 0 or 1. * gcc/opth-gen.awk: Handle Var and InverseMask together. * gcc/config/linux.opt (muclibc, mglibc): Use Var(linux_uclibc). * gcc/config/linux.h: Use #if not #ifdef for testing UCLIBC_DEFAULT. (TARGET_C99_FUNCTIONS): Test OPTION_GLIBC not TARGET_GLIBC. (CHOOSE_DYNAMIC_LINKER): Give an error for -mglibc and -muclibc used together. (UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Define. * gcc/config/alpha/linux-elf.h (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER, LINUX_DYNAMIC_LINKER): Define. (ELF_DYNAMIC_LINKER): Define to LINUX_DYNAMIC_LINKER. * gcc/config/alpha/linux.h (TARGET_C99_FUNCTIONS): Define to TARGET_GLIBC. * gcc/config/cris/linux.h (GLIBC_DYNAMIC_LINKER): Define. (CRIS_LINK_SUBTARGET_SPEC): Pass a -dynamic-linker option. * gcc/config/frv/linux.h (GLIBC_DYNAMIC_LINKER): Define. (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. (TARGET_C99_FUNCTIONS): Don't define. * gcc/config/i386/linux.h (DYNAMIC_LINKER): Rename to GLIBC_DYNAMIC_LINKER. (SUBTARGET_EXTRA_SPECS): Use LINUX_DYNAMIC_LINKER. * gcc/config/i386/linux64.h (GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64): Define. (LINK_SPEC): Use LINUX_DYNAMIC_LINKER32 and LINUX_DYNAMIC_LINKER64. * gcc/config/ia64/linux.h (GLIBC_DYNAMIC_LINKER): Define. (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. * gcc/config/m32r/linux.h (GLIBC_DYNAMIC_LINKE): Define. (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. * gcc/config/m68k/linux.h (GLIBC_DYNAMIC_LINKER): Define. (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. * gcc/config/mips/linux64.h (GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64, GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32, LINUX_DYNAMIC_LINKERN32): Define. (LINK_SPEC): Use LINUX_DYNAMIC_LINKERN32, LINUX_DYNAMIC_LINKER64 and LINUX_DYNAMIC_LINKER32. * gcc/config/mn10300/linux.h (GLIBC_DYNAMIC_LINKER): Define. (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. * gcc/config/pa/pa-linux.h (GLIBC_DYNAMIC_LINKER): Define. (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. * gcc/config/rs6000/linux.h (TARGET_C99_FUNCTIONS): Define to TARGET_GLIBC. * gcc/config/rs6000/linux64.h (TARGET_C99_FUNCTIONS): Likewise. (GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64, CHOOSE_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER, LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Define. (LINK_OS_LINUX_SPEC32): Use LINUX_DYNAMIC_LINKER32. (LINK_OS_LINUX_SPEC64): Use LINUX_DYNAMIC_LINKER64. * gcc/config/rs6000/sysv4.h (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER, LINUX_DYNAMIC_LINKER): Define. (LINK_OS_LINUX_SPEC): Use LINUX_DYNAMIC_LINKE. * gcc/config/s390/linux.h (GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64): Define. (LINK_SPEC): Use LINUX_DYNAMIC_LINKER32 and LINUX_DYNAMIC_LINKER64. * gcc/config/sh/linux.h (GLIBC_DYNAMIC_LINKER): Define. (SUBTARGET_LINK_SPEC): Use LINUX_DYNAMIC_LINKER. * gcc/config/sparc/linux.h (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER, LINUX_DYNAMIC_LINKER): Define. (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. (TARGET_C99_FUNCTIONS): Define to TARGET_GLIBC. * gcc/config/sparc/linux64.h (GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64, CHOOSE_DYNAMIC_LINKER, LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Define. (LINK_ARCH32_SPEC): Use LINUX_DYNAMIC_LINKER32. (LINK_ARCH64_SPEC, LINK_SPEC): Use LINUX_DYNAMIC_LINKER64. (TARGET_C99_FUNCTIONS): Define to TARGET_GLIBC. * gcc/config/xtensa/linux.h (GLIBC_DYNAMIC_LINKER): Define. (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. * gcc/doc/invoke.texi (-muclibc): Remove caveat about supported targets. * gcc/testsuite/gcc.dg/glibc-uclibc-1.c, gcc/testsuite/gcc.dg/glibc-uclibc-2.c: New tests. 2006-02-16 Joseph S. Myers PR libstdc++/14939 PR target/20353 PR target/24578 PR target/24837 * gcc/config/linux.opt: New file. * gcc/config/linux.h (CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, LINUX_DYNAMIC_LINKER): Define. (TARGET_C99_FUNCTIONS): Define depending on TARGET_GLIBC. * gcc/config.gcc (*-*-linux*): Define extra_options. (*-*-*uclibc*): Define UCLIBC_DEFAULT. (arm*-*-linux-gnueabi): Change to arm*-*-linux-*eabi. * gcc/config/arm/linux-eabi.h (LINUX_TARGET_INTERPRETER): Change to GLIBC_DYNAMIC_LINKER. * gcc/config/arm/linux-elf.h (LINUX_TARGET_INTERPRETER): Likewise. (LINUX_TARGET_LINK_SPEC): Use LINUX_DYNAMIC_LINKER. * gcc/config/mips/linux.h (GLIBC_DYNAMIC_LINKER): Define. (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. * gcc/doc/invoke.texi (GNU/Linux Options): New section. * gcc/testsuite/gcc.dg/builtins-config.h (HAVE_C99_RUNTIME): Don't define if __UCLIBC__ is defined. * libstdc++-v3/config/os/uclibc/ctype_base.h, libstdc++-v3/config/os/uclibc/ctype_inline.h, libstdc++-v3/config/os/uclibc/ctype_noninline.h, libstdc++-v3/config/os/uclibc/os_defines.h: New. * libstdc++-v3/acinclude.m4 (GLIBCXX_CONFIGURE): Test whether using uClibc. * libstdc++-v3/configure.host: Use os/uclibc for uClibc. * libstdc++-v3/crossconfig.m4 (*-linux*): Use link tests. Don't hardcode presence of math functions. * libstdc++-v3/configure: Regenerate. 2005-02-16 Paul Brook * reload1.c (emit_reload_insns): Invalidate dead input registers used for reloads. 2006-02-01 Paul Brook Backport form mainline. * gcc/function.c (assign_parm_setup_reg): Use function argument promotion rules. * gcc/expr.c (expand_expr_real_1): Use function argument promotion rules for PARM_DECLs. 2006-01-27 Paul Brook * version.c: Mark as CodeSourcery build. 2006-01-24 Joseph Myers Backport from mainline. 2006-01-23 Adam Nemet * fix-header.c (read_scan_file): Add new parameter imultilib when calling register_include_chains. 2006-01-23 Julian Brown Backport from mainline. 2006-01-23 Kazu Hirata PR testsuite/25590 * gcc/testsuite/gcc.dg/tree-ssa/gen-vect-11.c: Add -fwrapv. 2006-01-20 Paul Brook Merge from csl-arm-branch. 2005-09-21 Kazu Hirata * gcc/config/arm/arm.md (movdi): Force operands[1] to a register if we have a non-register source. (*arm_movdi, *movdf_soft_insn): Require that one of the operands be a register. * gcc/config/arm/iwmmxt.md (*iwmmxt_arm_movdi): Likewise. * gcc/config/arm/vfp.md (*arm_movdi_vfp, *movdf_vfp): Likewise. 2006-01-20 Joseph S. Myers PR libstdc++/25524 * gcc/cppdefault.h (struct default_include): Add multilib flag. * gcc/cppdefault.c (cpp_include_defaults): Set it. * gcc/c.opt (-imultilib): New option. * gcc/c-opts.c (imultilib): New. (c_common_handle_option): Handle -imultilib. (c_common_post_options): Likewise. * gcc/c-incpath.c (add_standard_paths, register_include_chains): Likewise. * gcc/c-incpath.h (register_include_chains): Add extra parameter. * gcc/gcc.c (do_spec_1): Generate -imultilib option. (The Specs Language): Update %I description. (process_command): Update copyright notice. * gcc/doc/cppopts.texi (-imultilib): Document. * gcc/doc/invoke.texi (-imultilib): Include in option summary. (%I): Update specs documentation. * libstdc++-v3/include/Makefile.am: Install host-specific headers in multilib subdirectory. * libstdc++-v3/include/Makefile.in: Regenerate. 2006-01-20 Julian Brown Merge from csl-gxxpro-3_4-branch. 2005-11-28 Mark Mitchell Backport: 2004-10-28 Pascal Obry * unwind-dw2-fde.c: Import from MingW build for ZCX support. * unwind-sjlj.c: Idem. * config/i386/cygming.h: Idem. * config/i386/mingw32.h: Idem. * config/i386/t-cygming: Idem. * config/i386/t-mingw32: Idem. * config/i386/win32-ehfb.c: New file to support unwinding through signals on Windows. Provides support for ZCX on Windows platforms. This set of patch comes from the MingW compiler (Danny Smith) adapted and enhanced to support unwinding through signals for example. 2005-07-29 Pascal Obry Support for crtbegin/crtend.o on MingW. * config.gcc: Add crtbegin.o and crtend.o as extra_parts on MingW. * crtstuff.c: Add support for MingW. Provides support for ZCX on Windows platforms. This set of patch comes from the MingW compiler (Danny Smith) adapted to GCC 3.4. 2006-01-20 Julian Brown Backport from mainline. 2006-01-02 Mark Mitchell * libstdc++-v3/src/Makefile.am (LTLDFLAGS): New variable. (CXXLINK): Use LTLDFLAGS. * libstdc++-v3/src/Makefile.in: Regenerated. * libstdc++-v3/libsupc++/Makefile.am (LTLDFLAGS): New variable. (CXXLINK): Use LTLDFLAGS. * libstdc++-v3/libsupc++/Makefile.in: Regenerated. 2006-01-02 Mark Mitchell * libtool-ldflags: New script. 2006-01-20 Julian Brown Merge from csl-gxxpro-3_4-branch: 2005-09-14 Mark Mitchell * gcc/config/vx-common.h (DBX_DEBUGGING_INFO): Define to 1. 2006-01-20 Julian Brown Backport from mainline. 2005-11-23 Mark Mitchell * gcc/doc/invoke.texi: For man pages, include gcc-vers.texi. List @file in the option summary. Include the libiberty documentation for @file. * gcc/gcc.c (main): Call expandargv. * gcc/Makefile.in (gcc-vers.texi): Define srcdir. 2005-11-23 Mark Mitchell * maintainer-scripts/update_web_docs_svn: Set @srcdir in gcc-vers.texi. 2006-01-20 Paul Brook Merge from csl-arm-branch. 2005-10-20 Paul Brook * config/arm/arm.c (arm_default_cpu): New. (arm_override_options): Set arm_default_cpu. (arm_file_start): Output EABI attribute directives. 2006-01-20 Paul Brook Merge from csl-arm-branch. 2005-10-20 Paul Brook * config/arm/arm.c (arm_elf_asm_constructor): Remove ATTRIBUTE_UNUSED from priority argument. Use different section names for non-default priority. * config/arm/elf.h: Remove definition of SUPPORTS_INIT_PRIORITY. 2006-01-18 Paul Brook Merge from csl-arm-branch. 2005-03-14 Julian Brown * gcc/config/arm/lib1funcs.asm (ashldi3): Don't define on SymbianOS. (aeabi_llsl): Likewise. (ashrdi3): Likewise. (aeabi_lasr): Likewise. (lshrdi3): Likewise. (aeabi_llsr): Likewise. 2005-03-10 Julian Brown * gcc/config.gcc: Disable shared libgcc for SymbianOS. * gcc/config/arm/t-symbian (LIB2ADDEH): Include config/arm/pr-support.c. 2006-01-18 Paul Brook Merge from csl-arm-branch 2005-03-10 Julian Brown * libstdc++configure.ac (LIBSUPCXX_PRONLY): New AM_CONDITIONAL: yes if we are compiling for SymbianOS on ARM. * libstdc++include/Makefile.am: Don't install C++ headers if LIBSUPCXX_PRONLY is true. * libstdc++libsupc++/Makefile.am: Include only eh_personality.cc in libsupc++ if LIBSUPCXX_PRONLY is true. * libstdc++Makefile.in: Regenerate. * libstdc++configure: Regenerate. * libstdc++include/Makefile.in: Regenerate. * libstdc++libmath/Makefile.in: Regenerate. * libstdc++libsupc++/Makefile.in: Regenerate. * libstdc++po/Makefile.in: Regenerate. * libstdc++src/Makefile.in: Regenerate. * libstdc++testsuite/Makefile.in: Regenerate. 2005-01-17 Paul Brook Backport from mainline. 2005-12-13 Carlos O'Donell * gcc/c-cppbuiltin.c (builtin_define_float_constants): Add fp_cast parameter, pass to builtin_define_with_hex_fp_value. Define __FLT_HAS_DENORM__, __DBL_HAS_DENORM__, __LDBL_HAS_DENORM__. (builtin_define_with_hex_fp_value): Use fp_cast when building macro. (c_cpp_builtins): If flag_single_precision_constant then set fp_cast to "((double)%sL)" otherwise "%s". * gcc/testsuite/gcc.dg/single-precision-constant.c: New test. * libstdc++-v3/include/std/std_limits.h (struct numeric_limits): Use __DBL_HAS_DENORM__, __FLT_HAS_DENORM__, __LDBL_HAS_DENORM__. 2005-01-17 Paul Brook Backport from mainline. 2005-12-15 Richard Sandiford * gcc/config/arm/predicates.md (call_memory_operand): New. * gcc/config/arm/arm.md (*call_mem, *call_value_mem): Use it. * gcc/testsuite/gcc.dg/20051215-1.c: New file. * gcc/config/arm/arm.md: Provide a big-endian version of the (zero_extend:SI (subreg:QI ...)) splitter. 2006-01-16 Paul Brook * config/m68k/m68k.c (output_move_const_into_data_reg): Output correct mnemonic for mvz and mvs. 2006-01-03 Paul Brook * config/m68k/m68k.c (m68k_output_mi_thunk): Use jmp, not jsr. 2005-12-30 Paul Brook * config/m68k/m68k.md: Convert define_peephole to define_peephole2. (UNSPEC_MOVEQ_MEM): New constant. (movsi_smallconst): New pattern. * config/m68k/m68k.h (HARD_FP_REG_P): Define. 2005-12-30 Paul Brook PR target/23482 * doc/md.texi: Document m68k Q, S, T and U constraints. * config/m68k/m68k.h (EXTRA_CONSTRAINTS): Restrict U to 16-bit offsets. 2005-12-29 Paul Brook * config/m68k/m68k.h (RETURN_ADDR_RTX): Define. * config/m68k/m68k.c (m68k_initial_elimination_offset): Remove FIXME. Include offset due to FIRST_PARM_OFFSET. 2005-12-29 Paul Brook * config/m68k/lb1sf68.asm (__cmpdf2): Fix typo in immediate mask. Create wrapper and rename body... (__cmpdf2_internal): ... to this. Return correct value for unordered result. (__cmpsf2): Create wrapper and rename body... (__cmpsf2_internal): ... to this. Return corerct value for unordered result. (__eqdf2, __nedf2, __gtdf2, __gedf2, __ltdf2, __ledf2): Use __cmpdf2_internal. (__eqsf2, __nesf2, __gtsf2, __gesf2, __ltsf2, __lesf2): Use __cmpsf2_internal. 2005-12-29 Paul Brook * config/m68k/fpgnulib.c (__extendsfdf2): Handle negative zero. (__truncdfsf2): Ditto. (__extenddfxf2): Ditto. (__truncxfdf2): Ditto. * config/m68k/lb1sf68.asm (__addsf3): Return -0.0 for -0.0 + -0.0. (__adddf3): Ditto. 2005-12-29 Daniel Jacobowitz Paul Brook * gcc/config/m68k/m68k.c (m68k_output_pic_call): Don't use bsr.l for !TARGET_68020. * gcc/config/m68k/t-m68kelf (EXTRA_PARTS): Remove. (EXTRA_MULTILIB_PARTS): Set. * gcc/config/m68k/t-uclinux (EXTRA_PARTS): Remove. (EXTRA_MULTILIB_PARTS): Set. 2005-12-21 Paul Brook * gcc/testsuite/gcc.dg/pr19340.c: Skip on m68k targets. 2005-12-20 Paul Brook * gcc/testsuite/lib/target-supports.exp (check_profiling_available): Add m68k-*-elf. 2005-12-17 Paul Brook * gcc/config/m68k/m68k.md (m68k_output_function_prologue): Always call dwarf2out_def_cfa. Only add space for frame pointer to cfa_offset when frame_pointer_needed. 2005-12-02 Paul Brook * config/m68k/fpgnulib.c (__unordsf2, __unorddf2, __unordxf2, __floatunsidf, __floatunsisf, __floatunsixf): New functions. 2005-11-28 Paul Brook * config.gcc: Don't use fixproto on m68k-elf.