aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@codesourcery.com>2006-05-12 17:10:58 +0000
committerNathan Sidwell <nathan@codesourcery.com>2006-05-12 17:10:58 +0000
commite77e490a1b9d366d91b3e2fbdbc30dc5ae412b9a (patch)
tree283a6226b6a90cdd2658b8453cb2936b2e1d87f8
parenta3de9d53b8c199507e43a6a086f2d3c37eac5bff (diff)
* Merge from csl/sourcerygxx-4_1 version 113722
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/csl/arm-4_1@113726 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--ChangeLog.csl391
-rwxr-xr-xconfigure287
-rw-r--r--configure.in91
-rw-r--r--gcc/Makefile.in5
-rw-r--r--gcc/config/arm/arm.c2
-rw-r--r--gcc/config/mips/mips.c14
-rwxr-xr-xgcc/configure46
-rw-r--r--gcc/configure.ac28
-rw-r--r--gcc/doc/install.texi24
-rw-r--r--gcc/testsuite/g++.dg/eh/simd-2.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/altivec-1.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/altivec-10.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/altivec-11.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/altivec-12.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/altivec-13.C4
-rw-r--r--gcc/testsuite/g++.dg/ext/altivec-2.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/altivec-3.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/altivec-4.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/altivec-5.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/altivec-6.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/altivec-7.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/altivec-8.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/altivec-9.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/altivec-types-1.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/altivec-types-2.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/altivec-types-3.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/altivec-types-4.C1
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/loop-2f.x2
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/loop-2g.x2
-rw-r--r--gcc/testsuite/gcc.dg/20020103-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/simd-3.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-82_64.c4
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-83_64.c4
-rw-r--r--gcc/testsuite/gcc.dg/vmx/vmx.exp11
-rw-r--r--gcc/testsuite/gcc.target/arm/arm.exp2
-rw-r--r--gcc/testsuite/gcc.target/mips/pr26765.c13
-rw-r--r--gcc/testsuite/gcc.target/powerpc/980827-1.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-1.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-10.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-11.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-12.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-13.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-14.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-15.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-16.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-17.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-18.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-19.c1
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-2.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-21.c1
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-22.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-3.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-4.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-5.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-6.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-7.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-8.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-9.c1
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-consts.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-pr22085.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-splat.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-types-1.c1
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-types-2.c1
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-types-3.c1
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-types-4.c1
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-varargs-1.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-vec-merge.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/ppc-vector-memcpy.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/ppc-vector-memset.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/ppc64-abi-2.c3
-rw-r--r--gcc/testsuite/gcc.target/powerpc/pr16155.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/pr16286.c2
-rw-r--r--gcc/testsuite/lib/target-supports.exp34
-rw-r--r--gcc/version.c12
74 files changed, 819 insertions, 257 deletions
diff --git a/ChangeLog.csl b/ChangeLog.csl
index 59113020463..027c64b3db1 100644
--- a/ChangeLog.csl
+++ b/ChangeLog.csl
@@ -1,3 +1,394 @@
+2006-05-12 Nathan Sidwell <nathan@codesourcery.com>
+
+ * Merge from csl/sourcerygxx-4_1 version 113722
+
+ 2006-05-11 Joseph S. Myers <joseph@codesourcery.com>
+ * 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 <paul@codesourcery.com>
+ * gcc/config/arm/arm.c (output_move_vfp): Fix typo.
+
+ 2006-05-07 Nathan Sidwell <nathan@codesourcery.com>
+ * 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 <joseph@codesourcery.com>
+ * 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 <mark@codesourcery.com>
+ * 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 <kazu@codesourcery.com>
+
+ Backport:
+ 2006-05-04 Richard Sandiford <richard@codesourcery.com>
+ 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 <kazu@codesourcery.com>
+ PR target/26765
+ * gcc/testsuite/gcc.target/mips/pr26765.c: New.
+
+2006-05-04 Paul Brook <paul@codesourcery.com>
+
+ * gcc/version.c: Revert back to Sourcery G++.
+
+2006-05-03 Paul Brook <paul@codesourcery.com>
+
+ Merge from branches/csl/arm-4_1 r113476.
+ 2006-05-02 Paul Brook <paul@codesourcery.com>
+ * 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 <kazu@codesourcery.com>
+ Paul Brook <paul@codesourcery.com>
+ * 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 <kazu@codesourcery.com>
+ * 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 <paul@codesourcery.com>
+ * gcc/config/arm/ieee754-df.S (adddf3): Avoid clobbering yl.
+
+
+ 2006-04-02 Paul Brook <paul@codesourcery.com>
+ * gcc/config/arm/arm.c (arm_file_start): Output additional object
+ attribute directives.
+
+ 2006-03-31 Paul Brook <paul@codesourcery.com>
+ * gcc/config/arm/thumb2.md (thumb2_shiftsi3_short): Disallow rotate by
+ immediate.
+ (divsi3, udivsi3): Remove bogus length attribute.
+
+ 2006-03-31 Paul Brook <paul@codesourcery.com>
+ * gcc/config/arm/arm.c (arm_output_shift): Fix typo in condition
+ modifier characters.
+
+ 2006-03-31 Paul Brook <paul@codesourcery.com>
+ * gcc/config/arm/arm.c (arm_output_shift): Handle Thumb register shifts.
+
+ 2006-03-30 Paul Brook <paul@codesourcery.com>
+ * 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 <paul@codesourcery.com>
+ * 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 <paul@codesourcery.com>
+ * 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 <paul@codesourcery.com>
+ * 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 <paul@codesourcery.com>
+ * 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 <paul@codesourcery.com>
+ * 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 <paul@codesourcery.com>
+ * gcc/config/arm/t-arm-elf: Fix backwards MULTILIB_MATCHES.
+
+ 2006-02-24 Paul Brook <paul@codesourcery.com>
+ * 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 <paul@codesourcery.com>
+ * 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 <paul@codesourcery.com>
+ * version.c: Mark as CodeSourcery build.
+
+ 2006-01-26 Paul Brook <paul@codesourcery.com>
+ 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 <kazu@codesourcery.com>
Backport:
diff --git a/configure b/configure
index 3a01af0b561..05fbed0246f 100755
--- a/configure
+++ b/configure
@@ -832,14 +832,23 @@ progname=$0
# if PWD already has a value, it is probably wrong.
if test -n "$PWD" ; then PWD=`${PWDCMD-pwd}`; fi
-# Export original configure arguments for use by sub-configures. These
-# will be expanded by make, so quote '$'.
-tmp="$progname $@"
-sed -e 's,\$,$$,g' <<EOF_SED > conftestsed.out
-$tmp
-EOF_SED
-TOPLEVEL_CONFIGURE_ARGUMENTS=`cat conftestsed.out`
-rm -f conftestsed.out
+# Export original configure arguments for use by sub-configures.
+# Quote arguments with shell meta charatcers.
+TOPLEVEL_CONFIGURE_ARGUMENTS=
+set -- "$progname" "$@"
+for ac_arg; do
+ case "$ac_arg" in
+ *" "*|*" "*|*\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?*)
+ # if the argument is of the form -foo=baz, quote the baz part only
+ ac_arg="`echo "'$ac_arg'" | sed "s/^'\([-a-zA-Z0-9]*=\)/\\1'/"`" ;;
+ *) ;;
+ esac
+ # Add the quoted argument to the list.
+ TOPLEVEL_CONFIGURE_ARGUMENTS="$TOPLEVEL_CONFIGURE_ARGUMENTS $ac_arg"
+done
+# Remove the initial space we just introduced and, as these will be
+# expanded by make, quote '$'.
+TOPLEVEL_CONFIGURE_ARGUMENTS=`echo "x$TOPLEVEL_CONFIGURE_ARGUMENTS" | sed -e 's/^x *//' -e 's,\\$,$$,g'`
moveifchange=${srcdir}/move-if-change
@@ -1827,7 +1836,7 @@ else
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1831: checking for $ac_word" >&5
+echo "configure:1840: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1857,7 +1866,7 @@ if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1861: checking for $ac_word" >&5
+echo "configure:1870: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1908,7 +1917,7 @@ fi
# Extract the first word of "cl", so it can be a program name with args.
set dummy cl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1912: checking for $ac_word" >&5
+echo "configure:1921: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1940,7 +1949,7 @@ fi
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1944: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:1953: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -1951,12 +1960,12 @@ cross_compiling=$ac_cv_prog_cc_cross
cat > conftest.$ac_ext << EOF
-#line 1955 "configure"
+#line 1964 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:1960: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1969: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
@@ -1982,12 +1991,12 @@ if test $ac_cv_prog_cc_works = no; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1986: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1995: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1991: checking whether we are using GNU C" >&5
+echo "configure:2000: checking whether we are using GNU C" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1996,7 +2005,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:2000: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:2009: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
@@ -2015,7 +2024,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:2019: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:2028: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2082,7 +2091,7 @@ fi
# Extract the first word of "${ac_tool_prefix}gnatbind", so it can be a program name with args.
set dummy ${ac_tool_prefix}gnatbind; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2086: checking for $ac_word" >&5
+echo "configure:2095: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_GNATBIND'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2114,7 +2123,7 @@ if test -n "$ac_tool_prefix"; then
# Extract the first word of "gnatbind", so it can be a program name with args.
set dummy gnatbind; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2118: checking for $ac_word" >&5
+echo "configure:2127: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_GNATBIND'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2147,7 +2156,7 @@ fi
fi
echo $ac_n "checking whether compiler driver understands Ada""... $ac_c" 1>&6
-echo "configure:2151: checking whether compiler driver understands Ada" >&5
+echo "configure:2160: checking whether compiler driver understands Ada" >&5
if eval "test \"`echo '$''{'acx_cv_cc_gcc_supports_ada'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2179,7 +2188,7 @@ else
fi
echo $ac_n "checking how to compare bootstrapped objects""... $ac_c" 1>&6
-echo "configure:2183: checking how to compare bootstrapped objects" >&5
+echo "configure:2192: checking how to compare bootstrapped objects" >&5
if eval "test \"`echo '$''{'gcc_cv_prog_cmp_skip'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2309,9 +2318,9 @@ saved_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $gmpinc"
# Check GMP actually works
echo $ac_n "checking for correct version of gmp.h""... $ac_c" 1>&6
-echo "configure:2313: checking for correct version of gmp.h" >&5
+echo "configure:2322: checking for correct version of gmp.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 2315 "configure"
+#line 2324 "configure"
#include "confdefs.h"
#include "gmp.h"
int main() {
@@ -2322,7 +2331,7 @@ choke me
; return 0; }
EOF
-if { (eval echo configure:2326: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2335: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
else
@@ -2335,12 +2344,12 @@ rm -f conftest*
if test x"$have_gmp" = xyes; then
echo $ac_n "checking for MPFR""... $ac_c" 1>&6
-echo "configure:2339: checking for MPFR" >&5
+echo "configure:2348: checking for MPFR" >&5
saved_LIBS="$LIBS"
LIBS="$LIBS $gmplibs"
cat > conftest.$ac_ext <<EOF
-#line 2344 "configure"
+#line 2353 "configure"
#include "confdefs.h"
#include <gmp.h>
#include <mpfr.h>
@@ -2348,7 +2357,7 @@ int main() {
mpfr_t n; mpfr_init(n);
; return 0; }
EOF
-if { (eval echo configure:2352: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2361: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
else
@@ -3127,37 +3136,41 @@ serialization_dependencies=serdep.tmp
# target and nonopt. These are the ones we might not want to pass
# down to subconfigures. Also strip program-prefix, program-suffix,
# and program-transform-name, so that we can pass down a consistent
-# program-transform-name. If autoconf has put single quotes around
-# any of these arguments (because they contain shell metacharacters)
-# then this will fail; in practice this only happens for
-# --program-transform-name, so be sure to override --program-transform-name
-# at the end of the argument list.
-# These will be expanded by make, so quote '$'.
-cat <<\EOF_SED > conftestsed
-s/ --no[^ ]*/ /g
-s/ --c[a-z-]*[= ][^ ]*//g
-s/ --sr[a-z-]*[= ][^ ]*//g
-s/ --ho[a-z-]*[= ][^ ]*//g
-s/ --bu[a-z-]*[= ][^ ]*//g
-s/ --t[a-z-]*[= ][^ ]*//g
-s/ --program-[pst][a-z-]*[= ][^ ]*//g
-s/ -cache-file[= ][^ ]*//g
-s/ -srcdir[= ][^ ]*//g
-s/ -host[= ][^ ]*//g
-s/ -build[= ][^ ]*//g
-s/ -target[= ][^ ]*//g
-s/ -program-prefix[= ][^ ]*//g
-s/ -program-suffix[= ][^ ]*//g
-s/ -program-transform-name[= ][^ ]*//g
-s/ [^' -][^ ]* / /
-s/^ *//;s/ *$//
-s,\$,$$,g
-EOF_SED
-sed -f conftestsed <<EOF_SED > conftestsed.out
- ${ac_configure_args}
-EOF_SED
-baseargs=`cat conftestsed.out`
-rm -f conftestsed conftestsed.out
+# program-transform-name.
+baseargs=
+eval "set -- $ac_configure_args"
+for ac_arg; do
+ case "$ac_arg" in
+ --no* | \
+ --c* | \
+ --sr* | \
+ --ho* | \
+ --bu* | \
+ --t* | \
+ --program-* | \
+ -cache_file* | \
+ -srcdir* | \
+ -host* | \
+ -build* | \
+ -target* | \
+ -program-prefix* | \
+ -program-suffix* | \
+ -program-transform-name* )
+ continue
+ ;;
+ *" "*|*" "*|*\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?*)
+ # Quote the argument, using the same trick that autoconf itself
+ # uses. if the argument is of the form -foo=baz, quote the baz part only
+ baseargs="$baseargs `echo "'$ac_arg'" | sed "s/^'\([-a-zA-Z0-9]*=\)/\\1'/"`" ;;
+ *)
+ # Add the quoted argument to the list.
+ baseargs="$baseargs $ac_arg"
+ ;;
+ esac
+done
+# Remove the initial space we just introduced and, as these will be
+# expanded by make, quote '$'.
+baseargs=`echo "x$baseargs" | sed -e 's/^x *//' -e 's,\\$,$$,g'`
# Add in --program-transform-name, after --program-prefix and
# --program-suffix have been applied to it. Autoconf has already
@@ -3347,7 +3360,7 @@ do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3351: checking for $ac_word" >&5
+echo "configure:3364: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3387,7 +3400,7 @@ do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3391: checking for $ac_word" >&5
+echo "configure:3404: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_BISON'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3426,7 +3439,7 @@ do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3430: checking for $ac_word" >&5
+echo "configure:3443: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_M4'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3465,7 +3478,7 @@ do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3469: checking for $ac_word" >&5
+echo "configure:3482: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3505,7 +3518,7 @@ do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3509: checking for $ac_word" >&5
+echo "configure:3522: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_FLEX'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3544,7 +3557,7 @@ do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3548: checking for $ac_word" >&5
+echo "configure:3561: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_MAKEINFO'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3597,7 +3610,7 @@ do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3601: checking for $ac_word" >&5
+echo "configure:3614: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_EXPECT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3638,7 +3651,7 @@ do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3642: checking for $ac_word" >&5
+echo "configure:3655: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RUNTEST'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3686,7 +3699,7 @@ test -n "$target_alias" && ncn_target_tool_prefix=$target_alias-
# Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3690: checking for $ac_word" >&5
+echo "configure:3703: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3717,7 +3730,7 @@ fi
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3721: checking for $ac_word" >&5
+echo "configure:3734: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3761,7 +3774,7 @@ fi
# Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3765: checking for $ac_word" >&5
+echo "configure:3778: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3792,7 +3805,7 @@ fi
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3796: checking for $ac_word" >&5
+echo "configure:3809: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3836,7 +3849,7 @@ fi
# Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3840: checking for $ac_word" >&5
+echo "configure:3853: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3867,7 +3880,7 @@ fi
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3871: checking for $ac_word" >&5
+echo "configure:3884: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3911,7 +3924,7 @@ fi
# Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3915: checking for $ac_word" >&5
+echo "configure:3928: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3942,7 +3955,7 @@ fi
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3946: checking for $ac_word" >&5
+echo "configure:3959: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3986,7 +3999,7 @@ fi
# Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3990: checking for $ac_word" >&5
+echo "configure:4003: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_LIPO'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4017,7 +4030,7 @@ fi
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4021: checking for $ac_word" >&5
+echo "configure:4034: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_LIPO'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4061,7 +4074,7 @@ fi
# Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4065: checking for $ac_word" >&5
+echo "configure:4078: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_NM'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4092,7 +4105,7 @@ fi
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4096: checking for $ac_word" >&5
+echo "configure:4109: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_NM'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4136,7 +4149,7 @@ fi
# Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4140: checking for $ac_word" >&5
+echo "configure:4153: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4167,7 +4180,7 @@ fi
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4171: checking for $ac_word" >&5
+echo "configure:4184: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4206,7 +4219,7 @@ fi
# Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4210: checking for $ac_word" >&5
+echo "configure:4223: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4237,7 +4250,7 @@ fi
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4241: checking for $ac_word" >&5
+echo "configure:4254: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4276,7 +4289,7 @@ fi
# Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4280: checking for $ac_word" >&5
+echo "configure:4293: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_WINDRES'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4307,7 +4320,7 @@ fi
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4311: checking for $ac_word" >&5
+echo "configure:4324: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_WINDRES'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4351,7 +4364,7 @@ fi
# Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4355: checking for $ac_word" >&5
+echo "configure:4368: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_OBJCOPY'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4382,7 +4395,7 @@ fi
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4386: checking for $ac_word" >&5
+echo "configure:4399: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_OBJCOPY'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4426,7 +4439,7 @@ fi
# Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4430: checking for $ac_word" >&5
+echo "configure:4443: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_OBJDUMP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4457,7 +4470,7 @@ fi
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4461: checking for $ac_word" >&5
+echo "configure:4474: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_OBJDUMP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4508,7 +4521,7 @@ fi
# Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4512: checking for $ac_word" >&5
+echo "configure:4525: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AR_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4539,7 +4552,7 @@ fi
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4543: checking for $ac_word" >&5
+echo "configure:4556: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AR_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4583,7 +4596,7 @@ fi
# Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4587: checking for $ac_word" >&5
+echo "configure:4600: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AS_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4614,7 +4627,7 @@ fi
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4618: checking for $ac_word" >&5
+echo "configure:4631: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AS_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4658,7 +4671,7 @@ fi
# Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4662: checking for $ac_word" >&5
+echo "configure:4675: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4689,7 +4702,7 @@ fi
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4693: checking for $ac_word" >&5
+echo "configure:4706: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4733,7 +4746,7 @@ fi
# Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4737: checking for $ac_word" >&5
+echo "configure:4750: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CXX_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4764,7 +4777,7 @@ fi
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4768: checking for $ac_word" >&5
+echo "configure:4781: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CXX_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4808,7 +4821,7 @@ fi
# Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4812: checking for $ac_word" >&5
+echo "configure:4825: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4839,7 +4852,7 @@ fi
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4843: checking for $ac_word" >&5
+echo "configure:4856: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4883,7 +4896,7 @@ fi
# Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4887: checking for $ac_word" >&5
+echo "configure:4900: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_GCC_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4914,7 +4927,7 @@ fi
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4918: checking for $ac_word" >&5
+echo "configure:4931: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_GCC_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4953,7 +4966,7 @@ fi
# Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4957: checking for $ac_word" >&5
+echo "configure:4970: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_GCJ_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4984,7 +4997,7 @@ fi
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4988: checking for $ac_word" >&5
+echo "configure:5001: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_GCJ_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -5028,7 +5041,7 @@ fi
# Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5032: checking for $ac_word" >&5
+echo "configure:5045: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_GFORTRAN_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -5059,7 +5072,7 @@ fi
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5063: checking for $ac_word" >&5
+echo "configure:5076: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_GFORTRAN_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -5103,7 +5116,7 @@ fi
# Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5107: checking for $ac_word" >&5
+echo "configure:5120: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_LD_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -5134,7 +5147,7 @@ fi
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5138: checking for $ac_word" >&5
+echo "configure:5151: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_LD_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -5178,7 +5191,7 @@ fi
# Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5182: checking for $ac_word" >&5
+echo "configure:5195: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_LIPO_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -5209,7 +5222,7 @@ fi
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5213: checking for $ac_word" >&5
+echo "configure:5226: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_LIPO_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -5253,7 +5266,7 @@ fi
# Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5257: checking for $ac_word" >&5
+echo "configure:5270: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_NM_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -5284,7 +5297,7 @@ fi
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5288: checking for $ac_word" >&5
+echo "configure:5301: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_NM_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -5328,7 +5341,7 @@ fi
# Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5332: checking for $ac_word" >&5
+echo "configure:5345: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_OBJDUMP_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -5359,7 +5372,7 @@ fi
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5363: checking for $ac_word" >&5
+echo "configure:5376: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_OBJDUMP_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -5403,7 +5416,7 @@ fi
# Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5407: checking for $ac_word" >&5
+echo "configure:5420: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -5434,7 +5447,7 @@ fi
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5438: checking for $ac_word" >&5
+echo "configure:5451: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -5473,7 +5486,7 @@ fi
# Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5477: checking for $ac_word" >&5
+echo "configure:5490: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_STRIP_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -5504,7 +5517,7 @@ fi
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5508: checking for $ac_word" >&5
+echo "configure:5521: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_STRIP_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -5548,7 +5561,7 @@ fi
# Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5552: checking for $ac_word" >&5
+echo "configure:5565: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_WINDRES_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -5579,7 +5592,7 @@ fi
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
set dummy ${ncn_progname}; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5583: checking for $ac_word" >&5
+echo "configure:5596: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_WINDRES_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -5622,7 +5635,7 @@ fi
RAW_CXX_FOR_TARGET="$CXX_FOR_TARGET"
echo $ac_n "checking where to find the target ar""... $ac_c" 1>&6
-echo "configure:5626: checking where to find the target ar" >&5
+echo "configure:5639: checking where to find the target ar" >&5
if test "x${build}" != "x${host}" ; then
# Canadian cross, just use what we found
echo "$ac_t""pre-installed" 1>&6
@@ -5647,7 +5660,7 @@ else
fi
fi
echo $ac_n "checking where to find the target as""... $ac_c" 1>&6
-echo "configure:5651: checking where to find the target as" >&5
+echo "configure:5664: checking where to find the target as" >&5
if test "x${build}" != "x${host}" ; then
# Canadian cross, just use what we found
echo "$ac_t""pre-installed" 1>&6
@@ -5672,7 +5685,7 @@ else
fi
fi
echo $ac_n "checking where to find the target cc""... $ac_c" 1>&6
-echo "configure:5676: checking where to find the target cc" >&5
+echo "configure:5689: checking where to find the target cc" >&5
if test "x${build}" != "x${host}" ; then
# Canadian cross, just use what we found
echo "$ac_t""pre-installed" 1>&6
@@ -5697,7 +5710,7 @@ else
fi
fi
echo $ac_n "checking where to find the target c++""... $ac_c" 1>&6
-echo "configure:5701: checking where to find the target c++" >&5
+echo "configure:5714: checking where to find the target c++" >&5
if test "x${build}" != "x${host}" ; then
# Canadian cross, just use what we found
echo "$ac_t""pre-installed" 1>&6
@@ -5725,7 +5738,7 @@ else
fi
fi
echo $ac_n "checking where to find the target c++ for libstdc++""... $ac_c" 1>&6
-echo "configure:5729: checking where to find the target c++ for libstdc++" >&5
+echo "configure:5742: checking where to find the target c++ for libstdc++" >&5
if test "x${build}" != "x${host}" ; then
# Canadian cross, just use what we found
echo "$ac_t""pre-installed" 1>&6
@@ -5753,7 +5766,7 @@ else
fi
fi
echo $ac_n "checking where to find the target dlltool""... $ac_c" 1>&6
-echo "configure:5757: checking where to find the target dlltool" >&5
+echo "configure:5770: checking where to find the target dlltool" >&5
if test "x${build}" != "x${host}" ; then
# Canadian cross, just use what we found
echo "$ac_t""pre-installed" 1>&6
@@ -5778,7 +5791,7 @@ else
fi
fi
echo $ac_n "checking where to find the target gcc""... $ac_c" 1>&6
-echo "configure:5782: checking where to find the target gcc" >&5
+echo "configure:5795: checking where to find the target gcc" >&5
if test "x${build}" != "x${host}" ; then
# Canadian cross, just use what we found
echo "$ac_t""pre-installed" 1>&6
@@ -5803,7 +5816,7 @@ else
fi
fi
echo $ac_n "checking where to find the target gcj""... $ac_c" 1>&6
-echo "configure:5807: checking where to find the target gcj" >&5
+echo "configure:5820: checking where to find the target gcj" >&5
if test "x${build}" != "x${host}" ; then
# Canadian cross, just use what we found
echo "$ac_t""pre-installed" 1>&6
@@ -5831,7 +5844,7 @@ else
fi
fi
echo $ac_n "checking where to find the target gfortran""... $ac_c" 1>&6
-echo "configure:5835: checking where to find the target gfortran" >&5
+echo "configure:5848: checking where to find the target gfortran" >&5
if test "x${build}" != "x${host}" ; then
# Canadian cross, just use what we found
echo "$ac_t""pre-installed" 1>&6
@@ -5859,7 +5872,7 @@ else
fi
fi
echo $ac_n "checking where to find the target ld""... $ac_c" 1>&6
-echo "configure:5863: checking where to find the target ld" >&5
+echo "configure:5876: checking where to find the target ld" >&5
if test "x${build}" != "x${host}" ; then
# Canadian cross, just use what we found
echo "$ac_t""pre-installed" 1>&6
@@ -5884,7 +5897,7 @@ else
fi
fi
echo $ac_n "checking where to find the target lipo""... $ac_c" 1>&6
-echo "configure:5888: checking where to find the target lipo" >&5
+echo "configure:5901: checking where to find the target lipo" >&5
if test "x${build}" != "x${host}" ; then
# Canadian cross, just use what we found
echo "$ac_t""pre-installed" 1>&6
@@ -5899,7 +5912,7 @@ else
fi
fi
echo $ac_n "checking where to find the target nm""... $ac_c" 1>&6
-echo "configure:5903: checking where to find the target nm" >&5
+echo "configure:5916: checking where to find the target nm" >&5
if test "x${build}" != "x${host}" ; then
# Canadian cross, just use what we found
echo "$ac_t""pre-installed" 1>&6
@@ -5924,7 +5937,7 @@ else
fi
fi
echo $ac_n "checking where to find the target objdump""... $ac_c" 1>&6
-echo "configure:5928: checking where to find the target objdump" >&5
+echo "configure:5941: checking where to find the target objdump" >&5
if test "x${build}" != "x${host}" ; then
# Canadian cross, just use what we found
echo "$ac_t""pre-installed" 1>&6
@@ -5949,7 +5962,7 @@ else
fi
fi
echo $ac_n "checking where to find the target ranlib""... $ac_c" 1>&6
-echo "configure:5953: checking where to find the target ranlib" >&5
+echo "configure:5966: checking where to find the target ranlib" >&5
if test "x${build}" != "x${host}" ; then
# Canadian cross, just use what we found
echo "$ac_t""pre-installed" 1>&6
@@ -5974,7 +5987,7 @@ else
fi
fi
echo $ac_n "checking where to find the target strip""... $ac_c" 1>&6
-echo "configure:5978: checking where to find the target strip" >&5
+echo "configure:5991: checking where to find the target strip" >&5
if test "x${build}" != "x${host}" ; then
# Canadian cross, just use what we found
echo "$ac_t""pre-installed" 1>&6
@@ -5999,7 +6012,7 @@ else
fi
fi
echo $ac_n "checking where to find the target windres""... $ac_c" 1>&6
-echo "configure:6003: checking where to find the target windres" >&5
+echo "configure:6016: checking where to find the target windres" >&5
if test "x${build}" != "x${host}" ; then
# Canadian cross, just use what we found
echo "$ac_t""pre-installed" 1>&6
@@ -6052,7 +6065,7 @@ fi
echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
-echo "configure:6056: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo "configure:6069: checking whether to enable maintainer-specific portions of Makefiles" >&5
# Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
if test "${enable_maintainer_mode+set}" = set; then
enableval="$enable_maintainer_mode"
@@ -6099,7 +6112,7 @@ esac
# gcc for stageN-gcc and stagePREV-gcc for stage(N-1). In case this is not
# possible, however, we can resort to mv.
echo $ac_n "checking if symbolic links between directories work""... $ac_c" 1>&6
-echo "configure:6103: checking if symbolic links between directories work" >&5
+echo "configure:6116: checking if symbolic links between directories work" >&5
if eval "test \"`echo '$''{'gcc_cv_prog_ln_s_dir'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
diff --git a/configure.in b/configure.in
index b742787eeca..4aeac2c864b 100644
--- a/configure.in
+++ b/configure.in
@@ -68,14 +68,23 @@ progname=$0
# if PWD already has a value, it is probably wrong.
if test -n "$PWD" ; then PWD=`${PWDCMD-pwd}`; fi
-# Export original configure arguments for use by sub-configures. These
-# will be expanded by make, so quote '$'.
-tmp="$progname $@"
-sed -e 's,\$,$$,g' <<EOF_SED > conftestsed.out
-$tmp
-EOF_SED
-TOPLEVEL_CONFIGURE_ARGUMENTS=`cat conftestsed.out`
-rm -f conftestsed.out
+# Export original configure arguments for use by sub-configures.
+# Quote arguments with shell meta charatcers.
+TOPLEVEL_CONFIGURE_ARGUMENTS=
+set -- "$progname" "$@"
+for ac_arg; do
+ case "$ac_arg" in
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ # if the argument is of the form -foo=baz, quote the baz part only
+ ac_arg="`echo "'$ac_arg'" | sed "s/^'\([[-a-zA-Z0-9]]*=\)/\\1'/"`" ;;
+ *) ;;
+ esac
+ # Add the quoted argument to the list.
+ TOPLEVEL_CONFIGURE_ARGUMENTS="$TOPLEVEL_CONFIGURE_ARGUMENTS $ac_arg"
+done
+# Remove the initial space we just introduced and, as these will be
+# expanded by make, quote '$'.
+TOPLEVEL_CONFIGURE_ARGUMENTS=`echo "x$TOPLEVEL_CONFIGURE_ARGUMENTS" | sed -e 's/^x *//' -e 's,\\$,$$,g'`
AC_SUBST(TOPLEVEL_CONFIGURE_ARGUMENTS)
moveifchange=${srcdir}/move-if-change
@@ -1898,37 +1907,41 @@ AC_SUBST_FILE(serialization_dependencies)
# target and nonopt. These are the ones we might not want to pass
# down to subconfigures. Also strip program-prefix, program-suffix,
# and program-transform-name, so that we can pass down a consistent
-# program-transform-name. If autoconf has put single quotes around
-# any of these arguments (because they contain shell metacharacters)
-# then this will fail; in practice this only happens for
-# --program-transform-name, so be sure to override --program-transform-name
-# at the end of the argument list.
-# These will be expanded by make, so quote '$'.
-cat <<\EOF_SED > conftestsed
-s/ --no[[^ ]]*/ /g
-s/ --c[[a-z-]]*[[= ]][[^ ]]*//g
-s/ --sr[[a-z-]]*[[= ]][[^ ]]*//g
-s/ --ho[[a-z-]]*[[= ]][[^ ]]*//g
-s/ --bu[[a-z-]]*[[= ]][[^ ]]*//g
-s/ --t[[a-z-]]*[[= ]][[^ ]]*//g
-s/ --program-[[pst]][[a-z-]]*[[= ]][[^ ]]*//g
-s/ -cache-file[[= ]][[^ ]]*//g
-s/ -srcdir[[= ]][[^ ]]*//g
-s/ -host[[= ]][[^ ]]*//g
-s/ -build[[= ]][[^ ]]*//g
-s/ -target[[= ]][[^ ]]*//g
-s/ -program-prefix[[= ]][[^ ]]*//g
-s/ -program-suffix[[= ]][[^ ]]*//g
-s/ -program-transform-name[[= ]][[^ ]]*//g
-s/ [[^' -][^ ]*] / /
-s/^ *//;s/ *$//
-s,\$,$$,g
-EOF_SED
-sed -f conftestsed <<EOF_SED > conftestsed.out
- ${ac_configure_args}
-EOF_SED
-baseargs=`cat conftestsed.out`
-rm -f conftestsed conftestsed.out
+# program-transform-name.
+baseargs=
+eval "set -- $ac_configure_args"
+for ac_arg; do
+ case "$ac_arg" in
+ --no* | \
+ --c* | \
+ --sr* | \
+ --ho* | \
+ --bu* | \
+ --t* | \
+ --program-* | \
+ -cache_file* | \
+ -srcdir* | \
+ -host* | \
+ -build* | \
+ -target* | \
+ -program-prefix* | \
+ -program-suffix* | \
+ -program-transform-name* )
+ continue
+ ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ # Quote the argument, using the same trick that autoconf itself
+ # uses. if the argument is of the form -foo=baz, quote the baz part only
+ baseargs="$baseargs `echo "'$ac_arg'" | sed "s/^'\([[-a-zA-Z0-9]]*=\)/\\1'/"`" ;;
+ *)
+ # Add the quoted argument to the list.
+ baseargs="$baseargs $ac_arg"
+ ;;
+ esac
+done
+# Remove the initial space we just introduced and, as these will be
+# expanded by make, quote '$'.
+baseargs=`echo "x$baseargs" | sed -e 's/^x *//' -e 's,\\$,$$,g'`
# Add in --program-transform-name, after --program-prefix and
# --program-suffix have been applied to it. Autoconf has already
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 166883c1794..dda0ffab6fb 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -718,6 +718,8 @@ version := $(BASEVER_c)
BASEVER_s := "\"$(BASEVER_c)\""
DEVPHASE_s := "\"$(if $(DEVPHASE_c), ($(DEVPHASE_c)))\""
DATESTAMP_s := "\"$(if $(DEVPHASE_c), $(DATESTAMP_c))\""
+VERSUFFIX_s := "\"@VERSUFFIX@\""
+BUGURL_s := "\"@BUGURL@\""
# Shorthand variables for dependency lists.
TARGET_H = $(TM_H) target.h insn-modes.h
@@ -1684,7 +1686,8 @@ dumpvers: dumpvers.c
version.o: version.c version.h $(DATESTAMP) $(BASEVER) $(DEVPHASE)
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
-DBASEVER=$(BASEVER_s) -DDATESTAMP=$(DATESTAMP_s) \
- -DDEVPHASE=$(DEVPHASE_s) -c $(srcdir)/version.c $(OUTPUT_OPTION)
+ -DDEVPHASE=$(DEVPHASE_s) -DVERSUFFIX=$(VERSUFFIX_s) \
+ -DBUGURL=$(BUGURL_s) -c $(srcdir)/version.c $(OUTPUT_OPTION)
gtype-desc.o: gtype-desc.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(VARRAY_H) $(HASHTAB_H) $(SPLAY_TREE_H) bitmap.h $(TREE_H) $(RTL_H) \
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 283066917a3..c151c83b3df 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -9284,7 +9284,7 @@ output_move_vfp (rtx *operands)
load ? "ld" : "st",
dp ? 'd' : 's',
dp ? "P" : "",
- integer_p ? "\\t%@ int" : "");
+ integer_p ? "\t%@ int" : "");
output_asm_insn (buff, ops);
return "";
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index 1a8bddb8e2c..c69d0099023 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -1446,18 +1446,16 @@ mips_symbolic_address_p (enum mips_symbol_type symbol_type,
/* The address will have to be loaded from the GOT first. */
return false;
- case SYMBOL_TLSGD:
- case SYMBOL_TLSLDM:
- case SYMBOL_DTPREL:
- case SYMBOL_TPREL:
- case SYMBOL_GOTTPREL:
- case SYMBOL_TLS:
- return false;
-
case SYMBOL_GOTOFF_PAGE:
case SYMBOL_GOTOFF_GLOBAL:
case SYMBOL_GOTOFF_CALL:
case SYMBOL_GOTOFF_LOADGP:
+ case SYMBOL_TLS:
+ case SYMBOL_TLSGD:
+ case SYMBOL_TLSLDM:
+ case SYMBOL_DTPREL:
+ case SYMBOL_GOTTPREL:
+ case SYMBOL_TPREL:
case SYMBOL_64_HIGH:
case SYMBOL_64_MID:
case SYMBOL_64_LOW:
diff --git a/gcc/configure b/gcc/configure
index 1f1133b5354..83ef8a61248 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -309,7 +309,7 @@ ac_includes_default="\
# include <unistd.h>
#endif"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os target_noncanonical build_subdir host_subdir target_subdir GENINSRC CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT NO_MINUS_C_MINUS_O OUTPUT_OPTION CPP EGREP strict1_warn warn_cflags WERROR nocommon_flag TREEBROWSER valgrind_path valgrind_path_defines valgrind_command coverage_flags enable_multilib enable_shared TARGET_SYSTEM_ROOT TARGET_SYSTEM_ROOT_DEFINE CROSS_SYSTEM_HEADER_DIR onestep datarootdir docdir htmldir SET_MAKE AWK LN_S LN RANLIB ac_ct_RANLIB ranlib_flags INSTALL INSTALL_PROGRAM INSTALL_DATA make_compare_target have_mktemp_command MAKEINFO BUILD_INFO GENERATED_MANPAGES FLEX BISON NM AR stage1_cflags COLLECT2_LIBS GNAT_LIBEXC LDEXP_LIB TARGET_GETGROUPS_T LIBICONV LTLIBICONV LIBICONV_DEP manext objext gthread_flags extra_modes_file extra_opt_files USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS host_cc_for_libada CROSS ALL SYSTEM_HEADER_DIR inhibit_libc CC_FOR_BUILD BUILD_CFLAGS STMP_FIXINC STMP_FIXPROTO collect2 gcc_cv_as ORIGINAL_AS_FOR_TARGET gcc_cv_ld ORIGINAL_LD_FOR_TARGET gcc_cv_nm ORIGINAL_NM_FOR_TARGET gcc_cv_objdump ORIGINAL_OBJDUMP_FOR_TARGET libgcc_visibility GGC zlibdir zlibinc MAINT gcc_tooldir dollar slibdir objdir subdirs srcdir all_boot_languages all_compilers all_gtfiles all_gtfiles_files_langs all_gtfiles_files_files all_lang_makefrags all_lang_makefiles all_languages all_stagestuff build_exeext build_install_headers_dir build_xm_file_list build_xm_include_list build_xm_defines check_languages cc_set_by_configure quoted_cc_set_by_configure cpp_install_dir xmake_file tmake_file extra_gcc_objs extra_headers_list extra_objs extra_parts extra_passes extra_programs float_h_file gcc_config_arguments gcc_gxx_include_dir libstdcxx_incdir host_exeext host_xm_file_list host_xm_include_list host_xm_defines out_host_hook_obj install lang_opt_files lang_specs_files lang_tree_files local_prefix md_file objc_boehm_gc out_file out_object_file stage_prefix_set_by_configure quoted_stage_prefix_set_by_configure thread_file tm_file_list tm_include_list tm_defines tm_p_file_list tm_p_include_list xm_file_list xm_include_list xm_defines c_target_objs cxx_target_objs target_cpu_default GMPLIBS GMPINC LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os target_noncanonical build_subdir host_subdir target_subdir GENINSRC CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT NO_MINUS_C_MINUS_O OUTPUT_OPTION CPP EGREP strict1_warn warn_cflags WERROR nocommon_flag TREEBROWSER valgrind_path valgrind_path_defines valgrind_command coverage_flags enable_multilib enable_shared TARGET_SYSTEM_ROOT TARGET_SYSTEM_ROOT_DEFINE CROSS_SYSTEM_HEADER_DIR onestep VERSUFFIX BUGURL datarootdir docdir htmldir SET_MAKE AWK LN_S LN RANLIB ac_ct_RANLIB ranlib_flags INSTALL INSTALL_PROGRAM INSTALL_DATA make_compare_target have_mktemp_command MAKEINFO BUILD_INFO GENERATED_MANPAGES FLEX BISON NM AR stage1_cflags COLLECT2_LIBS GNAT_LIBEXC LDEXP_LIB TARGET_GETGROUPS_T LIBICONV LTLIBICONV LIBICONV_DEP manext objext gthread_flags extra_modes_file extra_opt_files USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS host_cc_for_libada CROSS ALL SYSTEM_HEADER_DIR inhibit_libc CC_FOR_BUILD BUILD_CFLAGS STMP_FIXINC STMP_FIXPROTO collect2 gcc_cv_as ORIGINAL_AS_FOR_TARGET gcc_cv_ld ORIGINAL_LD_FOR_TARGET gcc_cv_nm ORIGINAL_NM_FOR_TARGET gcc_cv_objdump ORIGINAL_OBJDUMP_FOR_TARGET libgcc_visibility GGC zlibdir zlibinc MAINT gcc_tooldir dollar slibdir objdir subdirs srcdir all_boot_languages all_compilers all_gtfiles all_gtfiles_files_langs all_gtfiles_files_files all_lang_makefrags all_lang_makefiles all_languages all_stagestuff build_exeext build_install_headers_dir build_xm_file_list build_xm_include_list build_xm_defines check_languages cc_set_by_configure quoted_cc_set_by_configure cpp_install_dir xmake_file tmake_file extra_gcc_objs extra_headers_list extra_objs extra_parts extra_passes extra_programs float_h_file gcc_config_arguments gcc_gxx_include_dir libstdcxx_incdir host_exeext host_xm_file_list host_xm_include_list host_xm_defines out_host_hook_obj install lang_opt_files lang_specs_files lang_tree_files local_prefix md_file objc_boehm_gc out_file out_object_file stage_prefix_set_by_configure quoted_stage_prefix_set_by_configure thread_file tm_file_list tm_include_list tm_defines tm_p_file_list tm_p_include_list xm_file_list xm_include_list xm_defines c_target_objs cxx_target_objs target_cpu_default GMPLIBS GMPINC LIBOBJS LTLIBOBJS'
ac_subst_files='language_hooks'
# Initialize some variables set by options.
@@ -927,6 +927,8 @@ Optional Packages:
--with-build-sysroot=sysroot
use sysroot as the system root during the build
--with-sysroot=DIR Search for usr/lib, usr/include, et al, within DIR.
+ --with-versuffix=SFX Append SFX to the version string
+ --with-bugurl=URL Direct users to URL to report a bug
--with-gnu-ld assume the C compiler uses GNU ld default=no
--with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib
--without-libiconv-prefix don't search for libiconv in includedir and libdir
@@ -7015,6 +7017,44 @@ else
fi;
+# The trailing component of the string reported as the version number
+# by all components of the compiler. For an official FSF release, it
+# is empty.
+
+# Check whether --with-versuffix or --without-versuffix was given.
+if test "${with_versuffix+set}" = set; then
+ withval="$with_versuffix"
+ case "$withval" in
+ yes) { { echo "$as_me:$LINENO: error: version suffix not specified" >&5
+echo "$as_me: error: version suffix not specified" >&2;}
+ { (exit 1); exit 1; }; } ;;
+ no) VERSUFFIX=" (CodeSourcery Unofficial)" ;;
+ *) VERSUFFIX=" ($withval)" ;;
+ esac
+else
+ VERSUFFIX=
+
+fi;
+
+
+# The location to which bugs should be reported.
+
+# Check whether --with-bugurl or --without-bugurl was given.
+if test "${with_bugurl+set}" = set; then
+ withval="$with_bugurl"
+ case "$withval" in
+ yes) { { echo "$as_me:$LINENO: error: bug URL not specified" >&5
+echo "$as_me: error: bug URL not specified" >&2;}
+ { (exit 1); exit 1; }; } ;;
+ no) BUGURL="<unsupported>" ;;
+ *) BUGURL="<URL:$withval>" ;;
+ esac
+else
+ BUGURL="<URL:http://gcc.gnu.org/bugs.html>"
+
+fi;
+
+
# Sanity check enable_languages in case someone does not run the toplevel
# configure # script.
# Check whether --enable-languages or --disable-languages was given.
@@ -7496,7 +7536,7 @@ if test "${gcc_cv_prog_makeinfo_modern+set}" = set; then
else
ac_prog_version=`$MAKEINFO --version 2>&1 |
sed -n 's/^.*GNU texinfo.* \([0-9][0-9.]*\).*$/\1/p'`
- echo "configure:7499: version of makeinfo is $ac_prog_version" >&5
+ echo "configure:7539: version of makeinfo is $ac_prog_version" >&5
case $ac_prog_version in
'') gcc_cv_prog_makeinfo_modern=no;;
4.[2-9]*)
@@ -17244,6 +17284,8 @@ s,@TARGET_SYSTEM_ROOT@,$TARGET_SYSTEM_ROOT,;t t
s,@TARGET_SYSTEM_ROOT_DEFINE@,$TARGET_SYSTEM_ROOT_DEFINE,;t t
s,@CROSS_SYSTEM_HEADER_DIR@,$CROSS_SYSTEM_HEADER_DIR,;t t
s,@onestep@,$onestep,;t t
+s,@VERSUFFIX@,$VERSUFFIX,;t t
+s,@BUGURL@,$BUGURL,;t t
s,@datarootdir@,$datarootdir,;t t
s,@docdir@,$docdir,;t t
s,@htmldir@,$htmldir,;t t
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 173b382595a..e73aeae025f 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -742,6 +742,34 @@ esac],
[onestep=""])
AC_SUBST(onestep)
+# The trailing component of the string reported as the version number
+# by all components of the compiler. For an official FSF release, it
+# is empty.
+AC_ARG_WITH(versuffix,
+ AS_HELP_STRING([--with-versuffix=SFX],
+ [Append SFX to the version string]),
+ [case "$withval" in
+ yes) AC_MSG_ERROR([version suffix not specified]) ;;
+ no) VERSUFFIX=" (CodeSourcery Unofficial)" ;;
+ *) VERSUFFIX=" ($withval)" ;;
+ esac],
+ VERSUFFIX=
+)
+AC_SUBST(VERSUFFIX)
+
+# The location to which bugs should be reported.
+AC_ARG_WITH(bugurl,
+ AS_HELP_STRING([--with-bugurl=URL],
+ [Direct users to URL to report a bug]),
+ [case "$withval" in
+ yes) AC_MSG_ERROR([bug URL not specified]) ;;
+ no) BUGURL="<unsupported>" ;;
+ *) BUGURL="<URL:$withval>" ;;
+ esac],
+ BUGURL="<URL:http://gcc.gnu.org/bugs.html>"
+)
+AC_SUBST(BUGURL)
+
# Sanity check enable_languages in case someone does not run the toplevel
# configure # script.
AC_ARG_ENABLE(languages,
diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
index 8e92223925e..3a0b8d17095 100644
--- a/gcc/doc/install.texi
+++ b/gcc/doc/install.texi
@@ -546,6 +546,30 @@ To configure GCC:
% @var{srcdir}/configure [@var{options}] [@var{target}]
@end smallexample
+@heading Distributor options
+
+If you will be distributing binary versions of GCC, with modifications
+to the source code, you should use the options described in this
+section to make clear that your version contains modifications.
+
+@table @code
+@item --with-versuffix=@var{suffix}
+Specify a string that identifies your organization. You may also wish
+to include a build number or build date. This version string will be
+included in the output of @command{gcc --version}. This suffix does
+not replace the default version string; instead, it is appended to the
+existing version string.
+
+The default value is the empty string.
+
+@item --with-bugurl=@var{url}
+Specify the URL that users should visit if they wish to report a bug.
+You are of course welcome to forward bugs reported to you to the FSF,
+if you determine that they are not bugs in your modifications.
+
+The default value refers to the FSF's GCC bug tracker.
+
+@end table
@heading Target specification
@itemize @bullet
diff --git a/gcc/testsuite/g++.dg/eh/simd-2.C b/gcc/testsuite/g++.dg/eh/simd-2.C
index 813930faeba..a6f2a3fabc1 100644
--- a/gcc/testsuite/g++.dg/eh/simd-2.C
+++ b/gcc/testsuite/g++.dg/eh/simd-2.C
@@ -2,7 +2,7 @@
// Contributed by Aldy Hernandez (aldy@quesejoda.com).
// { dg-options "-O" }
// { dg-options "-O -w" { target { { i?86-*-* x86_64-*-* } && ilp32 } } }
-// { dg-options "-O -w -maltivec" { target powerpc*-*-linux* } }
+// { dg-options "-O -w -maltivec" { target { powerpc*-*-linux* && powerpc_altivec_ok } } }
// { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } }
// { dg-do run }
diff --git a/gcc/testsuite/g++.dg/ext/altivec-1.C b/gcc/testsuite/g++.dg/ext/altivec-1.C
index 7e382babf11..cd7c3aad261 100644
--- a/gcc/testsuite/g++.dg/ext/altivec-1.C
+++ b/gcc/testsuite/g++.dg/ext/altivec-1.C
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
#include <altivec.h>
diff --git a/gcc/testsuite/g++.dg/ext/altivec-10.C b/gcc/testsuite/g++.dg/ext/altivec-10.C
index 36cce7e01fa..7f7d2b013de 100644
--- a/gcc/testsuite/g++.dg/ext/altivec-10.C
+++ b/gcc/testsuite/g++.dg/ext/altivec-10.C
@@ -1,7 +1,7 @@
/* This is a compile-only test for interaction of "-maltivec" and "-save-temps". */
/* Author: Ziemowit Laski <zlaski@apple.com>. */
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-save-temps -maltivec" } */
#include <altivec.h>
diff --git a/gcc/testsuite/g++.dg/ext/altivec-11.C b/gcc/testsuite/g++.dg/ext/altivec-11.C
index 9e7fe952849..ff3016953d8 100644
--- a/gcc/testsuite/g++.dg/ext/altivec-11.C
+++ b/gcc/testsuite/g++.dg/ext/altivec-11.C
@@ -1,6 +1,6 @@
/* Test handling of literal constant for dss operation. */
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
#include <altivec.h>
diff --git a/gcc/testsuite/g++.dg/ext/altivec-12.C b/gcc/testsuite/g++.dg/ext/altivec-12.C
index 6e28204fcc5..6f21da961b2 100644
--- a/gcc/testsuite/g++.dg/ext/altivec-12.C
+++ b/gcc/testsuite/g++.dg/ext/altivec-12.C
@@ -1,6 +1,6 @@
/* Test vec_dst* functions with float pointer as first argument. */
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
#include <altivec.h>
diff --git a/gcc/testsuite/g++.dg/ext/altivec-13.C b/gcc/testsuite/g++.dg/ext/altivec-13.C
index f82fde950e5..abc05af62d5 100644
--- a/gcc/testsuite/g++.dg/ext/altivec-13.C
+++ b/gcc/testsuite/g++.dg/ext/altivec-13.C
@@ -3,9 +3,9 @@
AltiVec testsuite. */
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
-
+
#include <altivec.h>
extern vector unsigned char vuc;
diff --git a/gcc/testsuite/g++.dg/ext/altivec-2.C b/gcc/testsuite/g++.dg/ext/altivec-2.C
index 24a0ef228a8..6a404b266d8 100644
--- a/gcc/testsuite/g++.dg/ext/altivec-2.C
+++ b/gcc/testsuite/g++.dg/ext/altivec-2.C
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec -Wall" } */
/* This test checks if AltiVec builtins accept const-qualified
diff --git a/gcc/testsuite/g++.dg/ext/altivec-3.C b/gcc/testsuite/g++.dg/ext/altivec-3.C
index e480299e1ae..8ac401ce7ce 100644
--- a/gcc/testsuite/g++.dg/ext/altivec-3.C
+++ b/gcc/testsuite/g++.dg/ext/altivec-3.C
@@ -1,5 +1,5 @@
/* { dg-do run { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
/* Test for correct handling of AltiVec constants passed
diff --git a/gcc/testsuite/g++.dg/ext/altivec-4.C b/gcc/testsuite/g++.dg/ext/altivec-4.C
index 62cc1f0535f..86a2615dc49 100644
--- a/gcc/testsuite/g++.dg/ext/altivec-4.C
+++ b/gcc/testsuite/g++.dg/ext/altivec-4.C
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
/* PR c++/14425 */
diff --git a/gcc/testsuite/g++.dg/ext/altivec-5.C b/gcc/testsuite/g++.dg/ext/altivec-5.C
index 198f38cb0b5..04c26e80ff4 100644
--- a/gcc/testsuite/g++.dg/ext/altivec-5.C
+++ b/gcc/testsuite/g++.dg/ext/altivec-5.C
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
/* PR c++/14426 */
diff --git a/gcc/testsuite/g++.dg/ext/altivec-6.C b/gcc/testsuite/g++.dg/ext/altivec-6.C
index 5ca23028bae..63ae0b0b91b 100644
--- a/gcc/testsuite/g++.dg/ext/altivec-6.C
+++ b/gcc/testsuite/g++.dg/ext/altivec-6.C
@@ -1,7 +1,7 @@
/* Test for correct handling of literal arguments. */
/* Author: Ziemowit Laski <zlaski@apple.com> */
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
#include <altivec.h>
diff --git a/gcc/testsuite/g++.dg/ext/altivec-7.C b/gcc/testsuite/g++.dg/ext/altivec-7.C
index d1a0b2959c6..7c458fb003f 100644
--- a/gcc/testsuite/g++.dg/ext/altivec-7.C
+++ b/gcc/testsuite/g++.dg/ext/altivec-7.C
@@ -1,6 +1,6 @@
/* Test for AltiVec type overloading and name mangling. */
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
#include <altivec.h>
diff --git a/gcc/testsuite/g++.dg/ext/altivec-8.C b/gcc/testsuite/g++.dg/ext/altivec-8.C
index 045220252b9..3c5a76e060e 100644
--- a/gcc/testsuite/g++.dg/ext/altivec-8.C
+++ b/gcc/testsuite/g++.dg/ext/altivec-8.C
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
/* Author: Ziemowit Laski <zlaski@apple.com> */
diff --git a/gcc/testsuite/g++.dg/ext/altivec-9.C b/gcc/testsuite/g++.dg/ext/altivec-9.C
index ab78b99ebdf..174ae63edcb 100644
--- a/gcc/testsuite/g++.dg/ext/altivec-9.C
+++ b/gcc/testsuite/g++.dg/ext/altivec-9.C
@@ -1,6 +1,6 @@
/* Test for AltiVec function vec_ld, passing a pointer to const vector */
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
#include <altivec.h>
diff --git a/gcc/testsuite/g++.dg/ext/altivec-types-1.C b/gcc/testsuite/g++.dg/ext/altivec-types-1.C
index 9ebab95e408..9e9ca96e8c6 100644
--- a/gcc/testsuite/g++.dg/ext/altivec-types-1.C
+++ b/gcc/testsuite/g++.dg/ext/altivec-types-1.C
@@ -1,4 +1,5 @@
/* { dg-do compile { target powerpc*-*-linux* } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
/* Valid AltiVec vector types should be accepted with no warnings. */
diff --git a/gcc/testsuite/g++.dg/ext/altivec-types-2.C b/gcc/testsuite/g++.dg/ext/altivec-types-2.C
index 4f4d3f3a123..f64c0c5aa21 100644
--- a/gcc/testsuite/g++.dg/ext/altivec-types-2.C
+++ b/gcc/testsuite/g++.dg/ext/altivec-types-2.C
@@ -1,5 +1,6 @@
/* { dg-do compile { target powerpc*-*-linux* } } */
/* { dg-require-effective-target ilp32 } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
/* These should get warnings for 32-bit code. */
diff --git a/gcc/testsuite/g++.dg/ext/altivec-types-3.C b/gcc/testsuite/g++.dg/ext/altivec-types-3.C
index 42fd3ca359c..2fe965986b3 100644
--- a/gcc/testsuite/g++.dg/ext/altivec-types-3.C
+++ b/gcc/testsuite/g++.dg/ext/altivec-types-3.C
@@ -1,4 +1,5 @@
/* { dg-do compile { target powerpc*-*-linux* } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-require-effective-target lp64 } */
/* { dg-options "-maltivec" } */
diff --git a/gcc/testsuite/g++.dg/ext/altivec-types-4.C b/gcc/testsuite/g++.dg/ext/altivec-types-4.C
index bc2296cc15e..212f6733939 100644
--- a/gcc/testsuite/g++.dg/ext/altivec-types-4.C
+++ b/gcc/testsuite/g++.dg/ext/altivec-types-4.C
@@ -1,5 +1,6 @@
/* { dg-do compile { target powerpc*-*-linux* } } */
/* { dg-require-effective-target ilp32 } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec -mno-warn-altivec-long" } */
/* These should not get warnings for 32-bit code when the warning is
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-2f.x b/gcc/testsuite/gcc.c-torture/execute/loop-2f.x
new file mode 100644
index 00000000000..aa7645fad99
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/loop-2f.x
@@ -0,0 +1,2 @@
+set torture_execute_xfail "mips*-*-linux*"
+return 0
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-2g.x b/gcc/testsuite/gcc.c-torture/execute/loop-2g.x
new file mode 100644
index 00000000000..aa7645fad99
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/loop-2g.x
@@ -0,0 +1,2 @@
+set torture_execute_xfail "mips*-*-linux*"
+return 0
diff --git a/gcc/testsuite/gcc.dg/20020103-1.c b/gcc/testsuite/gcc.dg/20020103-1.c
index 54ad83c21e5..56900af1f00 100644
--- a/gcc/testsuite/gcc.dg/20020103-1.c
+++ b/gcc/testsuite/gcc.dg/20020103-1.c
@@ -2,7 +2,7 @@
spilled to the stack, or regenerated, but not dropped to memory. */
/* { dg-do compile { target i?86-*-* powerpc-*-* rs6000-*-* alpha*-*-* x86_64-*-*} } */
/* { dg-options "-O2 -fpic -fno-omit-frame-pointer -fno-asynchronous-unwind-tables" } */
-/* { dg-final { scan-assembler-not "LC\[0-9\]" } } */
+/* { dg-final { scan-assembler-not "LC\[0-9\]" { xfail powerpc*-*-* } } } */
/* Clobber all call-saved registers that can hold a pointer value. */
#if defined(__i386__)
diff --git a/gcc/testsuite/gcc.dg/simd-3.c b/gcc/testsuite/gcc.dg/simd-3.c
index 34ad75d9602..790b1e51e6e 100644
--- a/gcc/testsuite/gcc.dg/simd-3.c
+++ b/gcc/testsuite/gcc.dg/simd-3.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-maltivec" { target powerpc-*-* } } */
+/* { dg-options "-maltivec" { target { powerpc*-*-* && powerpc_altivec_ok } } } */
__attribute__ ((vector_size (2))) signed char v1, v2, v3;
void
diff --git a/gcc/testsuite/gcc.dg/vect/vect-82_64.c b/gcc/testsuite/gcc.dg/vect/vect-82_64.c
index a21ed1281fe..15921a4c9eb 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-82_64.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-82_64.c
@@ -1,5 +1,5 @@
-/* { dg-do run { target { powerpc*-*-* && lp64 } } } */
-/* { dg-do compile { target { powerpc*-*-* && ilp32 } } } */
+/* { dg-do run { target { { powerpc*-*-* && lp64 } && powerpc_altivec_ok } } } */
+/* { dg-do compile { target { { powerpc*-*-* && ilp32 } && powerpc_altivec_ok } } } */
/* { dg-options "-O2 -ftree-vectorize -mpowerpc64 -fdump-tree-vect-stats -maltivec" } */
#include <stdarg.h>
diff --git a/gcc/testsuite/gcc.dg/vect/vect-83_64.c b/gcc/testsuite/gcc.dg/vect/vect-83_64.c
index b5f6f6f08a5..6cfebb2420f 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-83_64.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-83_64.c
@@ -1,5 +1,5 @@
-/* { dg-do run { target { powerpc*-*-* && lp64 } } } */
-/* { dg-do compile { target { powerpc*-*-* && ilp32 } } } */
+/* { dg-do run { target { { powerpc*-*-* && lp64 } && powerpc_altivec_ok } } } */
+/* { dg-do compile { target { { powerpc*-*-* && ilp32 } && powerpc_altivec_ok } } } */
/* { dg-options "-O2 -ftree-vectorize -mpowerpc64 -fdump-tree-vect-stats -maltivec" } */
#include <stdarg.h>
diff --git a/gcc/testsuite/gcc.dg/vmx/vmx.exp b/gcc/testsuite/gcc.dg/vmx/vmx.exp
index 54feb41020a..2b2bec3e136 100644
--- a/gcc/testsuite/gcc.dg/vmx/vmx.exp
+++ b/gcc/testsuite/gcc.dg/vmx/vmx.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2004 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2006 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -19,11 +19,10 @@
# Load support procs.
load_lib gcc-dg.exp
-# Skip these tests for non-PowerPC targets and for Aix, where AltiVec
-# is not yet supported. Also, skip these tests on the SPE because
-# AltiVec and E500 opcodes conflict.
-if {![istarget powerpc*-*-*] || [istarget powerpc*-*-aix*]
- || [istarget powerpc*-*eabispe*] } {
+# Skip these tests for non-PowerPC targets and for targets where AltiVec
+# is not supported.
+if {![istarget powerpc*-*-*]
+ || ![check_effective_target_powerpc_altivec_ok] } {
return
}
diff --git a/gcc/testsuite/gcc.target/arm/arm.exp b/gcc/testsuite/gcc.target/arm/arm.exp
index 39239490590..7f4958e92ac 100644
--- a/gcc/testsuite/gcc.target/arm/arm.exp
+++ b/gcc/testsuite/gcc.target/arm/arm.exp
@@ -34,7 +34,7 @@ if ![info exists DEFAULT_CFLAGS] then {
dg-init
# Main loop.
-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] \
+dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cCS\]]] \
"" $DEFAULT_CFLAGS
# All done.
diff --git a/gcc/testsuite/gcc.target/mips/pr26765.c b/gcc/testsuite/gcc.target/mips/pr26765.c
new file mode 100644
index 00000000000..0b70b56ab44
--- /dev/null
+++ b/gcc/testsuite/gcc.target/mips/pr26765.c
@@ -0,0 +1,13 @@
+/* PR target/pr26765
+ This testcase used to trigger an unrecognizable insn. */
+
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+
+__thread int *a = 0;
+
+void foo (void)
+{
+ extern int *b;
+ b = (int *) ((*a));
+}
diff --git a/gcc/testsuite/gcc.target/powerpc/980827-1.c b/gcc/testsuite/gcc.target/powerpc/980827-1.c
index 84ba5ee4d5f..c2c92337a86 100644
--- a/gcc/testsuite/gcc.target/powerpc/980827-1.c
+++ b/gcc/testsuite/gcc.target/powerpc/980827-1.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target rs6000-*-linux* powerpc-*-linux*} } */
+/* { dg-do run { target { { *-*-linux* && ilp32 } && powerpc_fprs } } } */
/* { dg-options -O2 } */
extern void exit (int);
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-1.c b/gcc/testsuite/gcc.target/powerpc/altivec-1.c
index 6fae31fe0c1..f235e7b57ac 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-1.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-1.c
@@ -1,5 +1,5 @@
/* { dg-do run { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
/* Program to test PowerPC AltiVec instructions. */
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-10.c b/gcc/testsuite/gcc.target/powerpc/altivec-10.c
index f65ea71ed49..82b3f45a391 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-10.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-10.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-ibm-aix*" } { "-maltivec" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec -mabi=altivec -fno-inline" } */
#include <altivec.h>
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-11.c b/gcc/testsuite/gcc.target/powerpc/altivec-11.c
index a96a84c6d50..648993ab86c 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-11.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-11.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-O2 -maltivec -mabi=altivec" } */
/* { dg-final { scan-assembler-not "lvx" } } */
#include <altivec.h>
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-12.c b/gcc/testsuite/gcc.target/powerpc/altivec-12.c
index 4dc0ea34571..296a3f7510a 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-12.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-12.c
@@ -1,5 +1,5 @@
/* { dg-do run { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
/* Program to test PowerPC AltiVec instructions. */
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-13.c b/gcc/testsuite/gcc.target/powerpc/altivec-13.c
index 8675e2c7cc7..22ff951b830 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-13.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-13.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-ibm-aix*" } { "-maltivec" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
/* Author: Ziemowit Laski <zlaski@apple.com> */
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-14.c b/gcc/testsuite/gcc.target/powerpc/altivec-14.c
index b5712225771..30e5d11d7b1 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-14.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-14.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
#include <altivec.h>
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-15.c b/gcc/testsuite/gcc.target/powerpc/altivec-15.c
index 5d9f9ff37da..4e48cb7652f 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-15.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-15.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-ibm-aix*" } { "-maltivec" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
#include <altivec.h>
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-16.c b/gcc/testsuite/gcc.target/powerpc/altivec-16.c
index 0be609431ce..7f7d2b013de 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-16.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-16.c
@@ -1,7 +1,7 @@
/* This is a compile-only test for interaction of "-maltivec" and "-save-temps". */
/* Author: Ziemowit Laski <zlaski@apple.com>. */
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-ibm-aix*" } { "-maltivec" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-save-temps -maltivec" } */
#include <altivec.h>
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-17.c b/gcc/testsuite/gcc.target/powerpc/altivec-17.c
index 463062ef086..8b108326862 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-17.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-17.c
@@ -2,7 +2,7 @@
typedef name as a vector type specifier. */
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-ibm-aix*" } { "-maltivec" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec -mabi=altivec" } */
typedef unsigned int ui;
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-18.c b/gcc/testsuite/gcc.target/powerpc/altivec-18.c
index 9a3ee33f63d..5d988582049 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-18.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-18.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-ibm-aix*" } { "-maltivec" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec -mabi=altivec" } */
/* { dg-final { scan-assembler "vcmpgtub" { target *-*-linux* } } } */
/* { dg-final { scan-assembler "vcmpgtsb" { target *-*-darwin* } } } */
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-19.c b/gcc/testsuite/gcc.target/powerpc/altivec-19.c
index 1693a5488ee..80f305a5447 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-19.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-19.c
@@ -1,4 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
/* { dg-final { scan-assembler "dst" } } */
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-2.c b/gcc/testsuite/gcc.target/powerpc/altivec-2.c
index 9ba6a892ff9..4f341dd4207 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-2.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-2.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
/* Program to test the vector_size attribute. This needs to run on a
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-21.c b/gcc/testsuite/gcc.target/powerpc/altivec-21.c
index 736cd74feb6..906aa197abf 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-21.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-21.c
@@ -1,4 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
#include <altivec.h>
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-22.c b/gcc/testsuite/gcc.target/powerpc/altivec-22.c
index 1af117c18fd..e09a1b44713 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-22.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-22.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-O3 -maltivec" } */
/* { dg-final { scan-assembler-not "mfcr" } } */
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-3.c b/gcc/testsuite/gcc.target/powerpc/altivec-3.c
index 23c06e512af..17f62fd8f03 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-3.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-3.c
@@ -1,5 +1,5 @@
/* { dg-do run { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
#include "altivec_check.h"
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-4.c b/gcc/testsuite/gcc.target/powerpc/altivec-4.c
index c2d4356a9a5..a5617e25b8a 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-4.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-4.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-ibm-aix*" } { "-maltivec" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec -O0 -Wall" } */
#define vector __attribute__((vector_size(16)))
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-5.c b/gcc/testsuite/gcc.target/powerpc/altivec-5.c
index 87ce1a7ab1f..ae85cdbdc74 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-5.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-5.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec -O2" } */
#define vector __attribute__((vector_size(16)))
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-6.c b/gcc/testsuite/gcc.target/powerpc/altivec-6.c
index e0193546679..6248ca5458d 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-6.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-6.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc-*-* } } */
-/* { dg-xfail-if "" { "powerpc-ibm-aix*" } { "-maltivec" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec -O0 -Wall" } */
#include <altivec.h>
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-7.c b/gcc/testsuite/gcc.target/powerpc/altivec-7.c
index 9a23940d271..30a1ee52062 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-7.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-7.c
@@ -1,7 +1,7 @@
/* Origin: Aldy Hernandez <aldyh@redhat.com> */
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-ibm-aix*" } { "-maltivec" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
#include <altivec.h>
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-8.c b/gcc/testsuite/gcc.target/powerpc/altivec-8.c
index 661cce76221..6668cf2db80 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-8.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-8.c
@@ -2,7 +2,7 @@
/* Test rs6000_legitimate_address. PRE_INC should be invalid. */
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-ibm-aix*" } { "-maltivec" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
#include <altivec.h>
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-9.c b/gcc/testsuite/gcc.target/powerpc/altivec-9.c
index 36c79d3453b..b34dc1b51be 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-9.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-9.c
@@ -1,4 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec -mabi=altivec -g" } */
/* PR9564 */
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-consts.c b/gcc/testsuite/gcc.target/powerpc/altivec-consts.c
index 318c723bcf5..e06a5286b17 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-consts.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-consts.c
@@ -1,5 +1,5 @@
/* { dg-do run { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec -mabi=altivec -O2" } */
/* Check that "easy" AltiVec constants are correctly synthesized. */
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-pr22085.c b/gcc/testsuite/gcc.target/powerpc/altivec-pr22085.c
index ef57fbea57d..a7b81bbad56 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-pr22085.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-pr22085.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec -fpreprocessed" } */
/* Program to test AltiVec with -fpreprocessed. */
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-splat.c b/gcc/testsuite/gcc.target/powerpc/altivec-splat.c
index 29e57bfd228..91ab72d783d 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-splat.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-splat.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec -mabi=altivec -O2" } */
/* Testcase by Richard Guenther and Steven Bosscher.
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-types-1.c b/gcc/testsuite/gcc.target/powerpc/altivec-types-1.c
index 0772abcf7d1..59e5520704a 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-types-1.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-types-1.c
@@ -1,4 +1,5 @@
/* { dg-do compile { target powerpc*-*-linux* } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
/* Valid AltiVec vector types should be accepted with no warnings. */
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-types-2.c b/gcc/testsuite/gcc.target/powerpc/altivec-types-2.c
index 4f4d3f3a123..f64c0c5aa21 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-types-2.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-types-2.c
@@ -1,5 +1,6 @@
/* { dg-do compile { target powerpc*-*-linux* } } */
/* { dg-require-effective-target ilp32 } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
/* These should get warnings for 32-bit code. */
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-types-3.c b/gcc/testsuite/gcc.target/powerpc/altivec-types-3.c
index 42fd3ca359c..38c4d6c1642 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-types-3.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-types-3.c
@@ -1,5 +1,6 @@
/* { dg-do compile { target powerpc*-*-linux* } } */
/* { dg-require-effective-target lp64 } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
/* These should be rejected for 64-bit code. */
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-types-4.c b/gcc/testsuite/gcc.target/powerpc/altivec-types-4.c
index bc2296cc15e..212f6733939 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-types-4.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-types-4.c
@@ -1,5 +1,6 @@
/* { dg-do compile { target powerpc*-*-linux* } } */
/* { dg-require-effective-target ilp32 } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec -mno-warn-altivec-long" } */
/* These should not get warnings for 32-bit code when the warning is
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-varargs-1.c b/gcc/testsuite/gcc.target/powerpc/altivec-varargs-1.c
index 8fba66956e3..2aa54a912a5 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-varargs-1.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-varargs-1.c
@@ -1,5 +1,5 @@
/* { dg-do run { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec -mabi=altivec -fno-inline" } */
#include <stdarg.h>
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-vec-merge.c b/gcc/testsuite/gcc.target/powerpc/altivec-vec-merge.c
index 021e4af8ec3..0e92a07bb57 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-vec-merge.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-vec-merge.c
@@ -1,5 +1,5 @@
/* { dg-do run { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec -O2" } */
#include <altivec.h>
diff --git a/gcc/testsuite/gcc.target/powerpc/ppc-vector-memcpy.c b/gcc/testsuite/gcc.target/powerpc/ppc-vector-memcpy.c
index 99ca85e972c..a9a16ab2f5c 100644
--- a/gcc/testsuite/gcc.target/powerpc/ppc-vector-memcpy.c
+++ b/gcc/testsuite/gcc.target/powerpc/ppc-vector-memcpy.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-O -maltivec" } */
/* { dg-final { scan-assembler "lvx" } } */
diff --git a/gcc/testsuite/gcc.target/powerpc/ppc-vector-memset.c b/gcc/testsuite/gcc.target/powerpc/ppc-vector-memset.c
index 0297e893180..1a290719c32 100644
--- a/gcc/testsuite/gcc.target/powerpc/ppc-vector-memset.c
+++ b/gcc/testsuite/gcc.target/powerpc/ppc-vector-memset.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-O -maltivec" } */
/* { dg-final { scan-assembler "stvx" } } */
diff --git a/gcc/testsuite/gcc.target/powerpc/ppc64-abi-2.c b/gcc/testsuite/gcc.target/powerpc/ppc64-abi-2.c
index 93ce7195d0c..a9883d9e335 100644
--- a/gcc/testsuite/gcc.target/powerpc/ppc64-abi-2.c
+++ b/gcc/testsuite/gcc.target/powerpc/ppc64-abi-2.c
@@ -1,5 +1,4 @@
-/* { dg-do run { target powerpc64-*-linux* } } */
-/* { dg-require-effective-target lp64 } */
+/* { dg-do run { target { { powerpc*-*-linux* && lp64 } && powerpc_altivec_ok } } } */
/* { dg-options "-O2 -fprofile -mprofile-kernel -maltivec -mabi=altivec" } */
#include <stdarg.h>
#include <signal.h>
diff --git a/gcc/testsuite/gcc.target/powerpc/pr16155.c b/gcc/testsuite/gcc.target/powerpc/pr16155.c
index df06e702d05..fffe957dcc4 100644
--- a/gcc/testsuite/gcc.target/powerpc/pr16155.c
+++ b/gcc/testsuite/gcc.target/powerpc/pr16155.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec -ansi" } */
/* PR 16155
diff --git a/gcc/testsuite/gcc.target/powerpc/pr16286.c b/gcc/testsuite/gcc.target/powerpc/pr16286.c
index afca7a91ef2..790b6409fbc 100644
--- a/gcc/testsuite/gcc.target/powerpc/pr16286.c
+++ b/gcc/testsuite/gcc.target/powerpc/pr16286.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
/* PR 16286
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index a5b2461155d..9172bd626c2 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -1175,6 +1175,40 @@ proc check_effective_target_arm32 { } {
return $et_arm32_saved
}
+# Return 1 if this is a PowerPC target with floating-point registers.
+
+proc check_effective_target_powerpc_fprs { } {
+ if { [istarget powerpc*-*-*]
+ || [istarget rs6000-*-*] } {
+ return [check_no_compiler_messages powerpc_fprs object {
+ #ifdef __NO_FPRS__
+ #error no FPRs
+ #else
+ int dummy;
+ #endif
+ }]
+ } else {
+ return 0
+ }
+}
+
+# Return 1 if this is a PowerPC target supporting -maltivec.
+
+proc check_effective_target_powerpc_altivec_ok { } {
+ if { [istarget powerpc*-*-*]
+ || [istarget rs6000-*-*] } {
+ # AltiVec is not supported on Aix.
+ if { [istarget powerpc*-*-aix*] } {
+ return 0
+ }
+ return [check_no_compiler_messages powerpc_altivec_ok object {
+ int dummy;
+ } "-maltivec"]
+ } else {
+ return 0
+ }
+}
+
# Return 1 if the target supports hardware vector shift operation.
proc check_effective_target_vect_shift { } {
diff --git a/gcc/version.c b/gcc/version.c
index 1ec57ec966c..a7979302b21 100644
--- a/gcc/version.c
+++ b/gcc/version.c
@@ -1,15 +1,5 @@
#include "version.h"
-/* This is the trailing component of the string reported as the
- version number by all components of the compiler. For an official
- FSF release, it is empty. If you distribute a modified version of
- GCC, please change this string to indicate that. The suggested
- format is a leading space, followed by your organization's name
- in parentheses. You may also wish to include a number indicating
- the revision of your modified compiler. */
-
-#define VERSUFFIX " (CodeSourcery ARM)"
-
/* This is the location of the online document giving instructions for
reporting bugs. If you distribute a modified version of GCC,
please change this to refer to a document giving instructions for
@@ -17,7 +7,7 @@
forward us bugs reported to you, if you determine that they are
not bugs in your modifications.) */
-const char bug_report_url[] = "arm-gnu@codesourcery.com";
+const char bug_report_url[] = BUGURL;
/* The complete version string, assembled from several pieces.
BASEVER, DATESTAMP, and DEVPHASE are defined by the Makefile. */