aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc
AgeCommit message (Collapse)Author
2006-10-30 gcc/Julian Brown
* 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. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/csl/sourcerygxx-4_1@118172 138bc75d-0d04-0410-961f-82ee72b054a4
2006-10-30 gcc/Julian Brown
* 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<mode>): Turn into expander, and rename previous version to... (neon_vbsl<mode>_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. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/csl/sourcerygxx-4_1@118167 138bc75d-0d04-0410-961f-82ee72b054a4
2006-10-29 gcc/Mark Shinwell
* config/arm/arm.c (arm_print_operand): Handle new 't' case. (neon_itype): Add NEON_LANEMUL{L,H} and NEON_SCALARMULH cases. (neon_builtin_data): Add vmull_lane, vqdmull_n, vqdmull_lane, vqdmulh_n and vqdmulh_lane entries. (arm_init_neon_builtins): Add two TYPE5 entries. Handle NEON_LANEMULL, NEON_LANEMULLH and NEON_SCALARMULH cases. (arm_expand_neon_builtin): Handle NEON_LANEMULL, NEON_LANEMULLH and NEON_SCALARMULH cases. * config/arm/neon.md: Add UNSPEC_VMULL_LANE, UNSPEC_VQDMULL_LANE and UNSPEC_VQDMULH_LANE unspec identifiers. Use %t not %T when dealing with vget_lane cases on polynomial vectors. Add expanders and instruction definitions for neon_vqdmull_lane, neon_vqdmulh_lane, neon_vqdmull_n and neon_vqdmulh_n. * config/arm/neon.ml (opcode): Add Vmull_lane, Vqdmull_n, Vqdmull_lane, Vqdmulh_n and Vqdmulh_lane constructors. (features): Add Const_valuator constructor. (get_lane): New function. (ops): Use Const_valuator in cases where the test generator must use constants other than the default. Add entries for Vmull_lane, Vqdmull_n, Vqdmull_lane, Vqdmulh_n and Vqdmulh_lane. * config/arm/neon-testgen.ml (emit_call): Add const_valuator argument and use it. Emit 1 as the default constant rather than 0. (analyze_shape): Relax regexps for Element_of_dreg and Element_of_qreg. (test_intrinsic): Extract any Const_valuator functions from feature lists; pass to emit_call. * config/arm/neon-docgen.ml (intrinsic_groups): Add entries for Vmull_lane, Vqdmull_n, Vqdmull_lane, Vqdmulh_n and Vqdmulh_lane. * config/arm/arm_neon.h: Regenerate. * doc/arm-neon-intrinsics.texi: Regenerate. gcc/testsuite/ * gcc.target/arm/neon/*.c: Regenerate. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/csl/sourcerygxx-4_1@118157 138bc75d-0d04-0410-961f-82ee72b054a4
2006-10-27 gcc/Mark Shinwell
* 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<mode>"): New. (define_expand "neon_vmull_n<mode>"): 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. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/csl/sourcerygxx-4_1@118081 138bc75d-0d04-0410-961f-82ee72b054a4
2006-10-11 Backport:Joseph Myers
2005-11-22 Joseph S. Myers <joseph@codesourcery.com> * 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 <joseph@codesourcery.com> * gcc.c-torture/execute/floatunsisf-1.c: New test. 2005-11-25 Joseph S. Myers <joseph@codesourcery.com> * config/rs6000/rs6000.c (rs6000_init_libfuncs): Use _q_utoq for unsigned conversions from SImode to TFmode. 2005-11-25 Alan Modra <amodra@bigpond.net.au> * config/rs6000/ppc64-fp.c (__floatunditf): New function. (__floatundidf, __floatundisf): Likewise. 2005-11-25 Joseph S. Myers <joseph@codesourcery.com> * 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 <joseph@codesourcery.com> * 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 <joseph@codesourcery.com> * 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 <joseph@codesourcery.com> * 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 <joseph@codesourcery.com> * config/fp-bit.c (isnan, isinf, pack_d, unpack_d): Use __builtin_expect. 2005-11-29 Joseph S. Myers <joseph@codesourcery.com> * 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 <dave.anglin@nrc-cnrc.gc.ca> * 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 <joseph@codesourcery.com> * 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 <joseph@codesourcery.com> * 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 <joseph@codesourcery.com> * gcc.dg/torture/fp-int-convert-timode.c: Only XFAIL for LP64 IA64 HP-UX. 2005-12-21 Joseph S. Myers <joseph@codesourcery.com> * config/arm/t-arm-elf (LIB1ASMFUNCS): Add _floatundidf and _floatundisf. 2005-12-28 Alan Modra <amodra@bigpond.net.au> * 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 <rearnsha@arm.com> * arm/t-netbsd (LIB2FUNCS_EXTRA): Define. 2006-01-20 Alan Modra <amodra@bigpond.net.au> * 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 <joseph@codesourcery.com> * 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. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/csl/sourcerygxx-4_1@117624 138bc75d-0d04-0410-961f-82ee72b054a4
2006-10-04 gcc/Joseph Myers
* 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 <jh@suse.cz> H.J. Lu <hongjiu.lu@intel.com> Evandro Menezes <evandro.menezes@amd.com> * 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 <jh@suse.cz> * i386.h (TARGET_DECOMPOSE_LEA): Kill. * i386.c (x86_decompose_lea): Kill. (ix86_rtx_costs): Kill. 2006-01-19 Jan Hubicka <jh@suse.cz> * i386.c (*_cost): Add COSTS_N_INSNS. (ix86_rtx_costs): Do not use COSTS_N_INSNS. 2006-01-19 Jan Hubicka <jh@suse.cz> * gcc.target/i386/lea.c: Test pentiumpro, not i686. 2006-07-05 H.J. Lu <hongjiu.lu@intel.com> * config.gcc: Check with_cpu for i[34567]86-*-solaris2.1[0-9]*. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/csl/sourcerygxx-4_1@117432 138bc75d-0d04-0410-961f-82ee72b054a4
2006-10-03 gcc/Joseph Myers
* 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. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/csl/sourcerygxx-4_1@117416 138bc75d-0d04-0410-961f-82ee72b054a4
2006-09-29 gcc/csl/sourcerygxx/4.1-22csl/sourcerygxx/4.1-21csl/arm/2006q3-21Joseph Myers
* doc/extend.texi (ARM NEON Intrinsics): Note that only intrinsics not the underlying built-in functions are supported. Document types used. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/csl/sourcerygxx-4_1@117322 138bc75d-0d04-0410-961f-82ee72b054a4
2006-09-29 * Merge from CSL arm-neon-4_1 branch, revision 150297.Julian Brown
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/csl/sourcerygxx-4_1@117316 138bc75d-0d04-0410-961f-82ee72b054a4
2006-09-18 gcc/Nathan Sidwell
* 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. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/csl/sourcerygxx-4_1@117023 138bc75d-0d04-0410-961f-82ee72b054a4
2006-07-13Merge from gcc-4_1-branch revision 114100 (gcc-4_1_1-release)Paul Brook
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/csl/sourcerygxx-4_1@115418 138bc75d-0d04-0410-961f-82ee72b054a4
2006-06-21Merge from csl/coldfire-4_1 branch, revision 114848Richard Sandiford
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/csl/sourcerygxx-4_1@114850 138bc75d-0d04-0410-961f-82ee72b054a4
2006-05-06 * configure.in: Do not mangle arguments like "--with-foo=A B C" whenMark Mitchell
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. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/csl/sourcerygxx-4_1@113574 138bc75d-0d04-0410-961f-82ee72b054a4
2006-05-03Merge from branches/csl/arm-4_1 r113476.Paul Brook
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/csl/sourcerygxx-4_1@113501 138bc75d-0d04-0410-961f-82ee72b054a4
2006-03-282006-03-28 Paul Brook <paul@codesourcery.com>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. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/csl/sourcerygxx-4_1@112460 138bc75d-0d04-0410-961f-82ee72b054a4
2006-03-172006-03-17 Carlos O'Donell <carlos@codesourcery.com>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. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/csl/sourcerygxx-4_1@112181 138bc75d-0d04-0410-961f-82ee72b054a4
2006-03-02Merge from gcc-4_1-branch revision 111560 (gcc-4_1_0-release)Paul Brook
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/csl/sourcerygxx-4_1@111645 138bc75d-0d04-0410-961f-82ee72b054a4
2006-02-18 PR target/24837Joseph Myers
* 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. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/csl/sourcerygxx-4_1@111236 138bc75d-0d04-0410-961f-82ee72b054a4
2006-02-16 PR libstdc++/14939Joseph Myers
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. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/csl/sourcerygxx-4_1@111161 138bc75d-0d04-0410-961f-82ee72b054a4
2006-02-08Merge from gcc-4_1-branch revision 110478.Paul Brook
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/csl/sourcerygxx-4_1@110766 138bc75d-0d04-0410-961f-82ee72b054a4
2006-01-20 PR libstdc++/25524Joseph Myers
* 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. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/csl/sourcerygxx-4_1@110038 138bc75d-0d04-0410-961f-82ee72b054a4
2006-01-20 Backport from mainline.Julian Brown
2005-11-23 Mark Mitchell <mark@codesourcery.com> * 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 <mark@codesourcery.com> * maintainer-scripts/update_web_docs_svn: Set @srcdir in gcc-vers.texi. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/csl/sourcerygxx-4_1@110032 138bc75d-0d04-0410-961f-82ee72b054a4
2006-01-17Merge from gcc-4_1-branch revision 109820.Paul Brook
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/csl/sourcerygxx-4_1@109825 138bc75d-0d04-0410-961f-82ee72b054a4
2005-12-302005-12-30 Paul Brook <paul@codesourcery.com>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. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/csl/coldfire-4_1@109164 138bc75d-0d04-0410-961f-82ee72b054a4
2005-11-18* config/rs6000/rs6000.h (ASM_OUTPUT_WEAKREF): Define.Alexandre Oliva
* defaults.h (ASM_OUTPUT_WEAKREF): Add decl argument. * varasm.c (do_assemble_alias): Adjust call. (weak_finish): Don't use ASM_WEAKEN_LABEL if ASM_WEAKEN_DECL is defined. * doc/tm.texi (ASM_OUTPUT_WEAKREF): Document it. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@107156 138bc75d-0d04-0410-961f-82ee72b054a4
2005-11-18 * dwarf2out.c (dw_cfi_oprnd_struct): Reduce dw_cfi_reg_num to int.Richard Henderson
(lookup_cfa_1): Apply data alignment to DW_CFA_def_cfa_offset_sf and DW_CFA_def_cfa_sf. (def_cfa_1): Use DW_CFA_def_cfa_offset_sf with negative values. (dbx_reg_number): Don't assert particular registers here. (based_loc_descr): ... do it here instead. Fold in ... (eliminate_reg_to_offset): ... this function. (compute_frame_pointer_to_cfa_displacement): Fold in the effects of eliminate_reg_to_offset; use FRAME_POINTER_CFA_OFFSET. * unwind-dw2.c (execute_cfa_program): Apply data align factor to DW_CFA_def_cfa_offset_sf and DW_CFA_def_cfa_sf. * function.c (instantiate_new_reg): Use FRAME_POINTER_CFA_OFFSET. (instantiate_virtual_regs): Likewise. * var-tracking.c (adjust_stack_reference): Likewise. * doc/tm.texi (FRAME_POINTER_CFA_OFFSET): New. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@107154 138bc75d-0d04-0410-961f-82ee72b054a4
2005-11-16 PR 24357Tobias Schl"uter
* doc/invoke.texi: Distinguish between free and fixed form instead of Fortran and Fortran 90/95. Remove ratfor from the list of supported languages. * gcc.c (default_compilers): Remove double entries, add entries for suffixes '.F90' and '.F95'. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@107078 138bc75d-0d04-0410-961f-82ee72b054a4
2005-11-15Fix typoMike Stump
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@107039 138bc75d-0d04-0410-961f-82ee72b054a4
2005-11-15 * invoke.texi (large-unit-insns): Document.Jan Hubicka
* ipa-inline.c (cgraph_decide_inlining): Use large-unit-insns param. * params.def (large-unit-insns): New param. * gcc.dg/winline-5.c: Add large-unit-insns limit. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@106948 138bc75d-0d04-0410-961f-82ee72b054a4
2005-11-15 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mmfcrf,David Edelsohn
-mpopcntb, -mfprnd. Add -mcpu=power5+. * configure.ac: Add test for FP rounding instructions. * configure: Regenerate. * config.in: Regenerate. * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define _ARCH_PPCSQ, _ARCH_PPCGR, _ARCH_PWR4, _ARCH_PWR5, _ARCH_PWR5X if features enabled. * config/rs6000/rs6000.opt (mfprnd): New. * config/rs6000/rs6000.c (processor_target_table): Add power5+. (POWERPC_MASKS): Add MASK_POPCNTB and MASK_FPRND. * config/rs6000/aix52.h (ASM_CPU_SPEC): Add -mpower5+. * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -mpower5+. (TARGET_FPRND): New. * config/rs6000/rs6000.md (UNSPEC_FRIM, UNSPEC_FRIN, UNSPEC_FRIP, UNSPEC_FRIZ): New. (btrunc<mode>2): New. (ceil<mode>2): New. (floor<mode>2): New. (round<mode>2): New. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@106938 138bc75d-0d04-0410-961f-82ee72b054a4
2005-11-15 * config/i386/i386.c (override_options): -masm=intel isn'tMike Stump
supported on darwin. * doc/invoke.texi (i386 and x86-64 Options): Likewise. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@106927 138bc75d-0d04-0410-961f-82ee72b054a4
2005-11-11 PR 24644David Edelsohn
* common.opt (Wvolatile-register-var): New. * varasm.c (make_decl_rtl): Only emit warning when option specified. Clarify warning message. * doc/invoke.texi (Wvolatile-register-var): Document new option. * doc/md.texi (copysign): Document standard named pattern. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@106791 138bc75d-0d04-0410-961f-82ee72b054a4
2005-11-09PR other/4372Alexandre Oliva
* tree.h (IDENTIFIER_TRANSPARENT_ALIAS): New. (TREE_DEPRECATED): Adjust comment. Check for a DECL. * c-common.c (handle_weakref_attribute): New. (c_common_attribute_table): Add weakref. * configure.ac (HAVE_GAS_WEAKREF): Check for weakref support in the assembler. * configure, config.in: Rebuilt. * defaults.h (ASM_OUTPUT_WEAKREF): Define if HAVE_GAS_WEAKREF. * doc/extend.texi: Document weakref attribute. * varasm.c (ultimate_transparent_alias_target): New (assemble_name): Use it. (weak_finish_1): Split out of... (weak_finish): ... and deal with weakrefs in... (weakref_targets): ... new list. (globalize_decl): Clean up weakref_targets. (do_assemble_alias): Handle weakrefs. (finish_aliases_1): Do not reject weakrefs to external symbols. (assemble_alias): Handle weakrefs. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@106703 138bc75d-0d04-0410-961f-82ee72b054a4
2005-11-07 * expmed.c (extract_bit_field): Do not use insv/extv/extzv patternsEric Botcazou
if the bitsize is zero. * doc/md.texi (Standard Pattern Names): Document it. * config/ia64/ia64.c (ia64_pass_by_reference): Delete. (TARGET_PASS_BY_REFERENCE): Likewise. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@106605 138bc75d-0d04-0410-961f-82ee72b054a4
2005-11-05 * c-typeck.c, config/i386/netware.h, config/m32c/cond.md,Kazu Hirata
config/ms1/ms1.h, config/rs6000/predicates.md, config/s390/s390.c, params.def, postreload-gcse.c, tree-flow-inline.h, tree-ssa-operands.c, tree-vectorizer.c, tree-vrp.c, tree.c: Fix comment typos. * doc/invoke.texi: Fix typos. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@106532 138bc75d-0d04-0410-961f-82ee72b054a4
2005-11-05 PR rtl-optimization/23490Jan Hubicka
* doc/invoke.texi (max-predicted-iterations, max-cse-insns, max-flow-memory-location): Document. * flow.c: Include params.h (MAX_MEM_SET_LIST_LEN): Kill. (add_to_mem_set_list): Use new param. * cse.c (cse_basic_block): Replace 1000 by new param. * params.def (PARAM_MAX_PREDICTED_ITERATIONS, PARAM_MAX_CSE_INSNS, PARAM_MAX_FLOW_MEMORY_LOCATIONS): New. * predict.c (predict_loops): Use new param. * predict.def (MAX_PRED_LOOP_ITERATIONS): Remove. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@106520 138bc75d-0d04-0410-961f-82ee72b054a4
2005-11-04 * doc/invoke.texi: Document max-jump-thread-duplication-stmts PARAM.Jeff Law
* tree-ssa-dom.c: Include params.h. (thread_across_edge): If there are too many statements in the target block, then do not thread through it. * Makefile.in (tree-ssa-dom.o): Depend on $(PARAMS_H). * params.def (PARAM_MAX_JUMP_THREAD_DUPLICATION_STMTS): New PARAM. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@106503 138bc75d-0d04-0410-961f-82ee72b054a4
2005-11-04 * configure.ac: Add test for ARM TLS support.Daniel Jacobowitz
* configure: Regenerated. * config/arm/arm-protos.h (legitimize_tls_address) (arm_tls_referenced_p, tls_mentioned_p) (arm_output_addr_const_extra): New prototypes. (thumb_legitimize_pic_address): Delete. * config/arm/arm.c: Include "gt-arm.h". (enum tls_reloc): New. (arm_cannot_copy_insn_p, arm_tls_symbol_p, load_tls_operand) (pcrel_constant_p, get_tls_get_addr, arm_load_tp) (arm_call_tls_get_addr, legitimize_tls_address) (arm_tls_referenced_p, arm_tls_operand_p_1, tls_mentioned_p) (arm_init_tls_builtins, arm_emit_tls_decoration) (arm_output_addr_const_extra): New functions. (TARGET_CANNOT_COPY_INSN_P, TARGET_CANNOT_FORCE_CONST_MEM) (TARGET_HAVE_TLS): Define. (target_thread_pointer): New. (arm_override_options): Handle -mtp=. (legitimize_pic_address): Ignore UNSPECs. (arm_legitimate_address_p, thumb_legitimate_address_p): Handle PC relative symbols. (arm_legitimize_address, thumb_legitimize_address): Handle TLS. (tls_get_addr_libfunc): New variable. (symbol_mentioned_p, label_mentioned_p): Ignore UNSPEC_TLS. (arm_init_builtins): Call arm_init_tls_builtins. (arm_expand_builtin): Handle ARM_BUILTIN_THREAD_POINTER. (arm_encode_section_info): Call default_encode_section_info. * config/arm/arm.h (TARGET_HARD_TP, TARGET_SOFT_TP): Define. (enum arm_tp_type): New. (target_thread_pointer): Add declaration. (LEGITIMATE_CONSTANT_P): Handle TLS. (LEGITIMATE_PIC_OPERAND_P): Handle TLS. (OUTPUT_ADDR_CONST_EXTRA): Call arm_output_addr_const_extra. (enum arm_builtins): Add ARM_BUILTIN_THREAD_POINTER. * config/arm/arm.md: Add UNSPEC_TLS. (movsi): Handle TLS. (pic_add_dot_plus_four, pic_add_dot_plus_eight): Allow for non-PIC. (tls_load_dot_plus_eight): New insn and a peephole to create it. (load_tp_hard, load_tp_soft): New insns. * arm.opt: Add -mtp=. * doc/invoke.texi (ARM Options): Document -mtp. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@106489 138bc75d-0d04-0410-961f-82ee72b054a4
2005-11-03 PR target/9350Richard Henderson
PR target/24374 * dwarf2out.c (dwarf2out_reg_save_reg): New. (dwarf2out_frame_debug_expr): Return after dwarf_handle_frame_unspec. * function.c (assign_parms): Use calls.internal_arg_pointer. (expand_main_function): Remove FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN code. * target-def.h (TARGET_INTERNAL_ARG_POINTER): New. (TARGET_CALLS): Add it. * target.h (struct gcc_target): Add calls.internal_arg_pointer. * targhooks.c (default_internal_arg_pointer): New. * targhooks.h (default_internal_arg_pointer): Declare. * tree.h (dwarf2out_reg_save_reg): Declare. * doc/tm.texi (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Remove. * config/i386/i386.c (dbx_register_map): Add return column. (dbx64_register_map, svr4_dbx_register_map): Likewise. (TARGET_INTERNAL_ARG_POINTER, ix86_internal_arg_pointer): New. (TARGET_DWARF_HANDLE_FRAME_UNSPEC, ix86_dwarf_handle_frame_unspec): New. (ix86_function_ok_for_sibcall): Disable if force_align_arg_pointer. (ix86_save_reg): Save force_align_arg_pointer. (ix86_emit_save_regs): Make regno unsigned. (ix86_emit_save_regs_using_mov): Likewise. (ix86_expand_prologue): Handle force_align_arg_pointer. (ix86_expand_epilogue): Likewise. * config/i386/i386.h: (dbx_register_map): Update. (dbx64_register_map, svr4_dbx_register_map): Update. (struct machine_function): Add force_align_arg_pointer. * config/i386/i386.md (UNSPEC_REG_SAVE, UNSPEC_DEF_CFA): New. (UNSPEC_TP, UNSPEC_TLS_GD, UNSPEC_TLS_LD_BASE): Renumber. (TARGET_PUSH_MEMORY peepholes): Disable if RTX_FRAME_RELATED_P. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@106420 138bc75d-0d04-0410-961f-82ee72b054a4
2005-10-24 * contrib.texi: Add the names of the LLNL folks who donatedSteven Bosscher
Cray pointer support for gfortran. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@105867 138bc75d-0d04-0410-961f-82ee72b054a4
2005-10-192005-10-19 Andreas Krebbel <krebbel1@de.ibm.com>Andreas Krebbel
* config/s390/s390.c (override_options): Added check for -mstack-size 64k limitation. * doc/invoke.texi: Mention that limit in the documenation. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@105609 138bc75d-0d04-0410-961f-82ee72b054a4
2005-10-17 PR target/23424Hans-Peter Nilsson
* md.texi (Modifiers) <%>: Clarify that % doesn't work after register allocation. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@105517 138bc75d-0d04-0410-961f-82ee72b054a4
2005-10-14Add missing docs for f95-cpp-input.James E. Wilson
* doc/invoke.texi: For -x, add f95-cpp-input. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@105388 138bc75d-0d04-0410-961f-82ee72b054a4
2005-10-14The language name changed from f95 to fortran last month.James E. Wilson
* doc/install.texi: For --enable-languages doc, change f95 to fortran. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@105387 138bc75d-0d04-0410-961f-82ee72b054a4
2005-10-12 PR c/24255Richard Henderson
* tree.h (DECL_TRANSPARENT_UNION): Remove. * function.c (assign_parm_find_data_types): Don't support it. * print-tree.c (print_node): Likewise. * c-common.c (handle_transparent_union_attribute): Likewise. Use build_duplicate_type. * tree-inline.c (remap_type_1): Split out of remap_type; properly remap aggregate fields. (build_duplicate_type): New. * doc/extend.texi (Variable Attributes): Remove documentation for transparent_union. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@105338 138bc75d-0d04-0410-961f-82ee72b054a4
2005-10-12 PR middle-end/21275Danny Smith
PR middle-end/21766 * target.h (struct gcc_target): Add valid_dllimport_attribute_p target hook. (struct cxx): Add adjust_class_at_definition target hook. * target-def.h: (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): New define, defaulting to hook_bool_tree_true. Add to TARGET_INITIALIZER (TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): New define, defaulting to hook_void_tree. Add to TARGET_CXX. * tree.h (struct decl_with_vis): Rename non_addr_const_p field to dllimport_flag. (DECL_NON_ADDR_CONSTANT_P): Replace with DECL_DLLIMPORT_P macro. * tree.c (merge_dllimport_decl_attributes): Check DECL_DLLIMPORT_P instead of attribute. Check for dllexport override. Warn if inconsistent dll linkage. Don't lose old dllimport if decl has had address referenced. Tweak lookup of dllimport atribute. (handle_dll_attribute): Check targetm.valid_dllimport_attribute_p for target specific rules. Don't add dllimport attribute if DECL_DECLARED_INLINE_P. Set DECL_DLLIMPORT_P when adding dllimport attribute. (staticp): Replace DECL_NON_ADDR_CONSTANT_P with DECL_DLLIMPORT_P. * varasm.c (initializer_constant_valid_p): Replace DECL_NON_ADDR_CONSTANT_P with DECL_DLLIMPORT_P PR target/21801 PR target/23589 * config.gcc (i[34567]86-*-cygwin*): Add winnt-cxx.o to 'cxx_target_objs', winnt-stubs,o to 'extra_objs'. (i[34567]86-*-mingw32*): Likewise. * doc/tm.texi (TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): Document. (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Document. * config/i386/winnt.c (i386_pe_dllimport_p): Factor out C++-specific code. Change return value to bool. (i386_pe_dllimport_p): Likewise. (associated_type): Simplify and make language-independent (i386_pe_encode_section_info): Replace override of ambiguous dllimport symbol refs with a gcc_assert. (i386_pe_valid_dllimport_attribute_p): Define. * config/i386/winnt-cxx.c: New file. Define C++ versions of i386_pe_type_dllimport_p, i386_pe_type_dllexport_p, i386_pe_adjust_class_at_definition. * config/i386/winnt-stubs.c: New file. Define stub versions of lang-specific functions. * config/i386/i386-protos.h: Declare winnt-[cxx|stubs].c functions i386_pe_type_dllimport_p, i386_pe_type_dllexport_p, i386_pe_adjust_class_at_definition. (i386_pe_valid_dllimport_attribute_p): Declare. * config/i386/cygming.h (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Define. (TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): Define. * config/i386/t-cygming: Add rules for winnt-cxx.o, winnt-stubs.o. PR target/19704 * config/i386/i386.c (ix86_function_ok_for_sibcall): Replace test for dllimport attribute with test of DECL_DLLIMPORT_P. cp PR target/21801 PR target/23589 * class.c (finish_struct_1): Call targetm.cxx.adjust_class_at_definition. testsuite * gcc.dg/dll-2.c: Add tests for warnings. * gcc.dg/dll-3.c: Likewise. * gcc.dg/dll-4.c: Likewise. * g++.dg/ext/dllimport1.C: Adjust tests for warnings. * g++.dg/ext/dllimport2.C: Likewise. * g++.dg/ext/dllimport3.C: Likewise. * g++.dg/ext/dllimport7.C: Likewise. * g++.dg/ext/dllimport8.C: Likewise. * g++.dg/ext/dllimport9.C: Likewise. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@105332 138bc75d-0d04-0410-961f-82ee72b054a4
2005-10-10 PR target/12098Steve Ellcey
* configure.ac: Move gas check from mips specific case to common case. Do check for GNU as for mips*-*-* and *-*-hpux* targets. * configure: Regenerate * doc/install.texi: Update. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@105200 138bc75d-0d04-0410-961f-82ee72b054a4
2005-10-08/Kazu Hirata
* configure.in (arm-*-linux-gnueabi): Add to noconfigdirs target-libffi, target-qthreads, target-libjava, and targetlibobjc. * configure: Regenerate. gcc/ Merge from csl-arm-branch: 2005-09-07 Paul Brook <paul@codesourcery.com> * config/arm/linux-eabi.h (SUBTARGET_EXTRA_LINK_SPEC): Prepend a space to string. 2005-04-30 Paul Brook <paul@codesourcery.com> * config/arm/bpabi.h (TARGET_DEFAULT): Define. * config/arm/linux-eabi.h (SUBTARGET_CPU_DEFAULT): Define. 2005-03-07 Daniel Jacobowitz <dan@codesourcery.com> * config/arm/arm.c (arm_all_abis): Add aapcs-linux. (arm_override_options): Use TARGET_AAPCS_BASED. * config/arm/arm.h (enum arm_abi_type): Add ARM_ABI_AAPCS_LINUX. (PTRDIFF_TYPE): Use int for AAPCS. (DEFAULT_SHORT_ENUMS): Use false for aapcs-linux. * config/arm/linux-eabi.h (ARM_DEFAULT_ABI, WCHAR_TYPE): Define. (DEFAULT_SHORT_ENUMS): Delete. * doc/invoke.texi (ARM Options): Document -mabi=aapcs-linux. 2004-12-15 Daniel Jacobowitz <dan@codesourcery.com> * config/arm/arm.h (DEFAULT_SHORT_ENUMS): Wrap in #ifndef. * config/arm/linux-eabi.h (DEFAULT_SHORT_ENUMS): Define to 0. * config/arm/t-linux-eabi (TARGET_LIBGCC2_CFLAGS): Set to -fPIC. 2004-12-03 Mark Mitchell <mark@codesourcery.com> * config/arm/linux-eabi.h (LIBGCC_SPEC): Do not define. 2004-11-22 Mark Mitchell <mark@codesourcery.com> * config.gcc (arm*-*-linux-gnueabi): Use __cxa_atexit. 2004-11-19 Mark Mitchell <mark@codesourcery.com> * config.gcc (arm*-*-linux-gnueabi): Add it. * config/arm/bpabi.h (FPUTYPE_DEFAULT): Undefine it before redefining it. (TARGET_OS_CPP_BUILTINS): Likeiwse. * config/arm/linux-eabi.h: New file. * config/arm/linux-elf.h (LINUX_TARGET_INTERPRETER): New macro. (LINUX_TARET_LINK_SPEC): Likewise. (LINK_SPEC): Use it. * config/arm/t-linux-eabi: New file. libcpp/ * configure.ac: Require 64-bit int for arm*-*-*eabi*. * configure: Regenerate. libstdc++/ Merge from csl-arm-branch: 2004-12-15 Daniel Jacobowitz <dan@codesourcery.com> * libstdc++-v3/config/linker-map.gnu: Add ARM EABI symbols. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@105121 138bc75d-0d04-0410-961f-82ee72b054a4
2005-10-07Fix typo in docs.James E. Wilson
PR target/23644 * doc/invoke.texi (IA-64 Options, item -mtune): Renamed from -mtune-arch. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@105105 138bc75d-0d04-0410-961f-82ee72b054a4
2005-10-062005-10-05 Eric Christopher <echristo@apple.com>Eric Christopher
* doc/md.texi (Standard Names): Fix name of pushm1 pattern. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@105023 138bc75d-0d04-0410-961f-82ee72b054a4