X-Git-Url: http://gitweb.hugovil.com/?a=blobdiff_plain;f=stage0%2Fpatches%2Fcommon%2Fgcc-4.6.3-branch_update-2.patch;fp=stage0%2Fpatches%2Fcommon%2Fgcc-4.6.3-branch_update-2.patch;h=283a93e3698410ca0056e6dcdc9518e17d6d581d;hb=f17ab848cb756cad27489bf0c2746e5ead466658;hp=0000000000000000000000000000000000000000;hpb=a1358efe562a4e73ef23f25c606a346f684e1c93;p=hvlinux.git diff --git a/stage0/patches/common/gcc-4.6.3-branch_update-2.patch b/stage0/patches/common/gcc-4.6.3-branch_update-2.patch new file mode 100644 index 0000000..283a93e --- /dev/null +++ b/stage0/patches/common/gcc-4.6.3-branch_update-2.patch @@ -0,0 +1,14541 @@ +Submitted By: Jim Gifford (jim at cross-lfs dot org) +Date: 11-05-2012 +Initial Package Version: 4.6.3 +Origin: Upstream +Upstream Status: Applied +Description: This is a branch update for gcc-4.6.3, and should be + rechecked periodically. + +This patch was made from Revision # 193147. + +diff -Naur gcc-4.6.3.orig/boehm-gc/configure gcc-4.6.3/boehm-gc/configure +--- gcc-4.6.3.orig/boehm-gc/configure 2012-03-01 06:03:46.000000000 -0600 ++++ gcc-4.6.3/boehm-gc/configure 2012-03-02 12:21:41.598223000 -0600 +@@ -15246,6 +15246,17 @@ + fi + done + ++for ac_func in pthread_get_stackaddr_np ++do : ++ ac_fn_c_check_func "$LINENO" "pthread_get_stackaddr_np" "ac_cv_func_pthread_get_stackaddr_np" ++if test "x$ac_cv_func_pthread_get_stackaddr_np" = x""yes; then : ++ cat >>confdefs.h <<_ACEOF ++#define HAVE_PTHREAD_GET_STACKADDR_NP 1 ++_ACEOF ++ ++fi ++done ++ + LIBS="$oldLIBS" + + # Configuration of machine-dependent code +diff -Naur gcc-4.6.3.orig/boehm-gc/configure.ac gcc-4.6.3/boehm-gc/configure.ac +--- gcc-4.6.3.orig/boehm-gc/configure.ac 2011-02-02 07:53:56.000000000 -0600 ++++ gcc-4.6.3/boehm-gc/configure.ac 2012-03-02 12:21:41.598223000 -0600 +@@ -392,6 +392,7 @@ + oldLIBS="$LIBS" + LIBS="$LIBS $THREADLIBS" + AC_CHECK_FUNCS([pthread_getattr_np]) ++AC_CHECK_FUNCS([pthread_get_stackaddr_np]) + LIBS="$oldLIBS" + + # Configuration of machine-dependent code +diff -Naur gcc-4.6.3.orig/boehm-gc/include/gc_config.h.in gcc-4.6.3/boehm-gc/include/gc_config.h.in +--- gcc-4.6.3.orig/boehm-gc/include/gc_config.h.in 2009-08-22 08:22:20.000000000 -0500 ++++ gcc-4.6.3/boehm-gc/include/gc_config.h.in 2012-03-02 12:21:41.598223000 -0600 +@@ -87,6 +87,9 @@ + /* Define to 1 if you have the `pthread_getattr_np' function. */ + #undef HAVE_PTHREAD_GETATTR_NP + ++/* Define to 1 if you have the `pthread_get_stackaddr_np_np' function. */ ++#undef HAVE_PTHREAD_GET_STACKADDR_NP ++ + /* Define to 1 if you have the header file. */ + #undef HAVE_STDINT_H + +diff -Naur gcc-4.6.3.orig/boehm-gc/include/private/gcconfig.h gcc-4.6.3/boehm-gc/include/private/gcconfig.h +--- gcc-4.6.3.orig/boehm-gc/include/private/gcconfig.h 2010-03-21 14:34:19.000000000 -0500 ++++ gcc-4.6.3/boehm-gc/include/private/gcconfig.h 2012-03-02 12:21:41.598223000 -0600 +@@ -1331,7 +1331,11 @@ + These aren't used when dyld support is enabled (it is by default) */ + # define DATASTART ((ptr_t) get_etext()) + # define DATAEND ((ptr_t) get_end()) +-# define STACKBOTTOM ((ptr_t) 0xc0000000) ++# ifdef HAVE_PTHREAD_GET_STACKADDR_NP ++# define STACKBOTTOM (ptr_t)pthread_get_stackaddr_np(pthread_self()) ++# else ++# define STACKBOTTOM ((ptr_t) 0xc0000000) ++# endif + # define USE_MMAP + # define USE_MMAP_ANON + # define USE_ASM_PUSH_REGS +@@ -2011,7 +2015,11 @@ + These aren't used when dyld support is enabled (it is by default) */ + # define DATASTART ((ptr_t) get_etext()) + # define DATAEND ((ptr_t) get_end()) +-# define STACKBOTTOM ((ptr_t) 0x7fff5fc00000) ++# ifdef HAVE_PTHREAD_GET_STACKADDR_NP ++# define STACKBOTTOM (ptr_t)pthread_get_stackaddr_np(pthread_self()) ++# else ++# define STACKBOTTOM ((ptr_t) 0x7fff5fc00000) ++# endif + # define USE_MMAP + # define USE_MMAP_ANON + # ifdef GC_DARWIN_THREADS +diff -Naur gcc-4.6.3.orig/gcc/ada/gcc-interface/decl.c gcc-4.6.3/gcc/ada/gcc-interface/decl.c +--- gcc-4.6.3.orig/gcc/ada/gcc-interface/decl.c 2012-01-21 09:01:48.000000000 -0600 ++++ gcc-4.6.3/gcc/ada/gcc-interface/decl.c 2012-05-26 05:44:06.390872000 -0500 +@@ -120,8 +120,8 @@ + /* The value of the qualifier. */ + tree qual; + +- /* The record associated with this variant. */ +- tree record; ++ /* The type of the variant after transformation. */ ++ tree new_type; + } variant_desc; + + DEF_VEC_O(variant_desc); +@@ -3157,11 +3157,16 @@ + { + tree old_variant = v->type; + tree new_variant = make_node (RECORD_TYPE); ++ tree suffix ++ = concat_name (DECL_NAME (gnu_variant_part), ++ IDENTIFIER_POINTER ++ (DECL_NAME (v->field))); + TYPE_NAME (new_variant) +- = DECL_NAME (TYPE_NAME (old_variant)); ++ = concat_name (TYPE_NAME (gnu_type), ++ IDENTIFIER_POINTER (suffix)); + copy_and_substitute_in_size (new_variant, old_variant, + gnu_subst_list); +- v->record = new_variant; ++ v->new_type = new_variant; + } + } + else +@@ -3265,7 +3270,7 @@ + if (selected_variant) + gnu_cont_type = gnu_type; + else +- gnu_cont_type = v->record; ++ gnu_cont_type = v->new_type; + } + else + /* The front-end may pass us "ghost" components if +@@ -7704,7 +7709,7 @@ + v->type = variant_type; + v->field = gnu_field; + v->qual = qual; +- v->record = NULL_TREE; ++ v->new_type = NULL_TREE; + + /* Recurse on the variant subpart of the variant, if any. */ + variant_subpart = get_variant_part (variant_type); +@@ -8457,7 +8462,9 @@ + + /* First create the type of the variant part from that of the old one. */ + new_union_type = make_node (QUAL_UNION_TYPE); +- TYPE_NAME (new_union_type) = DECL_NAME (TYPE_NAME (old_union_type)); ++ TYPE_NAME (new_union_type) ++ = concat_name (TYPE_NAME (record_type), ++ IDENTIFIER_POINTER (DECL_NAME (old_variant_part))); + + /* If the position of the variant part is constant, subtract it from the + size of the type of the parent to get the new size. This manual CSE +@@ -8491,7 +8498,7 @@ + continue; + + /* Retrieve the list of fields already added to the new variant. */ +- new_variant = v->record; ++ new_variant = v->new_type; + field_list = TYPE_FIELDS (new_variant); + + /* If the old variant had a variant subpart, we need to create a new +diff -Naur gcc-4.6.3.orig/gcc/cgraph.c gcc-4.6.3/gcc/cgraph.c +--- gcc-4.6.3.orig/gcc/cgraph.c 2011-06-06 12:16:35.000000000 -0500 ++++ gcc-4.6.3/gcc/cgraph.c 2012-03-25 04:39:32.217767000 -0500 +@@ -1700,19 +1700,27 @@ + free_nodes = node; + } + +-/* Remove the node from cgraph. */ ++/* Remove the node from cgraph and all inline clones inlined into it. ++ Skip however removal of FORBIDDEN_NODE and return true if it needs to be ++ removed. This allows to call the function from outer loop walking clone ++ tree. */ + +-void +-cgraph_remove_node_and_inline_clones (struct cgraph_node *node) ++bool ++cgraph_remove_node_and_inline_clones (struct cgraph_node *node, struct cgraph_node *forbidden_node) + { + struct cgraph_edge *e, *next; ++ bool found = false; ++ ++ if (node == forbidden_node) ++ return true; + for (e = node->callees; e; e = next) + { + next = e->next_callee; + if (!e->inline_failed) +- cgraph_remove_node_and_inline_clones (e->callee); ++ found |= cgraph_remove_node_and_inline_clones (e->callee, forbidden_node); + } + cgraph_remove_node (node); ++ return found; + } + + /* Notify finalize_compilation_unit that given node is reachable. */ +diff -Naur gcc-4.6.3.orig/gcc/cgraph.h gcc-4.6.3/gcc/cgraph.h +--- gcc-4.6.3.orig/gcc/cgraph.h 2011-03-04 12:49:23.000000000 -0600 ++++ gcc-4.6.3/gcc/cgraph.h 2012-03-25 04:39:32.217767000 -0500 +@@ -547,7 +547,7 @@ + void cgraph_insert_node_to_hashtable (struct cgraph_node *node); + void cgraph_remove_edge (struct cgraph_edge *); + void cgraph_remove_node (struct cgraph_node *); +-void cgraph_remove_node_and_inline_clones (struct cgraph_node *); ++bool cgraph_remove_node_and_inline_clones (struct cgraph_node *, struct cgraph_node *); + void cgraph_release_function_body (struct cgraph_node *); + void cgraph_node_remove_callees (struct cgraph_node *node); + struct cgraph_edge *cgraph_create_edge (struct cgraph_node *, +diff -Naur gcc-4.6.3.orig/gcc/cgraphunit.c gcc-4.6.3/gcc/cgraphunit.c +--- gcc-4.6.3.orig/gcc/cgraphunit.c 2011-03-11 07:27:26.000000000 -0600 ++++ gcc-4.6.3/gcc/cgraphunit.c 2012-03-25 04:39:32.217767000 -0500 +@@ -2157,8 +2157,19 @@ + first_clone->ipa_transforms_to_apply); + first_clone->ipa_transforms_to_apply = NULL; + ++ /* When doing recursive inlining, the clone may become unnecessary. ++ This is possible i.e. in the case when the recursive function is proved to be ++ non-throwing and the recursion happens only in the EH landing pad. ++ We can not remove the clone until we are done with saving the body. ++ Remove it now. */ ++ if (!first_clone->callers) ++ { ++ cgraph_remove_node_and_inline_clones (first_clone, NULL); ++ first_clone = NULL; ++ } + #ifdef ENABLE_CHECKING +- verify_cgraph_node (first_clone); ++ else ++ verify_cgraph_node (first_clone); + #endif + return first_clone; + } +diff -Naur gcc-4.6.3.orig/gcc/combine.c gcc-4.6.3/gcc/combine.c +--- gcc-4.6.3.orig/gcc/combine.c 2012-02-09 11:29:38.000000000 -0600 ++++ gcc-4.6.3/gcc/combine.c 2012-03-15 05:04:12.913641000 -0500 +@@ -1788,6 +1788,10 @@ + if (set == 0) + return 0; + ++ /* The simplification in expand_field_assignment may call back to ++ get_last_value, so set safe guard here. */ ++ subst_low_luid = DF_INSN_LUID (insn); ++ + set = expand_field_assignment (set); + src = SET_SRC (set), dest = SET_DEST (set); + +diff -Naur gcc-4.6.3.orig/gcc/config/alpha/alpha.c gcc-4.6.3/gcc/config/alpha/alpha.c +--- gcc-4.6.3.orig/gcc/config/alpha/alpha.c 2011-08-06 13:41:14.000000000 -0500 ++++ gcc-4.6.3/gcc/config/alpha/alpha.c 2012-08-09 16:49:40.880473000 -0500 +@@ -2469,7 +2469,7 @@ + { + case EQ: case LE: case LT: case LEU: case LTU: + case UNORDERED: +- /* We have these compares: */ ++ /* We have these compares. */ + cmp_code = code, branch_code = NE; + break; + +@@ -2706,13 +2706,15 @@ + switch (code) + { + case EQ: case LE: case LT: case LEU: case LTU: ++ case UNORDERED: + /* We have these compares. */ + cmp_code = code, code = NE; + break; + + case NE: +- /* This must be reversed. */ +- cmp_code = EQ, code = EQ; ++ case ORDERED: ++ /* These must be reversed. */ ++ cmp_code = reverse_condition (code), code = EQ; + break; + + case GE: case GT: case GEU: case GTU: +@@ -2732,6 +2734,14 @@ + gcc_unreachable (); + } + ++ if (cmp_mode == DImode) ++ { ++ if (!reg_or_0_operand (op0, DImode)) ++ op0 = force_reg (DImode, op0); ++ if (!reg_or_8bit_operand (op1, DImode)) ++ op1 = force_reg (DImode, op1); ++ } ++ + tem = gen_reg_rtx (cmp_mode); + emit_insn (gen_rtx_SET (VOIDmode, tem, + gen_rtx_fmt_ee (cmp_code, cmp_mode, +@@ -2743,6 +2753,14 @@ + local_fast_math = 1; + } + ++ if (cmp_mode == DImode) ++ { ++ if (!reg_or_0_operand (op0, DImode)) ++ op0 = force_reg (DImode, op0); ++ if (!reg_or_8bit_operand (op1, DImode)) ++ op1 = force_reg (DImode, op1); ++ } ++ + /* We may be able to use a conditional move directly. + This avoids emitting spurious compares. */ + if (signed_comparison_operator (cmp, VOIDmode) +@@ -2761,11 +2779,13 @@ + switch (code) + { + case EQ: case LE: case LT: case LEU: case LTU: ++ case UNORDERED: + /* We have these compares: */ + break; + + case NE: +- /* This must be reversed. */ ++ case ORDERED: ++ /* These must be reversed. */ + code = reverse_condition (code); + cmov_code = EQ; + break; +@@ -9628,18 +9648,19 @@ + } + } + +-/* Insert an unop between a noreturn function call and GP load. */ ++/* Insert an unop between sibcall or noreturn function call and GP load. */ + + static void +-alpha_pad_noreturn (void) ++alpha_pad_function_end (void) + { + rtx insn, next; + + for (insn = get_insns (); insn; insn = NEXT_INSN (insn)) + { +- if (!CALL_P (insn) +- || !find_reg_note (insn, REG_NORETURN, NULL_RTX)) +- continue; ++ if (! (CALL_P (insn) ++ && (SIBLING_CALL_P (insn) ++ || find_reg_note (insn, REG_NORETURN, NULL_RTX)))) ++ continue; + + next = next_active_insn (insn); + +@@ -9660,8 +9681,28 @@ + static void + alpha_reorg (void) + { +- /* Workaround for a linker error that triggers when an +- exception handler immediatelly follows a noreturn function. ++ /* Workaround for a linker error that triggers when an exception ++ handler immediatelly follows a sibcall or a noreturn function. ++ ++In the sibcall case: ++ ++ The instruction stream from an object file: ++ ++ 1d8: 00 00 fb 6b jmp (t12) ++ 1dc: 00 00 ba 27 ldah gp,0(ra) ++ 1e0: 00 00 bd 23 lda gp,0(gp) ++ 1e4: 00 00 7d a7 ldq t12,0(gp) ++ 1e8: 00 40 5b 6b jsr ra,(t12),1ec <__funcZ+0x1ec> ++ ++ was converted in the final link pass to: ++ ++ 12003aa88: 67 fa ff c3 br 120039428 <...> ++ 12003aa8c: 00 00 fe 2f unop ++ 12003aa90: 00 00 fe 2f unop ++ 12003aa94: 48 83 7d a7 ldq t12,-31928(gp) ++ 12003aa98: 00 40 5b 6b jsr ra,(t12),12003aa9c <__func+0x1ec> ++ ++And in the noreturn case: + + The instruction stream from an object file: + +@@ -9681,11 +9722,11 @@ + + GP load instructions were wrongly cleared by the linker relaxation + pass. This workaround prevents removal of GP loads by inserting +- an unop instruction between a noreturn function call and ++ an unop instruction between a sibcall or noreturn function call and + exception handler prologue. */ + + if (current_function_has_exception_handlers ()) +- alpha_pad_noreturn (); ++ alpha_pad_function_end (); + + if (alpha_tp != ALPHA_TP_PROG || flag_exceptions) + alpha_handle_trap_shadows (); +diff -Naur gcc-4.6.3.orig/gcc/config/alpha/linux-unwind.h gcc-4.6.3/gcc/config/alpha/linux-unwind.h +--- gcc-4.6.3.orig/gcc/config/alpha/linux-unwind.h 2011-12-21 06:22:48.000000000 -0600 ++++ gcc-4.6.3/gcc/config/alpha/linux-unwind.h 2012-04-20 03:08:13.688436000 -0500 +@@ -1,5 +1,5 @@ + /* DWARF2 EH unwinding support for Alpha Linux. +- Copyright (C) 2004, 2005, 2009, 2011 Free Software Foundation, Inc. ++ Copyright (C) 2004, 2005, 2009, 2011, 2012 Free Software Foundation, Inc. + + This file is part of GCC. + +@@ -49,7 +49,7 @@ + else if (pc[1] == 0x201f015f) /* lda $0,NR_rt_sigreturn */ + { + struct rt_sigframe { +- struct siginfo info; ++ siginfo_t info; + struct ucontext uc; + } *rt_ = context->cfa; + sc = &rt_->uc.uc_mcontext; +diff -Naur gcc-4.6.3.orig/gcc/config/arm/arm.c gcc-4.6.3/gcc/config/arm/arm.c +--- gcc-4.6.3.orig/gcc/config/arm/arm.c 2012-02-14 00:57:17.000000000 -0600 ++++ gcc-4.6.3/gcc/config/arm/arm.c 2012-09-05 05:54:08.480413000 -0500 +@@ -243,6 +243,7 @@ + static bool fa726te_sched_adjust_cost (rtx, rtx, rtx, int *); + static enum machine_mode arm_preferred_simd_mode (enum machine_mode); + static bool arm_class_likely_spilled_p (reg_class_t); ++static HOST_WIDE_INT arm_vector_alignment (const_tree type); + static bool arm_vector_alignment_reachable (const_tree type, bool is_packed); + static bool arm_builtin_support_vector_misalignment (enum machine_mode mode, + const_tree type, +@@ -579,6 +580,9 @@ + #undef TARGET_CLASS_LIKELY_SPILLED_P + #define TARGET_CLASS_LIKELY_SPILLED_P arm_class_likely_spilled_p + ++#undef TARGET_VECTOR_ALIGNMENT ++#define TARGET_VECTOR_ALIGNMENT arm_vector_alignment ++ + #undef TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE + #define TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE \ + arm_vector_alignment_reachable +@@ -2005,7 +2009,8 @@ + global_options_set.x_param_values); + + /* ARM EABI defaults to strict volatile bitfields. */ +- if (TARGET_AAPCS_BASED && flag_strict_volatile_bitfields < 0) ++ if (TARGET_AAPCS_BASED && flag_strict_volatile_bitfields < 0 ++ && abi_version_at_least(2)) + flag_strict_volatile_bitfields = 1; + + /* Enable sw prefetching at -O3 for CPUS that have prefetch, and we have deemed +@@ -4692,6 +4697,18 @@ + return gen_rtx_REG (mode, pcum->nregs); + } + ++/* The AAPCS sets the maximum alignment of a vector to 64 bits. */ ++static HOST_WIDE_INT ++arm_vector_alignment (const_tree type) ++{ ++ HOST_WIDE_INT align = tree_low_cst (TYPE_SIZE (type), 0); ++ ++ if (TARGET_AAPCS_BASED) ++ align = MIN (align, 64); ++ ++ return align; ++} ++ + static unsigned int + arm_function_arg_boundary (enum machine_mode mode, const_tree type) + { +@@ -20427,7 +20444,7 @@ + unsigned long l_mask = live_regs_mask & (for_prologue ? 0x40ff : 0xff); + /* Then count how many other high registers will need to be pushed. */ + unsigned long high_regs_pushed = bit_count (live_regs_mask & 0x0f00); +- int n_free, reg_base; ++ int n_free, reg_base, size; + + if (!for_prologue && frame_pointer_needed) + amount = offsets->locals_base - offsets->saved_regs; +@@ -20466,7 +20483,8 @@ + n_free = 0; + if (!for_prologue) + { +- reg_base = arm_size_return_regs () / UNITS_PER_WORD; ++ size = arm_size_return_regs (); ++ reg_base = ARM_NUM_INTS (size); + live_regs_mask >>= reg_base; + } + +@@ -20520,8 +20538,7 @@ + if (extra_pop > 0) + { + unsigned long extra_mask = (1 << extra_pop) - 1; +- live_regs_mask |= extra_mask << ((size + UNITS_PER_WORD - 1) +- / UNITS_PER_WORD); ++ live_regs_mask |= extra_mask << ARM_NUM_INTS (size); + } + + /* The prolog may have pushed some high registers to use as +@@ -23422,8 +23439,11 @@ + } + } + +- arm_process_output_memory_barrier (emit, NULL); ++ /* Note: label is before barrier so that in cmp failure case we still get ++ a barrier to stop subsequent loads floating upwards past the ldrex ++ PR target/48126. */ + arm_output_asm_insn (emit, 1, operands, "%sLSYB%%=:", LOCAL_LABEL_PREFIX); ++ arm_process_output_memory_barrier (emit, NULL); + } + + static rtx +diff -Naur gcc-4.6.3.orig/gcc/config/arm/arm.h gcc-4.6.3/gcc/config/arm/arm.h +--- gcc-4.6.3.orig/gcc/config/arm/arm.h 2011-07-14 16:26:01.000000000 -0500 ++++ gcc-4.6.3/gcc/config/arm/arm.h 2012-06-19 07:30:17.615240000 -0500 +@@ -294,7 +294,8 @@ + #define TARGET_HAVE_DMB (arm_arch7) + + /* Nonzero if this chip implements a memory barrier via CP15. */ +-#define TARGET_HAVE_DMB_MCR (arm_arch6k && ! TARGET_HAVE_DMB) ++#define TARGET_HAVE_DMB_MCR (arm_arch6 && ! TARGET_HAVE_DMB \ ++ && ! TARGET_THUMB1) + + /* Nonzero if this chip implements a memory barrier instruction. */ + #define TARGET_HAVE_MEMORY_BARRIER (TARGET_HAVE_DMB || TARGET_HAVE_DMB_MCR) +diff -Naur gcc-4.6.3.orig/gcc/config/avr/avr.c gcc-4.6.3/gcc/config/avr/avr.c +--- gcc-4.6.3.orig/gcc/config/avr/avr.c 2012-01-12 11:23:32.000000000 -0600 ++++ gcc-4.6.3/gcc/config/avr/avr.c 2012-09-04 04:21:20.968406000 -0500 +@@ -94,6 +94,7 @@ + static unsigned int avr_case_values_threshold (void); + static bool avr_frame_pointer_required_p (void); + static bool avr_can_eliminate (const int, const int); ++static bool avr_allocate_stack_slots_for_args (void); + static bool avr_class_likely_spilled_p (reg_class_t c); + static rtx avr_function_arg (CUMULATIVE_ARGS *, enum machine_mode, + const_tree, bool); +@@ -218,6 +219,9 @@ + #undef TARGET_CAN_ELIMINATE + #define TARGET_CAN_ELIMINATE avr_can_eliminate + ++#undef TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS ++#define TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS avr_allocate_stack_slots_for_args ++ + #undef TARGET_CLASS_LIKELY_SPILLED_P + #define TARGET_CLASS_LIKELY_SPILLED_P avr_class_likely_spilled_p + +@@ -446,6 +450,16 @@ + return count; + } + ++ ++/* Implement `TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS' */ ++ ++static bool ++avr_allocate_stack_slots_for_args (void) ++{ ++ return !cfun->machine->is_naked; ++} ++ ++ + /* Return true if register FROM can be eliminated via register TO. */ + + bool +@@ -1879,12 +1893,9 @@ + } + else if (test_hard_reg_class (STACK_REG, src)) + { +- *l = 2; +- return AVR_HAVE_8BIT_SP +- ? (AS2 (in,%A0,__SP_L__) CR_TAB +- AS1 (clr,%B0)) +- : (AS2 (in,%A0,__SP_L__) CR_TAB +- AS2 (in,%B0,__SP_H__)); ++ *l = 2; ++ return (AS2 (in,%A0,__SP_L__) CR_TAB ++ AS2 (in,%B0,__SP_H__)); + } + + if (AVR_HAVE_MOVW) +@@ -5177,10 +5188,9 @@ + + default_file_start (); + +- fputs ("__SREG__ = 0x3f\n", asm_out_file); +- if (!AVR_HAVE_8BIT_SP) +- fputs ("__SP_H__ = 0x3e\n", asm_out_file); +- fputs ("__SP_L__ = 0x3d\n", asm_out_file); ++ fputs ("__SREG__ = 0x3f\n" ++ "__SP_H__ = 0x3e\n" ++ "__SP_L__ = 0x3d\n", asm_out_file); + + fputs ("__tmp_reg__ = 0\n" + "__zero_reg__ = 1\n", asm_out_file); +diff -Naur gcc-4.6.3.orig/gcc/config/avr/avr-devices.c gcc-4.6.3/gcc/config/avr/avr-devices.c +--- gcc-4.6.3.orig/gcc/config/avr/avr-devices.c 2011-12-02 13:14:15.000000000 -0600 ++++ gcc-4.6.3/gcc/config/avr/avr-devices.c 2012-09-10 05:51:13.070478000 -0500 +@@ -211,7 +211,7 @@ + { "atmega128rfa1", ARCH_AVR51, "__AVR_ATmega128RFA1__", 0, 0x0200, "m128rfa1" }, + { "at90can128", ARCH_AVR51, "__AVR_AT90CAN128__", 0, 0x0100, "can128" }, + { "at90usb1286", ARCH_AVR51, "__AVR_AT90USB1286__", 0, 0x0100, "usb1286" }, +- { "at90usb1287", ARCH_AVR51, "__AVR_AT90USB1287__", 0, 0x0100, "usb1286" }, ++ { "at90usb1287", ARCH_AVR51, "__AVR_AT90USB1287__", 0, 0x0100, "usb1287" }, + /* 3-Byte PC. */ + { "avr6", ARCH_AVR6, NULL, 0, 0x0200, "m2561" }, + { "atmega2560", ARCH_AVR6, "__AVR_ATmega2560__", 0, 0x0200, "m2560" }, +diff -Naur gcc-4.6.3.orig/gcc/config/avr/avr.md gcc-4.6.3/gcc/config/avr/avr.md +--- gcc-4.6.3.orig/gcc/config/avr/avr.md 2011-12-02 13:14:15.000000000 -0600 ++++ gcc-4.6.3/gcc/config/avr/avr.md 2012-03-28 05:06:51.859458000 -0500 +@@ -299,7 +299,7 @@ + [(set (match_operand:HI 0 "stack_register_operand" "=q") + (unspec_volatile:HI [(match_operand:HI 1 "register_operand" "r")] + UNSPECV_WRITE_SP_IRQ_OFF))] +- "!AVR_HAVE_8BIT_SP" ++ "" + "out __SP_H__, %B1 + out __SP_L__, %A1" + [(set_attr "length" "2") +@@ -309,7 +309,7 @@ + [(set (match_operand:HI 0 "stack_register_operand" "=q") + (unspec_volatile:HI [(match_operand:HI 1 "register_operand" "r")] + UNSPECV_WRITE_SP_IRQ_ON))] +- "!AVR_HAVE_8BIT_SP" ++ "" + "cli + out __SP_H__, %B1 + sei +diff -Naur gcc-4.6.3.orig/gcc/config/avr/avr-stdint.h gcc-4.6.3/gcc/config/avr/avr-stdint.h +--- gcc-4.6.3.orig/gcc/config/avr/avr-stdint.h 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/config/avr/avr-stdint.h 2012-06-04 04:53:04.873173000 -0500 +@@ -0,0 +1,66 @@ ++/* Definitions for types on systems using newlib. ++ Copyright (C) 2012 Free Software Foundation, Inc. ++ ++This file is part of GCC. ++ ++GCC is free software; you can redistribute it and/or modify ++it under the terms of the GNU General Public License as published by ++the Free Software Foundation; either version 3, or (at your option) ++any later version. ++ ++GCC is distributed in the hope that it will be useful, ++but WITHOUT ANY WARRANTY; without even the implied warranty of ++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++GNU General Public License for more details. ++ ++You should have received a copy of the GNU General Public License ++along with GCC; see the file COPYING3. If not see ++. */ ++ ++/* ++ The intention of this file is to supply definitions that work with ++ avr-gcc's -mint8 that sets int to an 8-bit type. ++ ++ This file is intended to yield the same results as newlib-stdint.h, ++ but there are some differences to newlib-stdint.h: ++ ++ - AVR is an 8-bit architecture that cannot access 16-bit values ++ atomically, this SIG_ATOMIC_TYPE is "char". ++ ++ - For the same reason, [u]int_fast8_t is defined as 8-bit type. ++ ++*/ ++ ++#define SIG_ATOMIC_TYPE "char" ++ ++#define INT8_TYPE "signed char" ++#define INT16_TYPE (INT_TYPE_SIZE == 16 ? "short int" : "long int") ++#define INT32_TYPE (INT_TYPE_SIZE == 16 ? "long int" : "long long int") ++#define INT64_TYPE (INT_TYPE_SIZE == 16 ? "long long int" : 0) ++#define UINT8_TYPE "unsigned char" ++#define UINT16_TYPE (INT_TYPE_SIZE == 16 ? "short unsigned int" : "long unsigned int") ++#define UINT32_TYPE (INT_TYPE_SIZE == 16 ? "long unsigned int" : "long long unsigned int") ++#define UINT64_TYPE (INT_TYPE_SIZE == 16 ? "long long unsigned int" : 0) ++ ++#define INT_LEAST8_TYPE INT8_TYPE ++#define INT_LEAST16_TYPE INT16_TYPE ++#define INT_LEAST32_TYPE INT32_TYPE ++#define INT_LEAST64_TYPE INT64_TYPE ++#define UINT_LEAST8_TYPE UINT8_TYPE ++#define UINT_LEAST16_TYPE UINT16_TYPE ++#define UINT_LEAST32_TYPE UINT32_TYPE ++#define UINT_LEAST64_TYPE UINT64_TYPE ++ ++#define INT_FAST8_TYPE INT8_TYPE ++#define INT_FAST16_TYPE (INT_TYPE_SIZE == 16 ? "int" : INT16_TYPE) ++#define INT_FAST32_TYPE INT32_TYPE ++#define INT_FAST64_TYPE INT64_TYPE ++#define UINT_FAST8_TYPE UINT8_TYPE ++#define UINT_FAST16_TYPE (INT_TYPE_SIZE == 16 ? "unsigned int" : UINT16_TYPE) ++#define UINT_FAST32_TYPE UINT32_TYPE ++#define UINT_FAST64_TYPE UINT64_TYPE ++ ++#define INTPTR_TYPE PTRDIFF_TYPE ++#ifndef UINTPTR_TYPE ++#define UINTPTR_TYPE SIZE_TYPE ++#endif +diff -Naur gcc-4.6.3.orig/gcc/config/avr/libgcc.S gcc-4.6.3/gcc/config/avr/libgcc.S +--- gcc-4.6.3.orig/gcc/config/avr/libgcc.S 2011-12-02 13:14:15.000000000 -0600 ++++ gcc-4.6.3/gcc/config/avr/libgcc.S 2012-03-28 05:06:51.859458000 -0500 +@@ -582,15 +582,6 @@ + push r17 + push r28 + push r29 +-#if defined (__AVR_HAVE_8BIT_SP__) +-;; FIXME: __AVR_HAVE_8BIT_SP__ is set on device level, not on core level +-;; so this lines are dead code. To make it work, devices without +-;; SP_H must get their own multilib(s), see PR51345. +- in r28,__SP_L__ +- sub r28,r26 +- clr r29 +- out __SP_L__,r28 +-#else + in r28,__SP_L__ + in r29,__SP_H__ + sub r28,r26 +@@ -600,7 +591,6 @@ + out __SP_H__,r29 + out __SREG__,__tmp_reg__ + out __SP_L__,r28 +-#endif + #if defined (__AVR_HAVE_EIJMP_EICALL__) + eijmp + #else +@@ -635,15 +625,6 @@ + ldd r16,Y+4 + ldd r17,Y+3 + ldd r26,Y+2 +-#if defined (__AVR_HAVE_8BIT_SP__) +-;; FIXME: __AVR_HAVE_8BIT_SP__ is set on device level, not on core level +-;; so this lines are dead code. To make it work, devices without +-;; SP_H must get their own multilib(s). +- ldd r29,Y+1 +- add r28,r30 +- out __SP_L__,r28 +- mov r28, r26 +-#else + ldd r27,Y+1 + add r28,r30 + adc r29,__zero_reg__ +@@ -654,7 +635,6 @@ + out __SP_L__,r28 + mov_l r28, r26 + mov_h r29, r27 +-#endif + ret + .endfunc + #endif /* defined (L_epilogue) */ +diff -Naur gcc-4.6.3.orig/gcc/config/bfin/linux-unwind.h gcc-4.6.3/gcc/config/bfin/linux-unwind.h +--- gcc-4.6.3.orig/gcc/config/bfin/linux-unwind.h 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/gcc/config/bfin/linux-unwind.h 2012-04-20 03:08:13.688436000 -0500 +@@ -1,5 +1,5 @@ + /* DWARF2 EH unwinding support for Blackfin. +- Copyright (C) 2007, 2009 Free Software Foundation, Inc. ++ Copyright (C) 2007, 2009, 2012 Free Software Foundation, Inc. + + This file is part of GCC. + +@@ -48,10 +48,10 @@ + { + struct rt_sigframe { + int sig; +- struct siginfo *pinfo; ++ siginfo_t *pinfo; + void *puc; + char retcode[8]; +- struct siginfo info; ++ siginfo_t info; + struct ucontext uc; + } *rt_ = context->cfa; + +diff -Naur gcc-4.6.3.orig/gcc/config/h8300/h8300.c gcc-4.6.3/gcc/config/h8300/h8300.c +--- gcc-4.6.3.orig/gcc/config/h8300/h8300.c 2010-12-01 07:46:36.000000000 -0600 ++++ gcc-4.6.3/gcc/config/h8300/h8300.c 2012-03-28 21:15:29.973365000 -0500 +@@ -416,7 +416,7 @@ + } + + /* This target defaults to strict volatile bitfields. */ +- if (flag_strict_volatile_bitfields < 0) ++ if (flag_strict_volatile_bitfields < 0 && abi_version_at_least(2)) + flag_strict_volatile_bitfields = 1; + } + +diff -Naur gcc-4.6.3.orig/gcc/config/host-linux.c gcc-4.6.3/gcc/config/host-linux.c +--- gcc-4.6.3.orig/gcc/config/host-linux.c 2010-11-29 08:09:41.000000000 -0600 ++++ gcc-4.6.3/gcc/config/host-linux.c 2012-03-22 21:19:46.206744000 -0500 +@@ -84,6 +84,8 @@ + # define TRY_EMPTY_VM_SPACE 0x60000000 + #elif defined(__mc68000__) + # define TRY_EMPTY_VM_SPACE 0x40000000 ++#elif defined(__ARM_EABI__) ++# define TRY_EMPTY_VM_SPACE 0x60000000 + #else + # define TRY_EMPTY_VM_SPACE 0 + #endif +diff -Naur gcc-4.6.3.orig/gcc/config/i386/driver-i386.c gcc-4.6.3/gcc/config/i386/driver-i386.c +--- gcc-4.6.3.orig/gcc/config/i386/driver-i386.c 2012-01-19 14:15:29.000000000 -0600 ++++ gcc-4.6.3/gcc/config/i386/driver-i386.c 2012-10-03 12:51:22.129805000 -0500 +@@ -1,5 +1,5 @@ + /* Subroutines for the gcc driver. +- Copyright (C) 2006, 2007, 2008, 2010 Free Software Foundation, Inc. ++ Copyright (C) 2006-2012 Free Software Foundation, Inc. + + This file is part of GCC. + +@@ -397,6 +397,8 @@ + unsigned int has_pclmul = 0, has_abm = 0, has_lwp = 0; + unsigned int has_fma = 0, has_fma4 = 0, has_xop = 0; + unsigned int has_bmi = 0, has_tbm = 0; ++ unsigned int has_rdrnd = 0, has_f16c = 0, has_fsgsbase = 0; ++ unsigned int has_osxsave = 0; + + bool arch; + +@@ -438,12 +440,15 @@ + has_sse4_1 = ecx & bit_SSE4_1; + has_sse4_2 = ecx & bit_SSE4_2; + has_avx = ecx & bit_AVX; ++ has_osxsave = ecx & bit_OSXSAVE; + has_cmpxchg16b = ecx & bit_CMPXCHG16B; + has_movbe = ecx & bit_MOVBE; + has_popcnt = ecx & bit_POPCNT; + has_aes = ecx & bit_AES; + has_pclmul = ecx & bit_PCLMUL; + has_fma = ecx & bit_FMA; ++ has_f16c = ecx & bit_F16C; ++ has_rdrnd = ecx & bit_RDRND; + + has_cmpxchg8b = edx & bit_CMPXCHG8B; + has_cmov = edx & bit_CMOV; +@@ -451,6 +456,33 @@ + has_sse = edx & bit_SSE; + has_sse2 = edx & bit_SSE2; + ++ if (max_level >= 7) ++ { ++ __cpuid_count (7, 0, eax, ebx, ecx, edx); ++ ++ has_fsgsbase = ebx & bit_FSGSBASE; ++ } ++ ++ /* Get XCR_XFEATURE_ENABLED_MASK register with xgetbv. */ ++#define XCR_XFEATURE_ENABLED_MASK 0x0 ++#define XSTATE_FP 0x1 ++#define XSTATE_SSE 0x2 ++#define XSTATE_YMM 0x4 ++ if (has_osxsave) ++ asm (".byte 0x0f; .byte 0x01; .byte 0xd0" ++ : "=a" (eax), "=d" (edx) ++ : "c" (XCR_XFEATURE_ENABLED_MASK)); ++ ++ /* Check if SSE and YMM states are supported. */ ++ if (!has_osxsave ++ || (eax & (XSTATE_SSE | XSTATE_YMM)) != (XSTATE_SSE | XSTATE_YMM)) ++ { ++ has_avx = 0; ++ has_fma = 0; ++ has_fma4 = 0; ++ has_xop = 0; ++ } ++ + /* Check cpuid level of extended features. */ + __cpuid (0x80000000, ext_level, ebx, ecx, edx); + +@@ -711,10 +743,13 @@ + const char *avx = has_avx ? " -mavx" : " -mno-avx"; + const char *sse4_2 = has_sse4_2 ? " -msse4.2" : " -mno-sse4.2"; + const char *sse4_1 = has_sse4_1 ? " -msse4.1" : " -mno-sse4.1"; ++ const char *rdrnd = has_rdrnd ? " -mrdrnd" : " -mno-rdrnd"; ++ const char *f16c = has_f16c ? " -mf16c" : " -mno-f16c"; ++ const char *fsgsbase = has_fsgsbase ? " -mfsgsbase" : " -mno-fsgsbase"; + + options = concat (options, cx16, sahf, movbe, ase, pclmul, + popcnt, abm, lwp, fma, fma4, xop, bmi, tbm, +- avx, sse4_2, sse4_1, NULL); ++ avx, sse4_2, sse4_1, rdrnd, f16c, fsgsbase, NULL); + } + + done: +diff -Naur gcc-4.6.3.orig/gcc/config/i386/i386.c gcc-4.6.3/gcc/config/i386/i386.c +--- gcc-4.6.3.orig/gcc/config/i386/i386.c 2012-02-22 13:17:42.000000000 -0600 ++++ gcc-4.6.3/gcc/config/i386/i386.c 2012-05-22 04:20:15.992160000 -0500 +@@ -46,6 +46,7 @@ + #include "target.h" + #include "target-def.h" + #include "langhooks.h" ++#include "reload.h" + #include "cgraph.h" + #include "gimple.h" + #include "dwarf2.h" +@@ -2094,7 +2095,7 @@ + /* Feature tests against the various architecture variations, used to create + ix86_arch_features based on the processor mask. */ + static unsigned int initial_ix86_arch_features[X86_ARCH_LAST] = { +- /* X86_ARCH_CMOVE: Conditional move was added for pentiumpro. */ ++ /* X86_ARCH_CMOV: Conditional move was added for pentiumpro. */ + ~(m_386 | m_486 | m_PENT | m_K6), + + /* X86_ARCH_CMPXCHG: Compare and exchange was added for 80486. */ +@@ -3811,7 +3812,7 @@ + -mtune (rather than -march) points us to a processor that has them. + However, the VIA C3 gives a SIGILL, so we only do that for i686 and + higher processors. */ +- if (TARGET_CMOVE ++ if (TARGET_CMOV + && (processor_alias_table[i].flags & (PTA_PREFETCH_SSE | PTA_SSE))) + x86_prefetch_sse = true; + break; +@@ -4181,12 +4182,6 @@ + target_flags |= MASK_ACCUMULATE_OUTGOING_ARGS; + } + +- /* For sane SSE instruction set generation we need fcomi instruction. +- It is safe to enable all CMOVE instructions. Also, RDRAND intrinsic +- expands to a sequence that includes conditional move. */ +- if (TARGET_SSE || TARGET_RDRND) +- TARGET_CMOVE = 1; +- + /* Figure out what ASM_GENERATE_INTERNAL_LABEL builds as a prefix. */ + { + char *p; +@@ -12168,6 +12163,64 @@ + return false; + } + ++/* Our implementation of LEGITIMIZE_RELOAD_ADDRESS. Returns a value to ++ replace the input X, or the original X if no replacement is called for. ++ The output parameter *WIN is 1 if the calling macro should goto WIN, ++ 0 if it should not. */ ++ ++bool ++ix86_legitimize_reload_address (rtx x, ++ enum machine_mode mode ATTRIBUTE_UNUSED, ++ int opnum, int type, ++ int ind_levels ATTRIBUTE_UNUSED) ++{ ++ /* Reload can generate: ++ ++ (plus:DI (plus:DI (unspec:DI [(const_int 0 [0])] UNSPEC_TP) ++ (reg:DI 97)) ++ (reg:DI 2 cx)) ++ ++ This RTX is rejected from ix86_legitimate_address_p due to ++ non-strictness of base register 97. Following this rejection, ++ reload pushes all three components into separate registers, ++ creating invalid memory address RTX. ++ ++ Following code reloads only the invalid part of the ++ memory address RTX. */ ++ ++ if (GET_CODE (x) == PLUS ++ && REG_P (XEXP (x, 1)) ++ && GET_CODE (XEXP (x, 0)) == PLUS ++ && REG_P (XEXP (XEXP (x, 0), 1))) ++ { ++ rtx base, index; ++ bool something_reloaded = false; ++ ++ base = XEXP (XEXP (x, 0), 1); ++ if (!REG_OK_FOR_BASE_STRICT_P (base)) ++ { ++ push_reload (base, NULL_RTX, &XEXP (XEXP (x, 0), 1), NULL, ++ BASE_REG_CLASS, GET_MODE (x), VOIDmode, 0, 0, ++ opnum, (enum reload_type)type); ++ something_reloaded = true; ++ } ++ ++ index = XEXP (x, 1); ++ if (!REG_OK_FOR_INDEX_STRICT_P (index)) ++ { ++ push_reload (index, NULL_RTX, &XEXP (x, 1), NULL, ++ INDEX_REG_CLASS, GET_MODE (x), VOIDmode, 0, 0, ++ opnum, (enum reload_type)type); ++ something_reloaded = true; ++ } ++ ++ gcc_assert (something_reloaded); ++ return true; ++ } ++ ++ return false; ++} ++ + /* Recognizes RTL expressions that are valid memory addresses for an + instruction. The MODE argument is the machine mode for the MEM + expression that wants to use this address. +@@ -27177,8 +27230,8 @@ + arg_adjust = 0; + if (optimize + || target == 0 +- || GET_MODE (target) != tmode +- || !insn_p->operand[0].predicate (target, tmode)) ++ || !register_operand (target, tmode) ++ || GET_MODE (target) != tmode) + target = gen_reg_rtx (tmode); + } + +@@ -31377,9 +31430,9 @@ + tmp = gen_reg_rtx (GET_MODE_INNER (mode)); + ix86_expand_vector_extract (true, tmp, target, 1 - elt); + if (elt == 0) +- tmp = gen_rtx_VEC_CONCAT (mode, tmp, val); +- else + tmp = gen_rtx_VEC_CONCAT (mode, val, tmp); ++ else ++ tmp = gen_rtx_VEC_CONCAT (mode, tmp, val); + emit_insn (gen_rtx_SET (VOIDmode, target, tmp)); + return; + } +@@ -31393,9 +31446,9 @@ + tmp = gen_reg_rtx (GET_MODE_INNER (mode)); + ix86_expand_vector_extract (false, tmp, target, 1 - elt); + if (elt == 0) +- tmp = gen_rtx_VEC_CONCAT (mode, tmp, val); +- else + tmp = gen_rtx_VEC_CONCAT (mode, val, tmp); ++ else ++ tmp = gen_rtx_VEC_CONCAT (mode, tmp, val); + emit_insn (gen_rtx_SET (VOIDmode, target, tmp)); + return; + +@@ -32823,7 +32876,8 @@ + return ix86_cost->cond_not_taken_branch_cost; + + case vec_perm: +- return 1; ++ case vec_promote_demote: ++ return ix86_cost->vec_stmt_cost; + + default: + gcc_unreachable (); +diff -Naur gcc-4.6.3.orig/gcc/config/i386/i386.h gcc-4.6.3/gcc/config/i386/i386.h +--- gcc-4.6.3.orig/gcc/config/i386/i386.h 2011-06-29 15:15:32.000000000 -0500 ++++ gcc-4.6.3/gcc/config/i386/i386.h 2012-05-04 12:48:56.810029000 -0500 +@@ -424,7 +424,7 @@ + + /* Feature tests against the various architecture variations. */ + enum ix86_arch_indices { +- X86_ARCH_CMOVE, /* || TARGET_SSE */ ++ X86_ARCH_CMOV, + X86_ARCH_CMPXCHG, + X86_ARCH_CMPXCHG8B, + X86_ARCH_XADD, +@@ -435,12 +435,17 @@ + + extern unsigned char ix86_arch_features[X86_ARCH_LAST]; + +-#define TARGET_CMOVE ix86_arch_features[X86_ARCH_CMOVE] ++#define TARGET_CMOV ix86_arch_features[X86_ARCH_CMOV] + #define TARGET_CMPXCHG ix86_arch_features[X86_ARCH_CMPXCHG] + #define TARGET_CMPXCHG8B ix86_arch_features[X86_ARCH_CMPXCHG8B] + #define TARGET_XADD ix86_arch_features[X86_ARCH_XADD] + #define TARGET_BSWAP ix86_arch_features[X86_ARCH_BSWAP] + ++/* For sane SSE instruction set generation we need fcomi instruction. ++ It is safe to enable all CMOVE instructions. Also, RDRAND intrinsic ++ expands to a sequence that includes conditional move. */ ++#define TARGET_CMOVE (TARGET_CMOV || TARGET_SSE || TARGET_RDRND) ++ + #define TARGET_FISTTP (TARGET_SSE3 && TARGET_80387) + + extern int x86_prefetch_sse; +@@ -1668,6 +1673,17 @@ + + #define LEGITIMATE_CONSTANT_P(X) legitimate_constant_p (X) + ++/* Try a machine-dependent way of reloading an illegitimate address ++ operand. If we find one, push the reload and jump to WIN. This ++ macro is used in only one place: `find_reloads_address' in reload.c. */ ++ ++#define LEGITIMIZE_RELOAD_ADDRESS(X, MODE, OPNUM, TYPE, INDL, WIN) \ ++do { \ ++ if (ix86_legitimize_reload_address ((X), (MODE), (OPNUM), \ ++ (int)(TYPE), (INDL))) \ ++ goto WIN; \ ++} while (0) ++ + /* If defined, a C expression to determine the base term of address X. + This macro is used in only one place: `find_base_term' in alias.c. + +diff -Naur gcc-4.6.3.orig/gcc/config/i386/i386.md gcc-4.6.3/gcc/config/i386/i386.md +--- gcc-4.6.3.orig/gcc/config/i386/i386.md 2012-01-12 04:33:42.000000000 -0600 ++++ gcc-4.6.3/gcc/config/i386/i386.md 2012-05-21 07:59:53.696085000 -0500 +@@ -233,9 +233,6 @@ + + ;; For BMI support + UNSPEC_BEXTR +- +- ;; For RDRAND support +- UNSPEC_RDRAND + ]) + + (define_c_enum "unspecv" [ +@@ -270,6 +267,9 @@ + UNSPECV_WRFSBASE + UNSPECV_WRGSBASE + UNSPECV_SPLIT_STACK_RETURN ++ ++ ;; For RDRAND support ++ UNSPECV_RDRAND + ]) + + ;; Constants to represent pcomtrue/pcomfalse variants +@@ -16349,7 +16349,8 @@ + (define_insn "*x86_movcc_0_m1_neg" + [(set (match_operand:SWI48 0 "register_operand" "=r") + (neg:SWI48 (match_operator 1 "ix86_carry_flag_operator" +- [(reg FLAGS_REG) (const_int 0)])))] ++ [(reg FLAGS_REG) (const_int 0)]))) ++ (clobber (reg:CC FLAGS_REG))] + "" + "sbb{}\t%0, %0" + [(set_attr "type" "alu") +@@ -18357,9 +18358,9 @@ + + (define_insn "rdrand_1" + [(set (match_operand:SWI248 0 "register_operand" "=r") +- (unspec:SWI248 [(const_int 0)] UNSPEC_RDRAND)) ++ (unspec_volatile:SWI248 [(const_int 0)] UNSPECV_RDRAND)) + (set (reg:CCC FLAGS_REG) +- (unspec:CCC [(const_int 0)] UNSPEC_RDRAND))] ++ (unspec_volatile:CCC [(const_int 0)] UNSPECV_RDRAND))] + "TARGET_RDRND" + "rdrand\t%0" + [(set_attr "type" "other") +diff -Naur gcc-4.6.3.orig/gcc/config/i386/i386-protos.h gcc-4.6.3/gcc/config/i386/i386-protos.h +--- gcc-4.6.3.orig/gcc/config/i386/i386-protos.h 2011-01-13 14:01:57.000000000 -0600 ++++ gcc-4.6.3/gcc/config/i386/i386-protos.h 2012-03-29 14:19:26.420040000 -0500 +@@ -59,7 +59,8 @@ + extern bool constant_address_p (rtx); + extern bool legitimate_pic_operand_p (rtx); + extern bool legitimate_pic_address_disp_p (rtx); +- ++extern bool ix86_legitimize_reload_address (rtx, enum machine_mode, ++ int, int, int); + extern void print_reg (rtx, int, FILE*); + extern void ix86_print_operand (FILE *, rtx, int); + +diff -Naur gcc-4.6.3.orig/gcc/config/i386/linux-unwind.h gcc-4.6.3/gcc/config/i386/linux-unwind.h +--- gcc-4.6.3.orig/gcc/config/i386/linux-unwind.h 2011-01-03 14:52:22.000000000 -0600 ++++ gcc-4.6.3/gcc/config/i386/linux-unwind.h 2012-04-20 03:08:13.688436000 -0500 +@@ -1,5 +1,6 @@ + /* DWARF2 EH unwinding support for AMD x86-64 and x86. +- Copyright (C) 2004, 2005, 2006, 2009, 2010 Free Software Foundation, Inc. ++ Copyright (C) 2004, 2005, 2006, 2009, 2010, 2012 Free Software Foundation, ++ Inc. + + This file is part of GCC. + +@@ -133,9 +134,9 @@ + { + struct rt_sigframe { + int sig; +- struct siginfo *pinfo; ++ siginfo_t *pinfo; + void *puc; +- struct siginfo info; ++ siginfo_t info; + struct ucontext uc; + } *rt_ = context->cfa; + /* The void * cast is necessary to avoid an aliasing warning. +diff -Naur gcc-4.6.3.orig/gcc/config/i386/sse.md gcc-4.6.3/gcc/config/i386/sse.md +--- gcc-4.6.3.orig/gcc/config/i386/sse.md 2011-10-27 16:55:22.000000000 -0500 ++++ gcc-4.6.3/gcc/config/i386/sse.md 2012-06-17 09:09:00.121097000 -0500 +@@ -392,18 +392,7 @@ + DONE; + }) + +-(define_expand "avx_movu" +- [(set (match_operand:AVXMODEF2P 0 "nonimmediate_operand" "") +- (unspec:AVXMODEF2P +- [(match_operand:AVXMODEF2P 1 "nonimmediate_operand" "")] +- UNSPEC_MOVU))] +- "AVX_VEC_FLOAT_MODE_P (mode)" +-{ +- if (MEM_P (operands[0]) && MEM_P (operands[1])) +- operands[1] = force_reg (mode, operands[1]); +-}) +- +-(define_insn "*avx_movu" ++(define_insn "avx_movu" + [(set (match_operand:AVXMODEF2P 0 "nonimmediate_operand" "=x,m") + (unspec:AVXMODEF2P + [(match_operand:AVXMODEF2P 1 "nonimmediate_operand" "xm,x")] +@@ -429,18 +418,7 @@ + (set_attr "prefix" "maybe_vex") + (set_attr "mode" "TI")]) + +-(define_expand "_movu" +- [(set (match_operand:SSEMODEF2P 0 "nonimmediate_operand" "") +- (unspec:SSEMODEF2P +- [(match_operand:SSEMODEF2P 1 "nonimmediate_operand" "")] +- UNSPEC_MOVU))] +- "SSE_VEC_FLOAT_MODE_P (mode)" +-{ +- if (MEM_P (operands[0]) && MEM_P (operands[1])) +- operands[1] = force_reg (mode, operands[1]); +-}) +- +-(define_insn "*_movu" ++(define_insn "_movu" + [(set (match_operand:SSEMODEF2P 0 "nonimmediate_operand" "=x,m") + (unspec:SSEMODEF2P + [(match_operand:SSEMODEF2P 1 "nonimmediate_operand" "xm,x")] +@@ -452,18 +430,7 @@ + (set_attr "movu" "1") + (set_attr "mode" "")]) + +-(define_expand "avx_movdqu" +- [(set (match_operand:AVXMODEQI 0 "nonimmediate_operand" "") +- (unspec:AVXMODEQI +- [(match_operand:AVXMODEQI 1 "nonimmediate_operand" "")] +- UNSPEC_MOVU))] +- "TARGET_AVX" +-{ +- if (MEM_P (operands[0]) && MEM_P (operands[1])) +- operands[1] = force_reg (mode, operands[1]); +-}) +- +-(define_insn "*avx_movdqu" ++(define_insn "avx_movdqu" + [(set (match_operand:AVXMODEQI 0 "nonimmediate_operand" "=x,m") + (unspec:AVXMODEQI + [(match_operand:AVXMODEQI 1 "nonimmediate_operand" "xm,x")] +@@ -475,17 +442,7 @@ + (set_attr "prefix" "vex") + (set_attr "mode" "")]) + +-(define_expand "sse2_movdqu" +- [(set (match_operand:V16QI 0 "nonimmediate_operand" "") +- (unspec:V16QI [(match_operand:V16QI 1 "nonimmediate_operand" "")] +- UNSPEC_MOVU))] +- "TARGET_SSE2" +-{ +- if (MEM_P (operands[0]) && MEM_P (operands[1])) +- operands[1] = force_reg (V16QImode, operands[1]); +-}) +- +-(define_insn "*sse2_movdqu" ++(define_insn "sse2_movdqu" + [(set (match_operand:V16QI 0 "nonimmediate_operand" "=x,m") + (unspec:V16QI [(match_operand:V16QI 1 "nonimmediate_operand" "xm,x")] + UNSPEC_MOVU))] +@@ -1324,14 +1281,14 @@ + (parallel [(const_int 0)])) + (vec_select:DF (match_dup 1) (parallel [(const_int 1)]))) + (plusminus:DF +- (vec_select:DF (match_dup 1) (parallel [(const_int 2)])) +- (vec_select:DF (match_dup 1) (parallel [(const_int 3)])))) +- (vec_concat:V2DF +- (plusminus:DF + (vec_select:DF + (match_operand:V4DF 2 "nonimmediate_operand" "xm") + (parallel [(const_int 0)])) +- (vec_select:DF (match_dup 2) (parallel [(const_int 1)]))) ++ (vec_select:DF (match_dup 2) (parallel [(const_int 1)])))) ++ (vec_concat:V2DF ++ (plusminus:DF ++ (vec_select:DF (match_dup 1) (parallel [(const_int 2)])) ++ (vec_select:DF (match_dup 1) (parallel [(const_int 3)]))) + (plusminus:DF + (vec_select:DF (match_dup 2) (parallel [(const_int 2)])) + (vec_select:DF (match_dup 2) (parallel [(const_int 3)]))))))] +@@ -5058,7 +5015,7 @@ + (vec_select:DF (match_dup 0) (parallel [(const_int 1)]))))] + "TARGET_SSE2 && reload_completed" + [(set (match_dup 0) (match_dup 1))] +- "operands[0] = adjust_address (operands[0], DFmode, 8);") ++ "operands[0] = adjust_address (operands[0], DFmode, 0);") + + ;; Not sure these two are ever used, but it doesn't hurt to have + ;; them. -aoliva +@@ -12095,7 +12052,7 @@ + (unspec:V8SF [(match_operand:V8HI 1 "register_operand" "x")] + UNSPEC_VCVTPH2PS) + (parallel [(const_int 0) (const_int 1) +- (const_int 1) (const_int 2)])))] ++ (const_int 2) (const_int 3)])))] + "TARGET_F16C" + "vcvtph2ps\t{%1, %0|%0, %1}" + [(set_attr "type" "ssecvt") +diff -Naur gcc-4.6.3.orig/gcc/config/ia64/linux-unwind.h gcc-4.6.3/gcc/config/ia64/linux-unwind.h +--- gcc-4.6.3.orig/gcc/config/ia64/linux-unwind.h 2009-08-14 15:49:40.000000000 -0500 ++++ gcc-4.6.3/gcc/config/ia64/linux-unwind.h 2012-04-20 03:08:13.688436000 -0500 +@@ -1,5 +1,5 @@ + /* DWARF2 EH unwinding support for IA64 Linux. +- Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc. ++ Copyright (C) 2004, 2005, 2009, 2012 Free Software Foundation, Inc. + + This file is part of GCC. + +@@ -47,7 +47,7 @@ + struct sigframe { + char scratch[16]; + unsigned long sig_number; +- struct siginfo *info; ++ siginfo_t *info; + struct sigcontext *sc; + } *frame_ = (struct sigframe *)context->psp; + struct sigcontext *sc = frame_->sc; +@@ -137,7 +137,7 @@ + struct sigframe { + char scratch[16]; + unsigned long sig_number; +- struct siginfo *info; ++ siginfo_t *info; + struct sigcontext *sc; + } *frame = (struct sigframe *)context->psp; + struct sigcontext *sc = frame->sc; +diff -Naur gcc-4.6.3.orig/gcc/config/m32c/m32c.c gcc-4.6.3/gcc/config/m32c/m32c.c +--- gcc-4.6.3.orig/gcc/config/m32c/m32c.c 2011-02-10 13:41:26.000000000 -0600 ++++ gcc-4.6.3/gcc/config/m32c/m32c.c 2012-03-28 21:15:29.973365000 -0500 +@@ -447,7 +447,7 @@ + flag_ivopts = 0; + + /* This target defaults to strict volatile bitfields. */ +- if (flag_strict_volatile_bitfields < 0) ++ if (flag_strict_volatile_bitfields < 0 && abi_version_at_least(2)) + flag_strict_volatile_bitfields = 1; + + /* r8c/m16c have no 16-bit indirect call, so thunks are involved. +diff -Naur gcc-4.6.3.orig/gcc/config/m32c/muldiv.md gcc-4.6.3/gcc/config/m32c/muldiv.md +--- gcc-4.6.3.orig/gcc/config/m32c/muldiv.md 2007-08-02 05:49:31.000000000 -0500 ++++ gcc-4.6.3/gcc/config/m32c/muldiv.md 2012-10-17 20:50:24.536874000 -0500 +@@ -108,7 +108,7 @@ + (define_insn "umulhisi3_c" + [(set (match_operand:SI 0 "ra_operand" "=Rsi") + (mult:SI (zero_extend:SI (match_operand:HI 1 "mra_operand" "%0")) +- (match_operand 2 "immediate_operand" "i")))] ++ (match_operand 2 "m32c_const_u16_operand" "i")))] + "" + "mulu.w\t%u2,%1" + [(set_attr "flags" "o")] +diff -Naur gcc-4.6.3.orig/gcc/config/m32c/predicates.md gcc-4.6.3/gcc/config/m32c/predicates.md +--- gcc-4.6.3.orig/gcc/config/m32c/predicates.md 2011-01-03 14:52:22.000000000 -0600 ++++ gcc-4.6.3/gcc/config/m32c/predicates.md 2012-10-18 00:56:54.834308000 -0500 +@@ -293,3 +293,7 @@ + (define_predicate "m32c_1mask16_operand" + (and (match_operand 0 "const_int_operand") + (match_test "m32c_const_ok_for_constraint_p(INTVAL(op), 'I', \"Imw\")"))) ++ ++(define_predicate "m32c_const_u16_operand" ++ (and (match_operand 0 "const_int_operand") ++ (match_test "INTVAL (op) >= 0 && INTVAL (op) <= 65535"))) +diff -Naur gcc-4.6.3.orig/gcc/config/mips/linux-unwind.h gcc-4.6.3/gcc/config/mips/linux-unwind.h +--- gcc-4.6.3.orig/gcc/config/mips/linux-unwind.h 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/gcc/config/mips/linux-unwind.h 2012-04-20 03:08:13.688436000 -0500 +@@ -1,5 +1,6 @@ + /* DWARF2 EH unwinding support for MIPS Linux. +- Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. ++ Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2012 Free Software ++ Foundation, Inc. + + This file is part of GCC. + +@@ -75,7 +76,7 @@ + struct rt_sigframe { + u_int32_t ass[4]; /* Argument save space for o32. */ + u_int32_t trampoline[2]; +- struct siginfo info; ++ siginfo_t info; + _sig_ucontext_t uc; + } *rt_ = context->cfa; + sc = &rt_->uc.uc_mcontext; +diff -Naur gcc-4.6.3.orig/gcc/config/mips/mips.c gcc-4.6.3/gcc/config/mips/mips.c +--- gcc-4.6.3.orig/gcc/config/mips/mips.c 2011-05-29 12:48:14.000000000 -0500 ++++ gcc-4.6.3/gcc/config/mips/mips.c 2012-09-02 05:37:49.951074000 -0500 +@@ -15083,7 +15083,10 @@ + } + + if (optimize > 0 && flag_delayed_branch) +- dbr_schedule (get_insns ()); ++ { ++ cleanup_barriers (); ++ dbr_schedule (get_insns ()); ++ } + mips_reorg_process_insns (); + if (!TARGET_MIPS16 + && TARGET_EXPLICIT_RELOCS +diff -Naur gcc-4.6.3.orig/gcc/config/mn10300/mn10300.c gcc-4.6.3/gcc/config/mn10300/mn10300.c +--- gcc-4.6.3.orig/gcc/config/mn10300/mn10300.c 2011-02-15 11:09:39.000000000 -0600 ++++ gcc-4.6.3/gcc/config/mn10300/mn10300.c 2012-07-06 05:09:28.333336000 -0500 +@@ -2505,12 +2505,15 @@ + may access it using GOTOFF instead of GOT. */ + + static void +-mn10300_encode_section_info (tree decl, rtx rtl, int first ATTRIBUTE_UNUSED) ++mn10300_encode_section_info (tree decl, rtx rtl, int first) + { + rtx symbol; + ++ default_encode_section_info (decl, rtl, first); ++ + if (! MEM_P (rtl)) + return; ++ + symbol = XEXP (rtl, 0); + if (GET_CODE (symbol) != SYMBOL_REF) + return; +diff -Naur gcc-4.6.3.orig/gcc/config/pa/linux-unwind.h gcc-4.6.3/gcc/config/pa/linux-unwind.h +--- gcc-4.6.3.orig/gcc/config/pa/linux-unwind.h 2009-12-05 11:45:59.000000000 -0600 ++++ gcc-4.6.3/gcc/config/pa/linux-unwind.h 2012-04-20 03:08:13.688436000 -0500 +@@ -1,5 +1,5 @@ + /* DWARF2 EH unwinding support for PA Linux. +- Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc. ++ Copyright (C) 2004, 2005, 2009, 2012 Free Software Foundation, Inc. + + This file is part of GCC. + +@@ -63,7 +63,7 @@ + int i; + struct sigcontext *sc; + struct rt_sigframe { +- struct siginfo info; ++ siginfo_t info; + struct ucontext uc; + } *frame; + +diff -Naur gcc-4.6.3.orig/gcc/config/pa/pa.c gcc-4.6.3/gcc/config/pa/pa.c +--- gcc-4.6.3.orig/gcc/config/pa/pa.c 2011-10-29 16:40:55.000000000 -0500 ++++ gcc-4.6.3/gcc/config/pa/pa.c 2012-06-16 20:33:06.931030000 -0500 +@@ -185,6 +185,7 @@ + static void pa_conditional_register_usage (void); + static enum machine_mode pa_c_mode_for_suffix (char); + static section *pa_function_section (tree, enum node_frequency, bool, bool); ++static unsigned int pa_section_type_flags (tree, const char *, int); + + /* The following extra sections are only used for SOM. */ + static GTY(()) section *som_readonly_data_section; +@@ -400,6 +401,9 @@ + #undef TARGET_ASM_FUNCTION_SECTION + #define TARGET_ASM_FUNCTION_SECTION pa_function_section + ++#undef TARGET_SECTION_TYPE_FLAGS ++#define TARGET_SECTION_TYPE_FLAGS pa_section_type_flags ++ + struct gcc_target targetm = TARGET_INITIALIZER; + + /* Parse the -mfixed-range= option string. */ +@@ -4442,6 +4446,24 @@ + } + } + ++bool ++pa_can_use_return_insn (void) ++{ ++ if (!reload_completed) ++ return false; ++ ++ if (frame_pointer_needed) ++ return false; ++ ++ if (df_regs_ever_live_p (2)) ++ return false; ++ ++ if (crtl->profile) ++ return false; ++ ++ return compute_frame_size (get_frame_size (), 0) == 0; ++} ++ + rtx + hppa_pic_save_rtx (void) + { +@@ -4586,7 +4608,7 @@ + rtx saved_rp; + rtx ins; + +- /* Instruction stream at the normal return address for the export stub: ++ /* The instruction stream at the return address of a PA1.X export stub is: + + 0x4bc23fd1 | stub+8: ldw -18(sr0,sp),rp + 0x004010a1 | stub+12: ldsid (sr0,rp),r1 +@@ -4594,10 +4616,16 @@ + 0xe0400002 | stub+20: be,n 0(sr0,rp) + + 0xe0400002 must be specified as -532676606 so that it won't be +- rejected as an invalid immediate operand on 64-bit hosts. */ ++ rejected as an invalid immediate operand on 64-bit hosts. + +- HOST_WIDE_INT insns[4] = {0x4bc23fd1, 0x004010a1, 0x00011820, -532676606}; +- int i; ++ The instruction stream at the return address of a PA2.0 export stub is: ++ ++ 0x4bc23fd1 | stub+8: ldw -18(sr0,sp),rp ++ 0xe840d002 | stub+12: bve,n (rp) ++ */ ++ ++ HOST_WIDE_INT insns[4]; ++ int i, len; + + if (count != 0) + return NULL_RTX; +@@ -4620,11 +4648,26 @@ + ins = copy_to_reg (gen_rtx_AND (Pmode, rp, MASK_RETURN_ADDR)); + label = gen_label_rtx (); + ++ if (TARGET_PA_20) ++ { ++ insns[0] = 0x4bc23fd1; ++ insns[1] = -398405630; ++ len = 2; ++ } ++ else ++ { ++ insns[0] = 0x4bc23fd1; ++ insns[1] = 0x004010a1; ++ insns[2] = 0x00011820; ++ insns[3] = -532676606; ++ len = 4; ++ } ++ + /* Check the instruction stream at the normal return address for the + export stub. If it is an export stub, than our return address is + really in -24[frameaddr]. */ + +- for (i = 0; i < 3; i++) ++ for (i = 0; i < len; i++) + { + rtx op0 = gen_rtx_MEM (SImode, plus_constant (ins, i * 4)); + rtx op1 = GEN_INT (insns[i]); +@@ -7501,7 +7544,7 @@ + return 24; + else + { +- if (!TARGET_LONG_CALLS && distance < 240000) ++ if (!TARGET_LONG_CALLS && distance < MAX_PCREL17F_OFFSET) + return 8; + + if (TARGET_LONG_ABS_CALL && !flag_pic) +@@ -7714,7 +7757,7 @@ + /* pc-relative branch. */ + if (!TARGET_LONG_CALLS + && ((TARGET_PA_20 && !sibcall && distance < 7600000) +- || distance < 240000)) ++ || distance < MAX_PCREL17F_OFFSET)) + length += 8; + + /* 64-bit plabel sequence. */ +@@ -8073,7 +8116,7 @@ + if (TARGET_FAST_INDIRECT_CALLS + || (!TARGET_PORTABLE_RUNTIME + && ((TARGET_PA_20 && !TARGET_SOM && distance < 7600000) +- || distance < 240000))) ++ || distance < MAX_PCREL17F_OFFSET))) + return 8; + + if (flag_pic) +@@ -10392,4 +10435,23 @@ + return default_function_section (decl, freq, startup, exit); + } + ++/* Implement TARGET_SECTION_TYPE_FLAGS. */ ++ ++static unsigned int ++pa_section_type_flags (tree decl, const char *name, int reloc) ++{ ++ unsigned int flags; ++ ++ flags = default_section_type_flags (decl, name, reloc); ++ ++ /* Function labels are placed in the constant pool. This can ++ cause a section conflict if decls are put in ".data.rel.ro" ++ or ".data.rel.ro.local" using the __attribute__ construct. */ ++ if (strcmp (name, ".data.rel.ro") == 0 ++ || strcmp (name, ".data.rel.ro.local") == 0) ++ flags |= SECTION_WRITE | SECTION_RELRO; ++ ++ return flags; ++} ++ + #include "gt-pa.h" +diff -Naur gcc-4.6.3.orig/gcc/config/pa/pa.h gcc-4.6.3/gcc/config/pa/pa.h +--- gcc-4.6.3.orig/gcc/config/pa/pa.h 2011-10-29 15:19:38.000000000 -0500 ++++ gcc-4.6.3/gcc/config/pa/pa.h 2012-06-16 20:33:06.931030000 -0500 +@@ -1563,3 +1563,12 @@ + #undef TARGET_HAVE_TLS + #define TARGET_HAVE_TLS true + #endif ++ ++/* The maximum offset in bytes for a PA 1.X pc-relative call to the ++ head of the preceding stub table. The selected offsets have been ++ chosen so that approximately one call stub is allocated for every ++ 86.7 instructions. A long branch stub is two instructions when ++ not generating PIC code. For HP-UX and ELF targets, PIC stubs are ++ seven and four instructions, respectively. */ ++#define MAX_PCREL17F_OFFSET \ ++ (flag_pic ? (TARGET_HPUX ? 198164 : 221312) : 240000) +diff -Naur gcc-4.6.3.orig/gcc/config/pa/pa.md gcc-4.6.3/gcc/config/pa/pa.md +--- gcc-4.6.3.orig/gcc/config/pa/pa.md 2011-10-29 16:40:55.000000000 -0500 ++++ gcc-4.6.3/gcc/config/pa/pa.md 2012-10-10 11:24:22.028351000 -0500 +@@ -2879,15 +2879,17 @@ + [(set_attr "type" "store") + (set_attr "length" "4")]) + +-(define_insn "" +- [(set (match_operand:HI 0 "register_operand" "=r") +- (plus:HI (match_operand:HI 1 "register_operand" "r") +- (match_operand 2 "const_int_operand" "J")))] ++(define_insn "addhi3" ++ [(set (match_operand:HI 0 "register_operand" "=r,r") ++ (plus:HI (match_operand:HI 1 "register_operand" "%r,r") ++ (match_operand:HI 2 "arith_operand" "r,J")))] + "" +- "ldo %2(%1),%0" +- [(set_attr "type" "binary") ++ "@ ++ {addl|add,l} %1,%2,%0 ++ ldo %2(%1),%0" ++ [(set_attr "type" "binary,binary") + (set_attr "pa_combine_type" "addmove") +- (set_attr "length" "4")]) ++ (set_attr "length" "4,4")]) + + (define_expand "movqi" + [(set (match_operand:QI 0 "general_operand" "") +@@ -6348,7 +6350,7 @@ + "" + "* + { +- int x = INTVAL (operands[1]); ++ unsigned HOST_WIDE_INT x = UINTVAL (operands[1]); + operands[2] = GEN_INT (4 + exact_log2 ((x >> 4) + 1)); + operands[1] = GEN_INT ((x & 0xf) - 0x10); + return \"{zvdepi %1,%2,%0|depwi,z %1,%%sar,%2,%0}\"; +@@ -6366,7 +6368,7 @@ + "exact_log2 (INTVAL (operands[1]) + 1) > 0" + "* + { +- int x = INTVAL (operands[1]); ++ HOST_WIDE_INT x = INTVAL (operands[1]); + operands[2] = GEN_INT (exact_log2 (x + 1)); + return \"{vdepi -1,%2,%0|depwi -1,%%sar,%2,%0}\"; + }" +@@ -6383,7 +6385,7 @@ + "INTVAL (operands[1]) == -2" + "* + { +- int x = INTVAL (operands[1]); ++ HOST_WIDE_INT x = INTVAL (operands[1]); + operands[2] = GEN_INT (exact_log2 ((~x) + 1)); + return \"{vdepi 0,%2,%0|depwi 0,%%sar,%2,%0}\"; + }" +@@ -6447,7 +6449,7 @@ + "TARGET_64BIT" + "* + { +- int x = INTVAL (operands[1]); ++ unsigned HOST_WIDE_INT x = UINTVAL (operands[1]); + operands[2] = GEN_INT (4 + exact_log2 ((x >> 4) + 1)); + operands[1] = GEN_INT ((x & 0x1f) - 0x20); + return \"depdi,z %1,%%sar,%2,%0\"; +@@ -6465,7 +6467,7 @@ + "TARGET_64BIT && exact_log2 (INTVAL (operands[1]) + 1) > 0" + "* + { +- int x = INTVAL (operands[1]); ++ HOST_WIDE_INT x = INTVAL (operands[1]); + operands[2] = GEN_INT (exact_log2 (x + 1)); + return \"depdi -1,%%sar,%2,%0\"; + }" +@@ -6482,7 +6484,7 @@ + "TARGET_64BIT && INTVAL (operands[1]) == -2" + "* + { +- int x = INTVAL (operands[1]); ++ HOST_WIDE_INT x = INTVAL (operands[1]); + operands[2] = GEN_INT (exact_log2 ((~x) + 1)); + return \"depdi 0,%%sar,%2,%0\"; + }" +@@ -6671,6 +6673,20 @@ + + ;; Unconditional and other jump instructions. + ++;; Trivial return used when no epilogue is needed. ++(define_insn "return" ++ [(return) ++ (use (reg:SI 2))] ++ "pa_can_use_return_insn ()" ++ "* ++{ ++ if (TARGET_PA_20) ++ return \"bve%* (%%r2)\"; ++ return \"bv%* %%r0(%%r2)\"; ++}" ++ [(set_attr "type" "branch") ++ (set_attr "length" "4")]) ++ + ;; This is used for most returns. + (define_insn "return_internal" + [(return) +@@ -6719,11 +6735,8 @@ + rtx x; + + /* Try to use the trivial return first. Else use the full epilogue. */ +- if (reload_completed +- && !frame_pointer_needed +- && !df_regs_ever_live_p (2) +- && (compute_frame_size (get_frame_size (), 0) ? 0 : 1)) +- x = gen_return_internal (); ++ if (pa_can_use_return_insn ()) ++ x = gen_return (); + else + { + hppa_expand_epilogue (); +diff -Naur gcc-4.6.3.orig/gcc/config/pa/pa-protos.h gcc-4.6.3/gcc/config/pa/pa-protos.h +--- gcc-4.6.3.orig/gcc/config/pa/pa-protos.h 2011-10-29 16:40:55.000000000 -0500 ++++ gcc-4.6.3/gcc/config/pa/pa-protos.h 2012-03-12 12:08:20.095334000 -0500 +@@ -136,6 +136,7 @@ + extern int cint_ok_for_move (HOST_WIDE_INT); + extern void hppa_expand_prologue (void); + extern void hppa_expand_epilogue (void); ++extern bool pa_can_use_return_insn (void); + extern int ior_mask_p (unsigned HOST_WIDE_INT); + extern void compute_zdepdi_operands (unsigned HOST_WIDE_INT, + unsigned *); +diff -Naur gcc-4.6.3.orig/gcc/config/pa/predicates.md gcc-4.6.3/gcc/config/pa/predicates.md +--- gcc-4.6.3.orig/gcc/config/pa/predicates.md 2011-04-20 18:36:20.000000000 -0500 ++++ gcc-4.6.3/gcc/config/pa/predicates.md 2012-03-04 10:23:26.705142000 -0600 +@@ -421,9 +421,9 @@ + (ior (match_operand 0 "register_operand") + (match_operand 0 "cint_ior_operand"))) + +-;; True iff OP is a CONST_INT of the forms 0...0xxxx or +-;; 0...01...1xxxx. Such values can be the left hand side x in (x << +-;; r), using the zvdepi instruction. ++;; True iff OP is a CONST_INT of the forms 0...0xxxx, 0...01...1xxxx, ++;; or 1...1xxxx. Such values can be the left hand side x in (x << r), ++;; using the zvdepi instruction. + + (define_predicate "lhs_lshift_cint_operand" + (match_code "const_int") +diff -Naur gcc-4.6.3.orig/gcc/config/rs6000/altivec.md gcc-4.6.3/gcc/config/rs6000/altivec.md +--- gcc-4.6.3.orig/gcc/config/rs6000/altivec.md 2011-07-08 15:10:18.000000000 -0500 ++++ gcc-4.6.3/gcc/config/rs6000/altivec.md 2012-06-04 12:42:25.267281000 -0500 +@@ -2394,8 +2394,8 @@ + + (define_insn "altivec_stvlx" + [(parallel +- [(set (match_operand:V4SI 0 "memory_operand" "=Z") +- (match_operand:V4SI 1 "register_operand" "v")) ++ [(set (match_operand:V16QI 0 "memory_operand" "=Z") ++ (match_operand:V16QI 1 "register_operand" "v")) + (unspec [(const_int 0)] UNSPEC_STVLX)])] + "TARGET_ALTIVEC && rs6000_cpu == PROCESSOR_CELL" + "stvlx %1,%y0" +@@ -2403,8 +2403,8 @@ + + (define_insn "altivec_stvlxl" + [(parallel +- [(set (match_operand:V4SI 0 "memory_operand" "=Z") +- (match_operand:V4SI 1 "register_operand" "v")) ++ [(set (match_operand:V16QI 0 "memory_operand" "=Z") ++ (match_operand:V16QI 1 "register_operand" "v")) + (unspec [(const_int 0)] UNSPEC_STVLXL)])] + "TARGET_ALTIVEC && rs6000_cpu == PROCESSOR_CELL" + "stvlxl %1,%y0" +@@ -2412,8 +2412,8 @@ + + (define_insn "altivec_stvrx" + [(parallel +- [(set (match_operand:V4SI 0 "memory_operand" "=Z") +- (match_operand:V4SI 1 "register_operand" "v")) ++ [(set (match_operand:V16QI 0 "memory_operand" "=Z") ++ (match_operand:V16QI 1 "register_operand" "v")) + (unspec [(const_int 0)] UNSPEC_STVRX)])] + "TARGET_ALTIVEC && rs6000_cpu == PROCESSOR_CELL" + "stvrx %1,%y0" +@@ -2421,8 +2421,8 @@ + + (define_insn "altivec_stvrxl" + [(parallel +- [(set (match_operand:V4SI 0 "memory_operand" "=Z") +- (match_operand:V4SI 1 "register_operand" "v")) ++ [(set (match_operand:V16QI 0 "memory_operand" "=Z") ++ (match_operand:V16QI 1 "register_operand" "v")) + (unspec [(const_int 0)] UNSPEC_STVRXL)])] + "TARGET_ALTIVEC && rs6000_cpu == PROCESSOR_CELL" + "stvrxl %1,%y0" +diff -Naur gcc-4.6.3.orig/gcc/config/rs6000/rs6000.c gcc-4.6.3/gcc/config/rs6000/rs6000.c +--- gcc-4.6.3.orig/gcc/config/rs6000/rs6000.c 2012-02-15 15:17:42.000000000 -0600 ++++ gcc-4.6.3/gcc/config/rs6000/rs6000.c 2012-05-24 08:52:56.478084000 -0500 +@@ -3695,12 +3695,23 @@ + case vec_to_scalar: + case scalar_to_vec: + case cond_branch_not_taken: +- case vec_perm: + return 1; + + case cond_branch_taken: + return 3; + ++ case vec_perm: ++ if (TARGET_VSX) ++ return 4; ++ else ++ return 1; ++ ++ case vec_promote_demote: ++ if (TARGET_VSX) ++ return 5; ++ else ++ return 1; ++ + case unaligned_load: + if (TARGET_VSX && TARGET_ALLOW_MOVMISALIGN) + { +@@ -15811,7 +15822,6 @@ + print_operand (FILE *file, rtx x, int code) + { + int i; +- HOST_WIDE_INT val; + unsigned HOST_WIDE_INT uval; + + switch (code) +@@ -16252,34 +16262,17 @@ + + case 'W': + /* MB value for a PowerPC64 rldic operand. */ +- val = (GET_CODE (x) == CONST_INT +- ? INTVAL (x) : CONST_DOUBLE_HIGH (x)); +- +- if (val < 0) +- i = -1; +- else +- for (i = 0; i < HOST_BITS_PER_WIDE_INT; i++) +- if ((val <<= 1) < 0) +- break; ++ i = clz_hwi (GET_CODE (x) == CONST_INT ++ ? INTVAL (x) : CONST_DOUBLE_HIGH (x)); + + #if HOST_BITS_PER_WIDE_INT == 32 +- if (GET_CODE (x) == CONST_INT && i >= 0) ++ if (GET_CODE (x) == CONST_INT && i > 0) + i += 32; /* zero-extend high-part was all 0's */ + else if (GET_CODE (x) == CONST_DOUBLE && i == 32) +- { +- val = CONST_DOUBLE_LOW (x); +- +- gcc_assert (val); +- if (val < 0) +- --i; +- else +- for ( ; i < 64; i++) +- if ((val <<= 1) < 0) +- break; +- } ++ i = clz_hwi (CONST_DOUBLE_LOW (x)) + 32; + #endif + +- fprintf (file, "%d", i + 1); ++ fprintf (file, "%d", i); + return; + + case 'x': +@@ -17229,6 +17222,10 @@ + case EQ: + case GT: + case GTU: ++ case ORDERED: ++ case UNORDERED: ++ case UNEQ: ++ case LTGT: + mask = gen_reg_rtx (mode); + emit_insn (gen_rtx_SET (VOIDmode, + mask, +diff -Naur gcc-4.6.3.orig/gcc/config/rs6000/rs6000.h gcc-4.6.3/gcc/config/rs6000/rs6000.h +--- gcc-4.6.3.orig/gcc/config/rs6000/rs6000.h 2011-07-27 13:17:15.000000000 -0500 ++++ gcc-4.6.3/gcc/config/rs6000/rs6000.h 2012-04-13 16:55:15.746111000 -0500 +@@ -469,10 +469,11 @@ + /* ISA 2.01 allowed FCFID to be done in 32-bit, previously it was 64-bit only. + Enable 32-bit fcfid's on any of the switches for newer ISA machines or + XILINX. */ +-#define TARGET_FCFID (TARGET_POWERPC64 \ +- || TARGET_POPCNTB /* ISA 2.02 */ \ +- || TARGET_CMPB /* ISA 2.05 */ \ +- || TARGET_POPCNTD /* ISA 2.06 */ \ ++#define TARGET_FCFID (TARGET_POWERPC64 \ ++ || TARGET_PPC_GPOPT /* 970/power4 */ \ ++ || TARGET_POPCNTB /* ISA 2.02 */ \ ++ || TARGET_CMPB /* ISA 2.05 */ \ ++ || TARGET_POPCNTD /* ISA 2.06 */ \ + || TARGET_XILINX_FPU) + + #define TARGET_FCTIDZ TARGET_FCFID +diff -Naur gcc-4.6.3.orig/gcc/config/rs6000/rs6000.md gcc-4.6.3/gcc/config/rs6000/rs6000.md +--- gcc-4.6.3.orig/gcc/config/rs6000/rs6000.md 2012-01-18 13:14:48.000000000 -0600 ++++ gcc-4.6.3/gcc/config/rs6000/rs6000.md 2012-05-03 19:31:50.505528000 -0500 +@@ -2524,7 +2524,18 @@ + if (GET_CODE (addr1) == PLUS) + { + emit_insn (gen_add3_insn (op2, XEXP (addr1, 0), GEN_INT (4))); +- addr2 = gen_rtx_PLUS (Pmode, op2, XEXP (addr1, 1)); ++ if (TARGET_AVOID_XFORM) ++ { ++ emit_insn (gen_add3_insn (op2, XEXP (addr1, 1), op2)); ++ addr2 = op2; ++ } ++ else ++ addr2 = gen_rtx_PLUS (Pmode, op2, XEXP (addr1, 1)); ++ } ++ else if (TARGET_AVOID_XFORM) ++ { ++ emit_insn (gen_add3_insn (op2, addr1, GEN_INT (4))); ++ addr2 = op2; + } + else + { +@@ -2574,7 +2585,18 @@ + if (GET_CODE (addr1) == PLUS) + { + emit_insn (gen_add3_insn (op2, XEXP (addr1, 0), GEN_INT (4))); +- addr2 = gen_rtx_PLUS (Pmode, op2, XEXP (addr1, 1)); ++ if (TARGET_AVOID_XFORM) ++ { ++ emit_insn (gen_add3_insn (op2, XEXP (addr1, 1), op2)); ++ addr2 = op2; ++ } ++ else ++ addr2 = gen_rtx_PLUS (Pmode, op2, XEXP (addr1, 1)); ++ } ++ else if (TARGET_AVOID_XFORM) ++ { ++ emit_insn (gen_add3_insn (op2, addr1, GEN_INT (4))); ++ addr2 = op2; + } + else + { +@@ -2655,7 +2677,18 @@ + if (GET_CODE (addr1) == PLUS) + { + emit_insn (gen_add3_insn (op2, XEXP (addr1, 0), GEN_INT (4))); +- addr2 = gen_rtx_PLUS (SImode, op2, XEXP (addr1, 1)); ++ if (TARGET_AVOID_XFORM) ++ { ++ emit_insn (gen_add3_insn (op2, XEXP (addr1, 1), op2)); ++ addr2 = op2; ++ } ++ else ++ addr2 = gen_rtx_PLUS (SImode, op2, XEXP (addr1, 1)); ++ } ++ else if (TARGET_AVOID_XFORM) ++ { ++ emit_insn (gen_add3_insn (op2, addr1, GEN_INT (4))); ++ addr2 = op2; + } + else + { +@@ -2700,7 +2733,18 @@ + if (GET_CODE (addr1) == PLUS) + { + emit_insn (gen_add3_insn (op2, XEXP (addr1, 0), GEN_INT (4))); +- addr2 = gen_rtx_PLUS (SImode, op2, XEXP (addr1, 1)); ++ if (TARGET_AVOID_XFORM) ++ { ++ emit_insn (gen_add3_insn (op2, XEXP (addr1, 1), op2)); ++ addr2 = op2; ++ } ++ else ++ addr2 = gen_rtx_PLUS (SImode, op2, XEXP (addr1, 1)); ++ } ++ else if (TARGET_AVOID_XFORM) ++ { ++ emit_insn (gen_add3_insn (op2, addr1, GEN_INT (4))); ++ addr2 = op2; + } + else + { +diff -Naur gcc-4.6.3.orig/gcc/config/rs6000/vector.md gcc-4.6.3/gcc/config/rs6000/vector.md +--- gcc-4.6.3.orig/gcc/config/rs6000/vector.md 2011-07-08 15:10:18.000000000 -0500 ++++ gcc-4.6.3/gcc/config/rs6000/vector.md 2012-03-06 13:46:28.829628000 -0600 +@@ -448,6 +448,94 @@ + "VECTOR_UNIT_ALTIVEC_P (mode)" + "") + ++(define_insn_and_split "*vector_uneq" ++ [(set (match_operand:VEC_F 0 "vfloat_operand" "") ++ (uneq:VEC_F (match_operand:VEC_F 1 "vfloat_operand" "") ++ (match_operand:VEC_F 2 "vfloat_operand" "")))] ++ "VECTOR_UNIT_ALTIVEC_OR_VSX_P (mode)" ++ "#" ++ "" ++ [(set (match_dup 3) ++ (gt:VEC_F (match_dup 1) ++ (match_dup 2))) ++ (set (match_dup 4) ++ (gt:VEC_F (match_dup 2) ++ (match_dup 1))) ++ (set (match_dup 0) ++ (not:VEC_F (ior:VEC_F (match_dup 3) ++ (match_dup 4))))] ++ " ++{ ++ operands[3] = gen_reg_rtx (mode); ++ operands[4] = gen_reg_rtx (mode); ++}") ++ ++(define_insn_and_split "*vector_ltgt" ++ [(set (match_operand:VEC_F 0 "vfloat_operand" "") ++ (ltgt:VEC_F (match_operand:VEC_F 1 "vfloat_operand" "") ++ (match_operand:VEC_F 2 "vfloat_operand" "")))] ++ "VECTOR_UNIT_ALTIVEC_OR_VSX_P (mode)" ++ "#" ++ "" ++ [(set (match_dup 3) ++ (gt:VEC_F (match_dup 1) ++ (match_dup 2))) ++ (set (match_dup 4) ++ (gt:VEC_F (match_dup 2) ++ (match_dup 1))) ++ (set (match_dup 0) ++ (ior:VEC_F (match_dup 3) ++ (match_dup 4)))] ++ " ++{ ++ operands[3] = gen_reg_rtx (mode); ++ operands[4] = gen_reg_rtx (mode); ++}") ++ ++(define_insn_and_split "*vector_ordered" ++ [(set (match_operand:VEC_F 0 "vfloat_operand" "") ++ (ordered:VEC_F (match_operand:VEC_F 1 "vfloat_operand" "") ++ (match_operand:VEC_F 2 "vfloat_operand" "")))] ++ "VECTOR_UNIT_ALTIVEC_OR_VSX_P (mode)" ++ "#" ++ "" ++ [(set (match_dup 3) ++ (ge:VEC_F (match_dup 1) ++ (match_dup 2))) ++ (set (match_dup 4) ++ (ge:VEC_F (match_dup 2) ++ (match_dup 1))) ++ (set (match_dup 0) ++ (ior:VEC_F (match_dup 3) ++ (match_dup 4)))] ++ " ++{ ++ operands[3] = gen_reg_rtx (mode); ++ operands[4] = gen_reg_rtx (mode); ++}") ++ ++(define_insn_and_split "*vector_unordered" ++ [(set (match_operand:VEC_F 0 "vfloat_operand" "") ++ (unordered:VEC_F (match_operand:VEC_F 1 "vfloat_operand" "") ++ (match_operand:VEC_F 2 "vfloat_operand" "")))] ++ "VECTOR_UNIT_ALTIVEC_OR_VSX_P (mode)" ++ "#" ++ "" ++ [(set (match_dup 3) ++ (ge:VEC_F (match_dup 1) ++ (match_dup 2))) ++ (set (match_dup 4) ++ (ge:VEC_F (match_dup 2) ++ (match_dup 1))) ++ (set (match_dup 0) ++ (not:VEC_F (ior:VEC_F (match_dup 3) ++ (match_dup 4))))] ++ " ++{ ++ operands[3] = gen_reg_rtx (mode); ++ operands[4] = gen_reg_rtx (mode); ++}") ++ + ;; Note the arguments for __builtin_altivec_vsel are op2, op1, mask + ;; which is in the reverse order that we want + (define_expand "vector_select_" +diff -Naur gcc-4.6.3.orig/gcc/config/rs6000/vsx.md gcc-4.6.3/gcc/config/rs6000/vsx.md +--- gcc-4.6.3.orig/gcc/config/rs6000/vsx.md 2011-07-08 15:10:18.000000000 -0500 ++++ gcc-4.6.3/gcc/config/rs6000/vsx.md 2012-03-02 16:12:52.237313000 -0600 +@@ -1006,9 +1006,9 @@ + "VECTOR_MEM_VSX_P (mode)" + { + if (INTVAL (operands[3]) == 0) +- return \"xxpermdi %x0,%x1,%x2,1\"; ++ return \"xxpermdi %x0,%x2,%x1,1\"; + else if (INTVAL (operands[3]) == 1) +- return \"xxpermdi %x0,%x2,%x1,0\"; ++ return \"xxpermdi %x0,%x1,%x2,0\"; + else + gcc_unreachable (); + } +diff -Naur gcc-4.6.3.orig/gcc/config/rx/rx.c gcc-4.6.3/gcc/config/rx/rx.c +--- gcc-4.6.3.orig/gcc/config/rx/rx.c 2011-05-17 03:59:10.000000000 -0500 ++++ gcc-4.6.3/gcc/config/rx/rx.c 2012-03-28 21:15:29.973365000 -0500 +@@ -2348,7 +2348,7 @@ + rx_option_override (void) + { + /* This target defaults to strict volatile bitfields. */ +- if (flag_strict_volatile_bitfields < 0) ++ if (flag_strict_volatile_bitfields < 0 && abi_version_at_least(2)) + flag_strict_volatile_bitfields = 1; + + rx_override_options_after_change (); +diff -Naur gcc-4.6.3.orig/gcc/config/sh/linux-unwind.h gcc-4.6.3/gcc/config/sh/linux-unwind.h +--- gcc-4.6.3.orig/gcc/config/sh/linux-unwind.h 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/gcc/config/sh/linux-unwind.h 2012-04-20 03:08:13.688436000 -0500 +@@ -1,5 +1,6 @@ + /* DWARF2 EH unwinding support for SH Linux. +- Copyright (C) 2004, 2005, 2006, 2007, 2009 Free Software Foundation, Inc. ++ Copyright (C) 2004, 2005, 2006, 2007, 2009, 2012 Free Software Foundation, ++ Inc. + + This file is part of GCC. + +@@ -80,9 +81,9 @@ + && (*(unsigned long *) (pc+11) == 0x6ff0fff0)) + { + struct rt_sigframe { +- struct siginfo *pinfo; ++ siginfo_t *pinfo; + void *puc; +- struct siginfo info; ++ siginfo_t info; + struct ucontext uc; + } *rt_ = context->cfa; + /* The void * cast is necessary to avoid an aliasing warning. +@@ -179,7 +180,7 @@ + && (*(unsigned short *) (pc+14) == 0x00ad)))) + { + struct rt_sigframe { +- struct siginfo info; ++ siginfo_t info; + struct ucontext uc; + } *rt_ = context->cfa; + /* The void * cast is necessary to avoid an aliasing warning. +diff -Naur gcc-4.6.3.orig/gcc/config/sh/sh.c gcc-4.6.3/gcc/config/sh/sh.c +--- gcc-4.6.3.orig/gcc/config/sh/sh.c 2011-06-07 23:07:25.000000000 -0500 ++++ gcc-4.6.3/gcc/config/sh/sh.c 2012-07-22 18:49:56.312817000 -0500 +@@ -763,11 +763,6 @@ + SUBTARGET_OVERRIDE_OPTIONS; + if (optimize > 1 && !optimize_size) + target_flags |= MASK_SAVE_ALL_TARGET_REGS; +- if (flag_finite_math_only == 2) +- flag_finite_math_only +- = !flag_signaling_nans && TARGET_SH2E && ! TARGET_IEEE; +- if (TARGET_SH2E && !flag_finite_math_only) +- target_flags |= MASK_IEEE; + sh_cpu = PROCESSOR_SH1; + assembler_dialect = 0; + if (TARGET_SH2) +@@ -911,8 +906,6 @@ + if (! VALID_REGISTER_P (ADDREGNAMES_REGNO (regno))) + sh_additional_register_names[regno][0] = '\0'; + +- flag_omit_frame_pointer = (PREFERRED_DEBUGGING_TYPE == DWARF2_DEBUG); +- + if ((flag_pic && ! TARGET_PREFERGOT) + || (TARGET_SHMEDIA && !TARGET_PT_FIXED)) + flag_no_function_cse = 1; +@@ -944,22 +937,17 @@ + flag_schedule_insns = 0; + } + +- if ((target_flags_explicit & MASK_ACCUMULATE_OUTGOING_ARGS) == 0) +- target_flags |= MASK_ACCUMULATE_OUTGOING_ARGS; +- + /* Unwind info is not correct around the CFG unless either a frame + pointer is present or M_A_O_A is set. Fixing this requires rewriting + unwind info generation to be aware of the CFG and propagating states + around edges. */ + if ((flag_unwind_tables || flag_asynchronous_unwind_tables + || flag_exceptions || flag_non_call_exceptions) +- && flag_omit_frame_pointer +- && !(target_flags & MASK_ACCUMULATE_OUTGOING_ARGS)) ++ && flag_omit_frame_pointer && !TARGET_ACCUMULATE_OUTGOING_ARGS) + { +- if (target_flags_explicit & MASK_ACCUMULATE_OUTGOING_ARGS) + warning (0, "unwind tables currently require either a frame pointer " + "or -maccumulate-outgoing-args for correctness"); +- target_flags |= MASK_ACCUMULATE_OUTGOING_ARGS; ++ TARGET_ACCUMULATE_OUTGOING_ARGS = 1; + } + + /* Unwinding with -freorder-blocks-and-partition does not work on this +@@ -1014,11 +1002,16 @@ + align_functions = min_align; + } + ++ /* If the -mieee option was not explicitly set by the user, turn it on ++ unless -ffinite-math-only was specified. See also PR 33135. */ ++ if (! global_options_set.x_TARGET_IEEE) ++ TARGET_IEEE = ! flag_finite_math_only; ++ + if (sh_fixed_range_str) + sh_fix_range (sh_fixed_range_str); + + /* This target defaults to strict volatile bitfields. */ +- if (flag_strict_volatile_bitfields < 0) ++ if (flag_strict_volatile_bitfields < 0 && abi_version_at_least(2)) + flag_strict_volatile_bitfields = 1; + } + +diff -Naur gcc-4.6.3.orig/gcc/config/sh/sh.opt gcc-4.6.3/gcc/config/sh/sh.opt +--- gcc-4.6.3.orig/gcc/config/sh/sh.opt 2010-10-22 07:14:45.000000000 -0500 ++++ gcc-4.6.3/gcc/config/sh/sh.opt 2012-07-22 18:49:56.312817000 -0500 +@@ -202,7 +202,7 @@ + Generate FPU-less SHcompact code + + maccumulate-outgoing-args +-Target Report Mask(ACCUMULATE_OUTGOING_ARGS) ++Target Report Var(TARGET_ACCUMULATE_OUTGOING_ARGS) Init(1) + Reserve space for outgoing arguments in the function prologue + + madjust-unroll +@@ -270,8 +270,8 @@ + Follow Renesas (formerly Hitachi) / SuperH calling conventions + + mieee +-Target Report Mask(IEEE) +-Increase the IEEE compliance for floating-point code ++Target Var(TARGET_IEEE) ++Increase the IEEE compliance for floating-point comparisons + + mindexed-addressing + Target Report Mask(ALLOW_INDEXED_ADDRESS) Condition(SUPPORT_ANY_SH5_32MEDIA) +diff -Naur gcc-4.6.3.orig/gcc/config/sol2.h gcc-4.6.3/gcc/config/sol2.h +--- gcc-4.6.3.orig/gcc/config/sol2.h 2011-07-15 04:39:41.000000000 -0500 ++++ gcc-4.6.3/gcc/config/sol2.h 2012-08-16 08:21:11.398440000 -0500 +@@ -1,6 +1,6 @@ + /* Operating system specific defines to be used when targeting GCC for any + Solaris 2 system. +- Copyright 2002, 2003, 2004, 2007, 2008, 2009, 2010, 2011 ++ Copyright 2002, 2003, 2004, 2007, 2008, 2009, 2010, 2011, 2012 + Free Software Foundation, Inc. + + This file is part of GCC. +@@ -163,12 +163,12 @@ + %{YP,*} \ + %{R*} \ + %{compat-bsd: \ +- %{!YP,*:%{p|pg:-Y P,%R/usr/ucblib:%R/usr/ccs/lib/libp:%R/usr/lib/libp:%R/usr/ccs/lib:%R/usr/lib} \ +- %{!p:%{!pg:-Y P,%R/usr/ucblib:%R/usr/ccs/lib:%R/usr/lib}}} \ ++ %{!YP,*:%{p|pg:-Y P,%R/usr/ucblib:%R/usr/ccs/lib/libp:%R/usr/lib/libp:%R/usr/ccs/lib:%R/usr/lib:%R/lib} \ ++ %{!p:%{!pg:-Y P,%R/usr/ucblib:%R/usr/ccs/lib:%R/usr/lib:%R/lib}}} \ + -R %R/usr/ucblib} \ + %{!compat-bsd: \ +- %{!YP,*:%{p|pg:-Y P,%R/usr/ccs/lib/libp:%R/usr/lib/libp:%R/usr/ccs/lib:%R/usr/lib} \ +- %{!p:%{!pg:-Y P,%R/usr/ccs/lib:%R/usr/lib}}}}" ++ %{!YP,*:%{p|pg:-Y P,%R/usr/ccs/lib/libp:%R/usr/lib/libp:%R/usr/ccs/lib:%R/usr/lib:%R/lib} \ ++ %{!p:%{!pg:-Y P,%R/usr/ccs/lib:%R/usr/lib:%R/lib}}}}" + + #undef LINK_ARCH32_SPEC + #define LINK_ARCH32_SPEC LINK_ARCH32_SPEC_BASE +diff -Naur gcc-4.6.3.orig/gcc/config/sparc/sol2-bi.h gcc-4.6.3/gcc/config/sparc/sol2-bi.h +--- gcc-4.6.3.orig/gcc/config/sparc/sol2-bi.h 2011-02-17 07:57:21.000000000 -0600 ++++ gcc-4.6.3/gcc/config/sparc/sol2-bi.h 2012-08-16 08:21:11.398440000 -0500 +@@ -1,6 +1,6 @@ + /* Definitions of target machine for GCC, for bi-arch SPARC + running Solaris 2 using the system assembler and linker. +- Copyright (C) 2002, 2003, 2004, 2006, 2007, 2009, 2010, 2011 ++ Copyright (C) 2002, 2003, 2004, 2006, 2007, 2009, 2010, 2011, 2012 + Free Software Foundation, Inc. + + This file is part of GCC. +@@ -191,12 +191,12 @@ + %{YP,*} \ + %{R*} \ + %{compat-bsd: \ +- %{!YP,*:%{p|pg:-Y P,%R/usr/ucblib/sparcv9:%R/usr/lib/libp/sparcv9:%R/usr/lib/sparcv9} \ +- %{!p:%{!pg:-Y P,%R/usr/ucblib/sparcv9:%R/usr/lib/sparcv9}}} \ ++ %{!YP,*:%{p|pg:-Y P,%R/usr/ucblib/sparcv9:%R/usr/lib/libp/sparcv9:%R/usr/lib/sparcv9:%R/lib/sparcv9} \ ++ %{!p:%{!pg:-Y P,%R/usr/ucblib/sparcv9:%R/usr/lib/sparcv9:%R/lib/sparcv9}}} \ + -R %R/usr/ucblib/sparcv9} \ + %{!compat-bsd: \ +- %{!YP,*:%{p|pg:-Y P,%R/usr/lib/libp/sparcv9:%R/usr/lib/sparcv9} \ +- %{!p:%{!pg:-Y P,%R/usr/lib/sparcv9}}}}" ++ %{!YP,*:%{p|pg:-Y P,%R/usr/lib/libp/sparcv9:%R/usr/lib/sparcv9:%R/lib/sparcv9} \ ++ %{!p:%{!pg:-Y P,%R/usr/lib/sparcv9:%R/lib/sparcv9}}}}" + + #define LINK_ARCH64_SPEC LINK_ARCH64_SPEC_BASE + +diff -Naur gcc-4.6.3.orig/gcc/config/sparc/sparc.c gcc-4.6.3/gcc/config/sparc/sparc.c +--- gcc-4.6.3.orig/gcc/config/sparc/sparc.c 2011-12-16 17:38:34.000000000 -0600 ++++ gcc-4.6.3/gcc/config/sparc/sparc.c 2012-09-02 05:37:49.951074000 -0500 +@@ -3658,13 +3658,17 @@ + { + x = delegitimize_mem_from_attrs (x); + +- if (GET_CODE (x) == LO_SUM +- && GET_CODE (XEXP (x, 1)) == UNSPEC +- && XINT (XEXP (x, 1), 1) == UNSPEC_TLSLE) +- { +- x = XVECEXP (XEXP (x, 1), 0, 0); +- gcc_assert (GET_CODE (x) == SYMBOL_REF); +- } ++ if (GET_CODE (x) == LO_SUM && GET_CODE (XEXP (x, 1)) == UNSPEC) ++ switch (XINT (XEXP (x, 1), 1)) ++ { ++ case UNSPEC_MOVE_PIC: ++ case UNSPEC_TLSLE: ++ x = XVECEXP (XEXP (x, 1), 0, 0); ++ gcc_assert (GET_CODE (x) == SYMBOL_REF); ++ break; ++ default: ++ break; ++ } + + return x; + } +@@ -9452,7 +9456,10 @@ + /* We need to have the (essentially) final form of the insn stream in order + to properly detect the various hazards. Run delay slot scheduling. */ + if (optimize > 0 && flag_delayed_branch) +- dbr_schedule (get_insns ()); ++ { ++ cleanup_barriers (); ++ dbr_schedule (get_insns ()); ++ } + + /* Now look for specific patterns in the insn stream. */ + for (insn = get_insns (); insn; insn = next) +@@ -9634,6 +9641,7 @@ + void_list_node)); + DECL_RESULT (decl) = build_decl (BUILTINS_LOCATION, RESULT_DECL, + NULL_TREE, void_type_node); ++ TREE_PUBLIC (decl) = 1; + TREE_STATIC (decl) = 1; + make_decl_one_only (decl, DECL_ASSEMBLER_NAME (decl)); + DECL_VISIBILITY (decl) = VISIBILITY_HIDDEN; +diff -Naur gcc-4.6.3.orig/gcc/config/spu/spu.c gcc-4.6.3/gcc/config/spu/spu.c +--- gcc-4.6.3.orig/gcc/config/spu/spu.c 2011-07-15 07:33:27.000000000 -0500 ++++ gcc-4.6.3/gcc/config/spu/spu.c 2012-03-02 08:51:58.551861000 -0600 +@@ -6794,6 +6794,7 @@ + case scalar_to_vec: + case cond_branch_not_taken: + case vec_perm: ++ case vec_promote_demote: + return 1; + + case scalar_store: +diff -Naur gcc-4.6.3.orig/gcc/config/xtensa/linux-unwind.h gcc-4.6.3/gcc/config/xtensa/linux-unwind.h +--- gcc-4.6.3.orig/gcc/config/xtensa/linux-unwind.h 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/gcc/config/xtensa/linux-unwind.h 2012-04-20 03:08:13.688436000 -0500 +@@ -1,5 +1,5 @@ + /* DWARF2 EH unwinding support for Xtensa. +- Copyright (C) 2008, 2009 Free Software Foundation, Inc. ++ Copyright (C) 2008, 2009, 2012 Free Software Foundation, Inc. + + This file is part of GCC. + +@@ -62,7 +62,7 @@ + struct sigcontext *sc; + + struct rt_sigframe { +- struct siginfo info; ++ siginfo_t info; + struct ucontext uc; + } *rt_; + +diff -Naur gcc-4.6.3.orig/gcc/config.gcc gcc-4.6.3/gcc/config.gcc +--- gcc-4.6.3.orig/gcc/config.gcc 2011-07-22 11:44:50.000000000 -0500 ++++ gcc-4.6.3/gcc/config.gcc 2012-06-04 04:53:04.873173000 -0500 +@@ -817,7 +817,7 @@ + arm*-*-linux*) # ARM GNU/Linux with ELF + tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h arm/elf.h arm/linux-gas.h arm/linux-elf.h" + case $target in +- arm*b-*) ++ arm*b-*-linux*) + tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" + ;; + esac +@@ -925,7 +925,7 @@ + extra_objs="avr-devices.o" + ;; + avr-*-*) +- tm_file="avr/avr.h dbxelf.h newlib-stdint.h" ++ tm_file="avr/avr.h dbxelf.h avr/avr-stdint.h" + use_gcc_stdint=wrap + extra_gcc_objs="driver-avr.o avr-devices.o" + extra_objs="avr-devices.o" +diff -Naur gcc-4.6.3.orig/gcc/configure gcc-4.6.3/gcc/configure +--- gcc-4.6.3.orig/gcc/configure 2011-11-20 15:24:07.000000000 -0600 ++++ gcc-4.6.3/gcc/configure 2012-10-18 18:38:21.174413000 -0500 +@@ -4842,7 +4842,7 @@ + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_cc_gcc_supports_ada" >&5 + $as_echo "$acx_cv_cc_gcc_supports_ada" >&6; } + +-if test x$GNATBIND != xno && test x$GNATMAKE != xno && test x$acx_cv_cc_gcc_supports_ada != xno; then ++if test "x$GNATBIND" != xno && test "x$GNATMAKE" != xno && test x$acx_cv_cc_gcc_supports_ada != xno; then + have_gnat=yes + else + have_gnat=no +@@ -25529,7 +25529,9 @@ + $as_echo_n "(cached) " >&6 + else + gcc_cv_ld_no_dot_syms=no +- if test $in_tree_ld = yes ; then ++ if test x"$ld_is_gold" = xyes; then ++ gcc_cv_ld_no_dot_syms=yes ++ elif test $in_tree_ld = yes ; then + if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 16 -o "$gcc_cv_gld_major_version" -gt 2; then + gcc_cv_ld_no_dot_syms=yes + fi +@@ -25573,7 +25575,9 @@ + $as_echo_n "(cached) " >&6 + else + gcc_cv_ld_large_toc=no +- if test $in_tree_ld = yes ; then ++ if test x"$ld_is_gold" = xyes; then ++ gcc_cv_ld_large_toc=yes ++ elif test $in_tree_ld = yes ; then + if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 21 -o "$gcc_cv_gld_major_version" -gt 2; then + gcc_cv_ld_large_toc=yes + fi +diff -Naur gcc-4.6.3.orig/gcc/configure.ac gcc-4.6.3/gcc/configure.ac +--- gcc-4.6.3.orig/gcc/configure.ac 2011-11-18 05:45:44.000000000 -0600 ++++ gcc-4.6.3/gcc/configure.ac 2012-10-18 18:38:21.174413000 -0500 +@@ -4169,7 +4169,9 @@ + AC_CACHE_CHECK(linker support for omitting dot symbols, + gcc_cv_ld_no_dot_syms, + [gcc_cv_ld_no_dot_syms=no +- if test $in_tree_ld = yes ; then ++ if test x"$ld_is_gold" = xyes; then ++ gcc_cv_ld_no_dot_syms=yes ++ elif test $in_tree_ld = yes ; then + if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 16 -o "$gcc_cv_gld_major_version" -gt 2; then + gcc_cv_ld_no_dot_syms=yes + fi +@@ -4206,7 +4208,9 @@ + AC_CACHE_CHECK(linker large toc support, + gcc_cv_ld_large_toc, + [gcc_cv_ld_large_toc=no +- if test $in_tree_ld = yes ; then ++ if test x"$ld_is_gold" = xyes; then ++ gcc_cv_ld_large_toc=yes ++ elif test $in_tree_ld = yes ; then + if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 21 -o "$gcc_cv_gld_major_version" -gt 2; then + gcc_cv_ld_large_toc=yes + fi +diff -Naur gcc-4.6.3.orig/gcc/convert.c gcc-4.6.3/gcc/convert.c +--- gcc-4.6.3.orig/gcc/convert.c 2011-10-12 06:57:36.000000000 -0500 ++++ gcc-4.6.3/gcc/convert.c 2012-05-22 04:17:42.260176000 -0500 +@@ -44,11 +44,6 @@ + if (TREE_TYPE (expr) == type) + return expr; + +- /* Propagate overflow to the NULL pointer. */ +- if (integer_zerop (expr)) +- return force_fit_type_double (type, double_int_zero, 0, +- TREE_OVERFLOW (expr)); +- + switch (TREE_CODE (TREE_TYPE (expr))) + { + case POINTER_TYPE: +diff -Naur gcc-4.6.3.orig/gcc/cp/decl.c gcc-4.6.3/gcc/cp/decl.c +--- gcc-4.6.3.orig/gcc/cp/decl.c 2012-02-14 17:34:34.000000000 -0600 ++++ gcc-4.6.3/gcc/cp/decl.c 2012-04-04 15:48:59.830836000 -0500 +@@ -3636,7 +3636,7 @@ + TYPE_SIZE_UNIT (nullptr_type_node) = size_int (GET_MODE_SIZE (ptr_mode)); + TYPE_UNSIGNED (nullptr_type_node) = 1; + TYPE_PRECISION (nullptr_type_node) = GET_MODE_BITSIZE (ptr_mode); +- SET_TYPE_MODE (nullptr_type_node, Pmode); ++ SET_TYPE_MODE (nullptr_type_node, ptr_mode); + record_builtin_type (RID_MAX, "decltype(nullptr)", nullptr_type_node); + nullptr_node = build_int_cst (nullptr_type_node, 0); + } +diff -Naur gcc-4.6.3.orig/gcc/cp/pt.c gcc-4.6.3/gcc/cp/pt.c +--- gcc-4.6.3.orig/gcc/cp/pt.c 2012-02-14 17:36:19.000000000 -0600 ++++ gcc-4.6.3/gcc/cp/pt.c 2012-09-13 10:13:08.240418000 -0500 +@@ -10028,6 +10028,16 @@ + break; + } + ++ if (TREE_CODE (t) == VAR_DECL && DECL_ANON_UNION_VAR_P (t)) ++ { ++ /* Just use name lookup to find a member alias for an anonymous ++ union, but then add it to the hash table. */ ++ r = lookup_name (DECL_NAME (t)); ++ gcc_assert (DECL_ANON_UNION_VAR_P (r)); ++ register_local_specialization (r, t); ++ break; ++ } ++ + /* Create a new node for the specialization we need. */ + r = copy_decl (t); + if (type == NULL_TREE) +@@ -17785,6 +17795,7 @@ + } + else + { ++ tree tmp; + decl = tsubst_copy (TREE_PURPOSE (t), argvec, + tf_warning_or_error, NULL_TREE); + +@@ -17793,10 +17804,17 @@ + in_base_initializer = 1; + + init = TREE_VALUE (t); ++ tmp = init; + if (init != void_type_node) + init = tsubst_expr (init, argvec, + tf_warning_or_error, NULL_TREE, + /*integral_constant_expression_p=*/false); ++ if (init == NULL_TREE && tmp != NULL_TREE) ++ /* If we had an initializer but it instantiated to nothing, ++ value-initialize the object. This will only occur when ++ the initializer was a pack expansion where the parameter ++ packs used in that expansion were of length zero. */ ++ init = void_type_node; + in_base_initializer = 0; + } + +diff -Naur gcc-4.6.3.orig/gcc/cp/semantics.c gcc-4.6.3/gcc/cp/semantics.c +--- gcc-4.6.3.orig/gcc/cp/semantics.c 2012-02-09 11:17:36.000000000 -0600 ++++ gcc-4.6.3/gcc/cp/semantics.c 2012-04-03 17:50:13.736130000 -0500 +@@ -6763,7 +6763,6 @@ + + STRIP_NOPS (sub); + subtype = TREE_TYPE (sub); +- gcc_assert (POINTER_TYPE_P (subtype)); + + if (TREE_CODE (sub) == ADDR_EXPR) + { +diff -Naur gcc-4.6.3.orig/gcc/cp/typeck.c gcc-4.6.3/gcc/cp/typeck.c +--- gcc-4.6.3.orig/gcc/cp/typeck.c 2012-01-16 15:34:26.000000000 -0600 ++++ gcc-4.6.3/gcc/cp/typeck.c 2012-06-25 15:37:14.416810000 -0500 +@@ -1822,7 +1822,7 @@ + if (error_operand_p (exp)) + return error_mark_node; + +- if (NULLPTR_TYPE_P (type)) ++ if (NULLPTR_TYPE_P (type) && !TREE_SIDE_EFFECTS (exp)) + return nullptr_node; + + /* build_c_cast puts on a NOP_EXPR to make the result not an lvalue. +diff -Naur gcc-4.6.3.orig/gcc/cselib.c gcc-4.6.3/gcc/cselib.c +--- gcc-4.6.3.orig/gcc/cselib.c 2012-02-14 17:33:23.000000000 -0600 ++++ gcc-4.6.3/gcc/cselib.c 2012-09-14 18:00:45.851369000 -0500 +@@ -1237,8 +1237,18 @@ + unsigned int regno = UINT_MAX; + struct elt_loc_list *p_in = p; + +- for (; p; p = p -> next) ++ for (; p; p = p->next) + { ++ /* Return these right away to avoid returning stack pointer based ++ expressions for frame pointer and vice versa, which is something ++ that would confuse DSE. See the comment in cselib_expand_value_rtx_1 ++ for more details. */ ++ if (REG_P (p->loc) ++ && (REGNO (p->loc) == STACK_POINTER_REGNUM ++ || REGNO (p->loc) == FRAME_POINTER_REGNUM ++ || REGNO (p->loc) == HARD_FRAME_POINTER_REGNUM ++ || REGNO (p->loc) == cfa_base_preserved_regno)) ++ return p->loc; + /* Avoid infinite recursion trying to expand a reg into a + the same reg. */ + if ((REG_P (p->loc)) +diff -Naur gcc-4.6.3.orig/gcc/c-typeck.c gcc-4.6.3/gcc/c-typeck.c +--- gcc-4.6.3.orig/gcc/c-typeck.c 2011-11-04 16:49:49.000000000 -0500 ++++ gcc-4.6.3/gcc/c-typeck.c 2012-09-14 19:29:28.455504000 -0500 +@@ -3527,7 +3527,13 @@ + "wrong type argument to unary exclamation mark"); + return error_mark_node; + } +- arg = c_objc_common_truthvalue_conversion (location, arg); ++ if (int_operands) ++ { ++ arg = c_objc_common_truthvalue_conversion (location, xarg); ++ arg = remove_c_maybe_const_expr (arg); ++ } ++ else ++ arg = c_objc_common_truthvalue_conversion (location, arg); + ret = invert_truthvalue_loc (location, arg); + /* If the TRUTH_NOT_EXPR has been folded, reset the location. */ + if (EXPR_P (ret) && EXPR_HAS_LOCATION (ret)) +@@ -4315,6 +4321,11 @@ + ret = fold_build3_loc (colon_loc, COND_EXPR, result_type, ifexp, op1, op2); + else + { ++ if (int_operands) ++ { ++ op1 = remove_c_maybe_const_expr (op1); ++ op2 = remove_c_maybe_const_expr (op2); ++ } + ret = build3 (COND_EXPR, result_type, ifexp, op1, op2); + if (int_operands) + ret = note_integer_operands (ret); +@@ -4750,8 +4761,11 @@ + ret = build_c_cast (loc, type, expr); + if (type_expr) + { ++ bool inner_expr_const = true; ++ ret = c_fully_fold (ret, require_constant_value, &inner_expr_const); + ret = build2 (C_MAYBE_CONST_EXPR, TREE_TYPE (ret), type_expr, ret); +- C_MAYBE_CONST_EXPR_NON_CONST (ret) = !type_expr_const; ++ C_MAYBE_CONST_EXPR_NON_CONST (ret) = !(type_expr_const ++ && inner_expr_const); + SET_EXPR_LOCATION (ret, loc); + } + +@@ -9628,8 +9642,20 @@ + but that does not mean the operands should be + converted to ints! */ + result_type = integer_type_node; +- op0 = c_common_truthvalue_conversion (location, op0); +- op1 = c_common_truthvalue_conversion (location, op1); ++ if (op0_int_operands) ++ { ++ op0 = c_objc_common_truthvalue_conversion (location, orig_op0); ++ op0 = remove_c_maybe_const_expr (op0); ++ } ++ else ++ op0 = c_objc_common_truthvalue_conversion (location, op0); ++ if (op1_int_operands) ++ { ++ op1 = c_objc_common_truthvalue_conversion (location, orig_op1); ++ op1 = remove_c_maybe_const_expr (op1); ++ } ++ else ++ op1 = c_objc_common_truthvalue_conversion (location, op1); + converted = 1; + boolean_op = true; + } +@@ -10287,12 +10313,17 @@ + + int_const = (TREE_CODE (expr) == INTEGER_CST && !TREE_OVERFLOW (expr)); + int_operands = EXPR_INT_CONST_OPERANDS (expr); +- if (int_operands) +- expr = remove_c_maybe_const_expr (expr); +- +- /* ??? Should we also give an error for vectors rather than leaving +- those to give errors later? */ +- expr = c_common_truthvalue_conversion (location, expr); ++ if (int_operands && TREE_CODE (expr) != INTEGER_CST) ++ { ++ expr = remove_c_maybe_const_expr (expr); ++ expr = build2 (NE_EXPR, integer_type_node, expr, ++ convert (TREE_TYPE (expr), integer_zero_node)); ++ expr = note_integer_operands (expr); ++ } ++ else ++ /* ??? Should we also give an error for vectors rather than leaving ++ those to give errors later? */ ++ expr = c_common_truthvalue_conversion (location, expr); + + if (TREE_CODE (expr) == INTEGER_CST && int_operands && !int_const) + { +diff -Naur gcc-4.6.3.orig/gcc/DATESTAMP gcc-4.6.3/gcc/DATESTAMP +--- gcc-4.6.3.orig/gcc/DATESTAMP 2012-02-29 18:17:53.000000000 -0600 ++++ gcc-4.6.3/gcc/DATESTAMP 2012-11-04 18:17:00.669518000 -0600 +@@ -1 +1 @@ +-20120301 ++20121105 +diff -Naur gcc-4.6.3.orig/gcc/df-problems.c gcc-4.6.3/gcc/df-problems.c +--- gcc-4.6.3.orig/gcc/df-problems.c 2011-07-07 14:10:01.000000000 -0500 ++++ gcc-4.6.3/gcc/df-problems.c 2012-07-16 04:36:04.162835000 -0500 +@@ -3956,6 +3956,19 @@ + df_simulate_initialize_backwards (merge_bb, test_use); + for (insn = across_to; ; insn = next) + { ++ if (CALL_P (insn)) ++ { ++ if (RTL_CONST_OR_PURE_CALL_P (insn)) ++ /* Pure functions can read from memory. Const functions can ++ read from arguments that the ABI has forced onto the stack. ++ Neither sort of read can be volatile. */ ++ memrefs_in_across |= MEMREF_NORMAL; ++ else ++ { ++ memrefs_in_across |= MEMREF_VOLATILE; ++ mem_sets_in_across |= MEMREF_VOLATILE; ++ } ++ } + if (NONDEBUG_INSN_P (insn)) + { + df_simulate_find_defs (insn, test_set); +diff -Naur gcc-4.6.3.orig/gcc/doc/install.texi gcc-4.6.3/gcc/doc/install.texi +--- gcc-4.6.3.orig/gcc/doc/install.texi 2011-03-21 07:13:26.000000000 -0500 ++++ gcc-4.6.3/gcc/doc/install.texi 2012-04-06 03:28:56.865123000 -0500 +@@ -1208,7 +1208,7 @@ + + @item --with-llsc + On MIPS targets, make @option{-mllsc} the default when no +-@option{-mno-lsc} option is passed. This is the default for ++@option{-mno-llsc} option is passed. This is the default for + Linux-based targets, as the kernel will emulate them if the ISA does + not provide them. + +diff -Naur gcc-4.6.3.orig/gcc/doc/invoke.texi gcc-4.6.3/gcc/doc/invoke.texi +--- gcc-4.6.3.orig/gcc/doc/invoke.texi 2012-01-03 10:43:38.000000000 -0600 ++++ gcc-4.6.3/gcc/doc/invoke.texi 2012-10-02 16:24:45.917815000 -0500 +@@ -598,7 +598,8 @@ + -mno-wide-multiply -mrtd -malign-double @gol + -mpreferred-stack-boundary=@var{num} + -mincoming-stack-boundary=@var{num} @gol +--mcld -mcx16 -msahf -mmovbe -mcrc32 -mrecip -mvzeroupper @gol ++-mcld -mcx16 -msahf -mmovbe -mcrc32 -mrecip @gol ++-mvzeroupper -mprefer-avx128 @gol + -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -msse4 -mavx @gol + -maes -mpclmul -mfsgsbase -mrdrnd -mf16c -mfused-madd @gol + -msse4a -m3dnow -mpopcnt -mabm -mbmi -mtbm -mfma4 -mxop -mlwp @gol +@@ -853,8 +854,8 @@ + -m5-compact -m5-compact-nofpu @gol + -mb -ml -mdalign -mrelax @gol + -mbigtable -mfmovd -mhitachi -mrenesas -mno-renesas -mnomacsave @gol +--mieee -mbitops -misize -minline-ic_invalidate -mpadstruct -mspace @gol +--mprefergot -musermode -multcost=@var{number} -mdiv=@var{strategy} @gol ++-mieee -mno-ieee -mbitops -misize -minline-ic_invalidate -mpadstruct @gol ++-mspace -mprefergot -musermode -multcost=@var{number} -mdiv=@var{strategy} @gol + -mdivsi3_libfunc=@var{name} -mfixed-range=@var{register-range} @gol + -madjust-unroll -mindexed-addressing -mgettrcost=@var{number} -mpt-fixed @gol + -maccumulate-outgoing-args -minvalid-symbols} +@@ -5282,7 +5283,9 @@ + @opindex fdump-rtl-dfinish + These dumps are defined but always produce empty files. + +-@item -fdump-rtl-all ++@item -da ++@itemx -fdump-rtl-all ++@opindex da + @opindex fdump-rtl-all + Produce all the dumps listed above. + +@@ -5299,11 +5302,6 @@ + @opindex dH + Produce a core dump whenever an error occurs. + +-@item -dm +-@opindex dm +-Print statistics on memory usage, at the end of the run, to +-standard error. +- + @item -dp + @opindex dp + Annotate the assembler output with a comment indicating which +@@ -12708,6 +12706,11 @@ + AVX to SSE transition penalty as well as remove unnecessary zeroupper + intrinsics. + ++@item -mprefer-avx128 ++@opindex mprefer-avx128 ++This option instructs GCC to use 128-bit AVX instructions instead of ++256-bit AVX instructions in the auto-vectorizer. ++ + @item -mcx16 + @opindex mcx16 + This option will enable GCC to use CMPXCHG16B instruction in generated code. +@@ -16938,13 +16941,15 @@ + @option{-mhitachi} is given. + + @item -mieee ++@item -mno-ieee + @opindex mieee +-Increase IEEE-compliance of floating-point code. +-At the moment, this is equivalent to @option{-fno-finite-math-only}. +-When generating 16 bit SH opcodes, getting IEEE-conforming results for +-comparisons of NANs / infinities incurs extra overhead in every +-floating point comparison, therefore the default is set to +-@option{-ffinite-math-only}. ++@opindex mnoieee ++Control the IEEE compliance of floating-point comparisons, which affects the ++handling of cases where the result of a comparison is unordered. By default ++@option{-mieee} is implicitly enabled. If @option{-ffinite-math-only} is ++enabled @option{-mno-ieee} is implicitly set, which results in faster ++floating-point greater-equal and less-equal comparisons. The implcit settings ++can be overridden by specifying either @option{-mieee} or @option{-mno-ieee}. + + @item -minline-ic_invalidate + @opindex minline-ic_invalidate +diff -Naur gcc-4.6.3.orig/gcc/doc/tm.texi gcc-4.6.3/gcc/doc/tm.texi +--- gcc-4.6.3.orig/gcc/doc/tm.texi 2011-06-04 05:15:48.000000000 -0500 ++++ gcc-4.6.3/gcc/doc/tm.texi 2012-08-10 08:26:44.694722000 -0500 +@@ -1118,6 +1118,14 @@ + If the value of this macro has a type, it should be an unsigned type. + @end defmac + ++@deftypefn {Target Hook} HOST_WIDE_INT TARGET_VECTOR_ALIGNMENT (const_tree @var{type}) ++This hook can be used to define the alignment for a vector of type ++@var{type}, in order to comply with a platform ABI. The default is to ++require natural alignment for vector types. The alignment returned by ++this hook must be a power-of-two multiple of the default alignment of ++the vector element type. ++@end deftypefn ++ + @defmac STACK_SLOT_ALIGNMENT (@var{type}, @var{mode}, @var{basic-align}) + If defined, a C expression to compute the alignment for stack slot. + @var{type} is the data type, @var{mode} is the widest mode available, +diff -Naur gcc-4.6.3.orig/gcc/doc/tm.texi.in gcc-4.6.3/gcc/doc/tm.texi.in +--- gcc-4.6.3.orig/gcc/doc/tm.texi.in 2011-06-04 05:15:48.000000000 -0500 ++++ gcc-4.6.3/gcc/doc/tm.texi.in 2012-08-10 08:26:44.694722000 -0500 +@@ -1108,6 +1108,8 @@ + If the value of this macro has a type, it should be an unsigned type. + @end defmac + ++@hook TARGET_VECTOR_ALIGNMENT ++ + @defmac STACK_SLOT_ALIGNMENT (@var{type}, @var{mode}, @var{basic-align}) + If defined, a C expression to compute the alignment for stack slot. + @var{type} is the data type, @var{mode} is the widest mode available, +diff -Naur gcc-4.6.3.orig/gcc/expr.c gcc-4.6.3/gcc/expr.c +--- gcc-4.6.3.orig/gcc/expr.c 2012-02-09 11:28:22.000000000 -0600 ++++ gcc-4.6.3/gcc/expr.c 2012-06-28 07:01:16.874415000 -0500 +@@ -5971,6 +5971,8 @@ + || bitpos % GET_MODE_ALIGNMENT (mode)) + && SLOW_UNALIGNED_ACCESS (mode, MEM_ALIGN (target))) + || (bitpos % BITS_PER_UNIT != 0))) ++ || (bitsize >= 0 && mode != BLKmode ++ && GET_MODE_BITSIZE (mode) > bitsize) + /* If the RHS and field are a constant size and the size of the + RHS isn't the same size as the bitfield, we must use bitfield + operations. */ +@@ -9182,6 +9184,7 @@ + orig_op0 = op0 + = expand_expr (tem, + (TREE_CODE (TREE_TYPE (tem)) == UNION_TYPE ++ && COMPLETE_TYPE_P (TREE_TYPE (tem)) + && (TREE_CODE (TYPE_SIZE (TREE_TYPE (tem))) + != INTEGER_CST) + && modifier != EXPAND_STACK_PARM +diff -Naur gcc-4.6.3.orig/gcc/fold-const.c gcc-4.6.3/gcc/fold-const.c +--- gcc-4.6.3.orig/gcc/fold-const.c 2012-02-27 05:19:03.000000000 -0600 ++++ gcc-4.6.3/gcc/fold-const.c 2012-10-19 12:03:07.571221000 -0500 +@@ -6771,12 +6771,14 @@ + && TREE_TYPE (TREE_OPERAND (arg1, 0)) == inner_type)) + return NULL_TREE; + +- if ((TYPE_UNSIGNED (inner_type) != TYPE_UNSIGNED (outer_type) +- || POINTER_TYPE_P (inner_type) != POINTER_TYPE_P (outer_type)) ++ if (TYPE_UNSIGNED (inner_type) != TYPE_UNSIGNED (outer_type) + && code != NE_EXPR + && code != EQ_EXPR) + return NULL_TREE; + ++ if (POINTER_TYPE_P (inner_type) != POINTER_TYPE_P (outer_type)) ++ return NULL_TREE; ++ + if (TREE_CODE (arg1) == INTEGER_CST) + arg1 = force_fit_type_double (inner_type, tree_to_double_int (arg1), + 0, TREE_OVERFLOW (arg1)); +diff -Naur gcc-4.6.3.orig/gcc/fortran/array.c gcc-4.6.3/gcc/fortran/array.c +--- gcc-4.6.3.orig/gcc/fortran/array.c 2011-08-22 15:03:00.000000000 -0500 ++++ gcc-4.6.3/gcc/fortran/array.c 2012-09-13 13:19:22.374742000 -0500 +@@ -91,9 +91,7 @@ + else if (!star) + m = gfc_match_expr (&ar->start[i]); + +- if (m == MATCH_NO && gfc_match_char ('*') == MATCH_YES) +- return MATCH_NO; +- else if (m == MATCH_NO) ++ if (m == MATCH_NO) + gfc_error ("Expected array subscript at %C"); + if (m != MATCH_YES) + return MATCH_ERROR; +@@ -224,7 +222,7 @@ + + for (ar->codimen = 0; ar->codimen + ar->dimen < GFC_MAX_DIMENSIONS; ar->codimen++) + { +- m = match_subscript (ar, init, ar->codimen == (corank - 1)); ++ m = match_subscript (ar, init, true); + if (m == MATCH_ERROR) + return MATCH_ERROR; + +@@ -249,6 +247,13 @@ + gfc_error ("Invalid form of coarray reference at %C"); + return MATCH_ERROR; + } ++ else if (ar->dimen_type[ar->codimen + ar->dimen] == DIMEN_STAR) ++ { ++ gfc_error ("Unexpected '*' for codimension %d of %d at %C", ++ ar->codimen + 1, corank); ++ return MATCH_ERROR; ++ } ++ + if (ar->codimen >= corank) + { + gfc_error ("Invalid codimension %d at %C, only %d codimensions exist", +diff -Naur gcc-4.6.3.orig/gcc/fortran/decl.c gcc-4.6.3/gcc/fortran/decl.c +--- gcc-4.6.3.orig/gcc/fortran/decl.c 2011-06-02 14:53:02.000000000 -0500 ++++ gcc-4.6.3/gcc/fortran/decl.c 2012-06-14 08:11:27.149798000 -0500 +@@ -3623,8 +3623,9 @@ + } + } + +- /* Module variables implicitly have the SAVE attribute. */ +- if (gfc_current_state () == COMP_MODULE && !current_attr.save) ++ /* Since Fortran 2008 module variables implicitly have the SAVE attribute. */ ++ if (gfc_current_state () == COMP_MODULE && !current_attr.save ++ && (gfc_option.allow_std & GFC_STD_F2008) != 0) + current_attr.save = SAVE_IMPLICIT; + + colon_seen = 1; +diff -Naur gcc-4.6.3.orig/gcc/fortran/expr.c gcc-4.6.3/gcc/fortran/expr.c +--- gcc-4.6.3.orig/gcc/fortran/expr.c 2012-01-19 16:21:43.000000000 -0600 ++++ gcc-4.6.3/gcc/fortran/expr.c 2012-05-02 07:53:20.873985000 -0500 +@@ -4474,7 +4474,11 @@ + if (ptr_component && ref->type == REF_COMPONENT) + check_intentin = false; + if (ref->type == REF_COMPONENT && ref->u.c.component->attr.pointer) +- ptr_component = true; ++ { ++ ptr_component = true; ++ if (!pointer) ++ check_intentin = false; ++ } + } + if (check_intentin && sym->attr.intent == INTENT_IN) + { +diff -Naur gcc-4.6.3.orig/gcc/fortran/resolve.c gcc-4.6.3/gcc/fortran/resolve.c +--- gcc-4.6.3.orig/gcc/fortran/resolve.c 2012-01-25 02:11:56.000000000 -0600 ++++ gcc-4.6.3/gcc/fortran/resolve.c 2012-09-13 13:15:52.599419000 -0500 +@@ -1452,7 +1452,7 @@ + + if (sym->intmod_sym_id) + isym = gfc_intrinsic_function_by_id ((gfc_isym_id) sym->intmod_sym_id); +- else ++ else if (!sym->attr.subroutine) + isym = gfc_find_function (sym->name); + + if (isym) +@@ -9700,7 +9700,8 @@ + || sym->attr.data + || sym->module + || sym->attr.cray_pointee +- || sym->attr.cray_pointer) ++ || sym->attr.cray_pointer ++ || sym->assoc) + return NULL; + + /* Now we'll try to build an initializer expression. */ +@@ -12908,10 +12909,9 @@ + } + + proc = sym->ns->proc_name; +- if (sym->attr.dummy && gfc_pure (proc) +- && ((proc->attr.subroutine && sym->attr.intent == INTENT_IN) +- || +- proc->attr.function)) ++ if (sym->attr.dummy ++ && ((proc->attr.subroutine && sym->attr.intent == INTENT_IN) ++ || proc->attr.function)) + return 1; + + /* TODO: Sort out what can be storage associated, if anything, and include +diff -Naur gcc-4.6.3.orig/gcc/fortran/simplify.c gcc-4.6.3/gcc/fortran/simplify.c +--- gcc-4.6.3.orig/gcc/fortran/simplify.c 2012-02-03 14:37:36.000000000 -0600 ++++ gcc-4.6.3/gcc/fortran/simplify.c 2012-09-12 16:54:50.523207000 -0500 +@@ -3296,6 +3296,9 @@ + gcc_assert (array->expr_type == EXPR_VARIABLE); + gcc_assert (as); + ++ if (gfc_resolve_array_spec (as, 0) == FAILURE) ++ return NULL; ++ + /* The last dimension of an assumed-size array is special. */ + if ((!coarray && d == as->rank && as->type == AS_ASSUMED_SIZE && !upper) + || (coarray && d == as->rank + as->corank)) +diff -Naur gcc-4.6.3.orig/gcc/fortran/trans-array.c gcc-4.6.3/gcc/fortran/trans-array.c +--- gcc-4.6.3.orig/gcc/fortran/trans-array.c 2011-12-08 14:54:57.000000000 -0600 ++++ gcc-4.6.3/gcc/fortran/trans-array.c 2012-07-14 10:24:12.262320000 -0500 +@@ -2056,6 +2056,11 @@ + gfc_se se; + int n; + ++ /* Don't evaluate the arguments for realloc_lhs_loop_for_fcn_call; otherwise, ++ arguments could get evaluated multiple times. */ ++ if (ss->is_alloc_lhs) ++ return; ++ + /* TODO: This can generate bad code if there are ordering dependencies, + e.g., a callee allocated function and an unknown size constructor. */ + gcc_assert (ss != NULL); +@@ -7548,7 +7553,7 @@ + scalar = 1; + for (; arg; arg = arg->next) + { +- if (!arg->expr) ++ if (!arg->expr || arg->expr->expr_type == EXPR_NULL) + continue; + + newss = gfc_walk_subexpr (head, arg->expr); +diff -Naur gcc-4.6.3.orig/gcc/fortran/trans.c gcc-4.6.3/gcc/fortran/trans.c +--- gcc-4.6.3.orig/gcc/fortran/trans.c 2011-02-23 16:38:27.000000000 -0600 ++++ gcc-4.6.3/gcc/fortran/trans.c 2012-06-01 15:06:39.161162000 -0500 +@@ -1005,15 +1005,12 @@ + if (!res && size != 0) + _gfortran_os_error ("Allocation would exceed memory limit"); + +- if (size == 0) +- return NULL; +- + return res; + } */ + tree + gfc_call_realloc (stmtblock_t * block, tree mem, tree size) + { +- tree msg, res, nonzero, zero, null_result, tmp; ++ tree msg, res, nonzero, null_result, tmp; + tree type = TREE_TYPE (mem); + + size = gfc_evaluate_now (size, block); +@@ -1044,15 +1041,6 @@ + build_empty_stmt (input_location)); + gfc_add_expr_to_block (block, tmp); + +- /* if (size == 0) then the result is NULL. */ +- tmp = fold_build2_loc (input_location, MODIFY_EXPR, type, res, +- build_int_cst (type, 0)); +- zero = fold_build1_loc (input_location, TRUTH_NOT_EXPR, boolean_type_node, +- nonzero); +- tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, zero, tmp, +- build_empty_stmt (input_location)); +- gfc_add_expr_to_block (block, tmp); +- + return res; + } + +diff -Naur gcc-4.6.3.orig/gcc/fortran/trans-types.c gcc-4.6.3/gcc/fortran/trans-types.c +--- gcc-4.6.3.orig/gcc/fortran/trans-types.c 2011-11-25 11:18:05.000000000 -0600 ++++ gcc-4.6.3/gcc/fortran/trans-types.c 2012-03-10 03:20:22.792570000 -0600 +@@ -2519,7 +2519,11 @@ + || sym->attr.flavor == FL_PROGRAM); + + if (sym->backend_decl) +- return TREE_TYPE (sym->backend_decl); ++ { ++ if (sym->attr.proc_pointer) ++ return TREE_TYPE (TREE_TYPE (sym->backend_decl)); ++ return TREE_TYPE (sym->backend_decl); ++ } + + alternate_return = 0; + typelist = NULL_TREE; +diff -Naur gcc-4.6.3.orig/gcc/gcov-iov.c gcc-4.6.3/gcc/gcov-iov.c +--- gcc-4.6.3.orig/gcc/gcov-iov.c 2011-01-03 14:52:22.000000000 -0600 ++++ gcc-4.6.3/gcc/gcov-iov.c 2012-06-22 07:32:34.527642000 -0500 +@@ -19,8 +19,8 @@ + along with GCC; see the file COPYING3. If not see + . */ + +-#include +-#include ++#include "bconfig.h" ++#include "system.h" + + /* Command line arguments are the base GCC version and the development + phase (the latter may be an empty string). */ +@@ -48,8 +48,14 @@ + if (*ptr == '.') + minor = strtoul (ptr + 1, 0, 10); + ++ /* For releases the development phase is an empty string, for ++ prerelease versions on a release branch it is "prerelease". ++ Consider both equal as patch-level releases do not change ++ the GCOV version either. ++ On the trunk the development phase is "experimental". */ + phase = argv[2][0]; +- if (phase == '\0') ++ if (phase == '\0' ++ || strcmp (argv[2], "prerelease") == 0) + phase = '*'; + + v[0] = (major < 10 ? '0' : 'A' - 10) + major; +diff -Naur gcc-4.6.3.orig/gcc/gimple.c gcc-4.6.3/gcc/gimple.c +--- gcc-4.6.3.orig/gcc/gimple.c 2011-08-03 13:56:02.000000000 -0500 ++++ gcc-4.6.3/gcc/gimple.c 2012-05-22 04:23:01.937094000 -0500 +@@ -2275,8 +2275,6 @@ + bool + gimple_has_side_effects (const_gimple s) + { +- unsigned i; +- + if (is_gimple_debug (s)) + return false; + +@@ -2292,45 +2290,15 @@ + + if (is_gimple_call (s)) + { +- unsigned nargs = gimple_call_num_args (s); ++ int flags = gimple_call_flags (s); + +- if (!(gimple_call_flags (s) & (ECF_CONST | ECF_PURE))) +- return true; +- else if (gimple_call_flags (s) & ECF_LOOPING_CONST_OR_PURE) +- /* An infinite loop is considered a side effect. */ ++ /* An infinite loop is considered a side effect. */ ++ if (!(flags & (ECF_CONST | ECF_PURE)) ++ || (flags & ECF_LOOPING_CONST_OR_PURE)) + return true; + +- if (gimple_call_lhs (s) +- && TREE_SIDE_EFFECTS (gimple_call_lhs (s))) +- { +- gcc_checking_assert (gimple_has_volatile_ops (s)); +- return true; +- } +- +- if (TREE_SIDE_EFFECTS (gimple_call_fn (s))) +- return true; +- +- for (i = 0; i < nargs; i++) +- if (TREE_SIDE_EFFECTS (gimple_call_arg (s, i))) +- { +- gcc_checking_assert (gimple_has_volatile_ops (s)); +- return true; +- } +- + return false; + } +- else +- { +- for (i = 0; i < gimple_num_ops (s); i++) +- { +- tree op = gimple_op (s, i); +- if (op && TREE_SIDE_EFFECTS (op)) +- { +- gcc_checking_assert (gimple_has_volatile_ops (s)); +- return true; +- } +- } +- } + + return false; + } +diff -Naur gcc-4.6.3.orig/gcc/gthr-posix.h gcc-4.6.3/gcc/gthr-posix.h +--- gcc-4.6.3.orig/gcc/gthr-posix.h 2011-01-03 14:52:22.000000000 -0600 ++++ gcc-4.6.3/gcc/gthr-posix.h 2012-06-05 16:42:30.036539000 -0500 +@@ -239,16 +239,15 @@ + static inline int + __gthread_active_p (void) + { +- static void *const __gthread_active_ptr +- = __extension__ (void *) &__gthrw_( + /* Android's C library does not provide pthread_cancel, check for + `pthread_create' instead. */ + #ifndef __BIONIC__ +- pthread_cancel ++ static void *const __gthread_active_ptr ++ = __extension__ (void *) &__gthrw_(pthread_cancel); + #else +- pthread_create ++ static void *const __gthread_active_ptr ++ = __extension__ (void *) &__gthrw_(pthread_create); + #endif +- ); + return __gthread_active_ptr != 0; + } + +diff -Naur gcc-4.6.3.orig/gcc/ipa-prop.c gcc-4.6.3/gcc/ipa-prop.c +--- gcc-4.6.3.orig/gcc/ipa-prop.c 2011-12-13 16:03:05.000000000 -0600 ++++ gcc-4.6.3/gcc/ipa-prop.c 2012-07-02 10:53:21.612759000 -0500 +@@ -704,12 +704,11 @@ + || is_global_var (base)) + return; + +- if (detect_type_change (op, base, call, jfunc, offset)) +- return; +- + binfo = TYPE_BINFO (TREE_TYPE (base)); +- if (!binfo) ++ if (!binfo ++ || detect_type_change (op, base, call, jfunc, offset)) + return; ++ + binfo = get_binfo_at_offset (binfo, offset, TREE_TYPE (op)); + if (binfo) + { +diff -Naur gcc-4.6.3.orig/gcc/ira-int.h gcc-4.6.3/gcc/ira-int.h +--- gcc-4.6.3.orig/gcc/ira-int.h 2011-01-03 14:52:22.000000000 -0600 ++++ gcc-4.6.3/gcc/ira-int.h 2012-09-21 05:09:04.504622000 -0500 +@@ -1123,8 +1123,13 @@ + ira_allocno_object_iter_cond (ira_allocno_object_iterator *i, ira_allocno_t a, + ira_object_t *o) + { +- *o = ALLOCNO_OBJECT (a, i->n); +- return i->n++ < ALLOCNO_NUM_OBJECTS (a); ++ int n = i->n++; ++ if (n < ALLOCNO_NUM_OBJECTS (a)) ++ { ++ *o = ALLOCNO_OBJECT (a, n); ++ return true; ++ } ++ return false; + } + + /* Loop over all objects associated with allocno A. In each +diff -Naur gcc-4.6.3.orig/gcc/lto/lto.c gcc-4.6.3/gcc/lto/lto.c +--- gcc-4.6.3.orig/gcc/lto/lto.c 2011-12-13 16:03:05.000000000 -0600 ++++ gcc-4.6.3/gcc/lto/lto.c 2012-04-23 07:44:46.674224000 -0500 +@@ -893,7 +893,8 @@ + + for (node = cgraph_nodes; node; node = node->next) + { +- if (!partition_cgraph_node_p (node)) ++ if (!partition_cgraph_node_p (node) ++ || node->aux) + continue; + + file_data = node->local.lto_file_data; +@@ -923,13 +924,13 @@ + npartitions++; + } + +- if (!node->aux) +- add_cgraph_node_to_partition (partition, node); ++ add_cgraph_node_to_partition (partition, node); + } + + for (vnode = varpool_nodes; vnode; vnode = vnode->next) + { +- if (!partition_varpool_node_p (vnode)) ++ if (!partition_varpool_node_p (vnode) ++ || vnode->aux) + continue; + file_data = vnode->lto_file_data; + slot = pointer_map_contains (pmap, file_data); +@@ -943,8 +944,7 @@ + npartitions++; + } + +- if (!vnode->aux) +- add_varpool_node_to_partition (partition, vnode); ++ add_varpool_node_to_partition (partition, vnode); + } + for (node = cgraph_nodes; node; node = node->next) + node->aux = NULL; +@@ -1050,8 +1050,9 @@ + + for (i = 0; i < n_nodes; i++) + { +- if (!order[i]->aux) +- add_cgraph_node_to_partition (partition, order[i]); ++ if (order[i]->aux) ++ continue; ++ add_cgraph_node_to_partition (partition, order[i]); + total_size -= order[i]->global.size; + + /* Once we added a new node to the partition, we also want to add +@@ -1231,6 +1232,8 @@ + } + i = best_i; + /* When we are finished, avoid creating empty partition. */ ++ while (i < n_nodes - 1 && order[i + 1]->aux) ++ i++; + if (i == n_nodes - 1) + break; + partition = new_partition (""); +diff -Naur gcc-4.6.3.orig/gcc/predict.c gcc-4.6.3/gcc/predict.c +--- gcc-4.6.3.orig/gcc/predict.c 2011-01-22 15:47:40.000000000 -0600 ++++ gcc-4.6.3/gcc/predict.c 2012-03-25 05:59:19.696090000 -0500 +@@ -1790,7 +1790,8 @@ + static void + predict_paths_for_bb (basic_block cur, basic_block bb, + enum br_predictor pred, +- enum prediction taken) ++ enum prediction taken, ++ bitmap visited) + { + edge e; + edge_iterator ei; +@@ -1811,7 +1812,7 @@ + continue; + gcc_assert (bb == cur || dominated_by_p (CDI_POST_DOMINATORS, cur, bb)); + +- /* See if there is how many edge from e->src that is not abnormal ++ /* See if there is an edge from e->src that is not abnormal + and does not lead to BB. */ + FOR_EACH_EDGE (e2, ei2, e->src->succs) + if (e2 != e +@@ -1824,16 +1825,20 @@ + + /* If there is non-abnormal path leaving e->src, predict edge + using predictor. Otherwise we need to look for paths +- leading to e->src. */ ++ leading to e->src. ++ ++ The second may lead to infinite loop in the case we are predicitng ++ regions that are only reachable by abnormal edges. We simply ++ prevent visiting given BB twice. */ + if (found) + predict_edge_def (e, pred, taken); +- else +- predict_paths_for_bb (e->src, e->src, pred, taken); ++ else if (bitmap_set_bit (visited, e->src->index)) ++ predict_paths_for_bb (e->src, e->src, pred, taken, visited); + } + for (son = first_dom_son (CDI_POST_DOMINATORS, cur); + son; + son = next_dom_son (CDI_POST_DOMINATORS, son)) +- predict_paths_for_bb (son, bb, pred, taken); ++ predict_paths_for_bb (son, bb, pred, taken, visited); + } + + /* Sets branch probabilities according to PREDiction and +@@ -1843,7 +1848,9 @@ + predict_paths_leading_to (basic_block bb, enum br_predictor pred, + enum prediction taken) + { +- predict_paths_for_bb (bb, bb, pred, taken); ++ bitmap visited = BITMAP_ALLOC (NULL); ++ predict_paths_for_bb (bb, bb, pred, taken, visited); ++ BITMAP_FREE (visited); + } + + /* Like predict_paths_leading_to but take edge instead of basic block. */ +@@ -1866,7 +1873,11 @@ + break; + } + if (!has_nonloop_edge) +- predict_paths_for_bb (bb, bb, pred, taken); ++ { ++ bitmap visited = BITMAP_ALLOC (NULL); ++ predict_paths_for_bb (bb, bb, pred, taken, visited); ++ BITMAP_FREE (visited); ++ } + else + predict_edge_def (e, pred, taken); + } +diff -Naur gcc-4.6.3.orig/gcc/sel-sched.c gcc-4.6.3/gcc/sel-sched.c +--- gcc-4.6.3.orig/gcc/sel-sched.c 2011-06-28 07:19:18.000000000 -0500 ++++ gcc-4.6.3/gcc/sel-sched.c 2012-10-22 14:34:35.215631000 -0500 +@@ -3578,29 +3578,41 @@ + return NULL; + } + +-/* Lookup EXPR in VINSN_VEC and return TRUE if found. */ ++/* Lookup EXPR in VINSN_VEC and return TRUE if found. Also check patterns from ++ EXPR's history of changes. */ + static bool + vinsn_vec_has_expr_p (vinsn_vec_t vinsn_vec, expr_t expr) + { +- vinsn_t vinsn; ++ vinsn_t vinsn, expr_vinsn; + int n; ++ unsigned i; + +- FOR_EACH_VEC_ELT (vinsn_t, vinsn_vec, n, vinsn) +- if (VINSN_SEPARABLE_P (vinsn)) +- { +- if (vinsn_equal_p (vinsn, EXPR_VINSN (expr))) +- return true; +- } +- else +- { +- /* For non-separable instructions, the blocking insn can have +- another pattern due to substitution, and we can't choose +- different register as in the above case. Check all registers +- being written instead. */ +- if (bitmap_intersect_p (VINSN_REG_SETS (vinsn), +- VINSN_REG_SETS (EXPR_VINSN (expr)))) +- return true; +- } ++ /* Start with checking expr itself and then proceed with all the old forms ++ of expr taken from its history vector. */ ++ for (i = 0, expr_vinsn = EXPR_VINSN (expr); ++ expr_vinsn; ++ expr_vinsn = (i < VEC_length (expr_history_def, ++ EXPR_HISTORY_OF_CHANGES (expr)) ++ ? VEC_index (expr_history_def, ++ EXPR_HISTORY_OF_CHANGES (expr), ++ i++)->old_expr_vinsn ++ : NULL)) ++ FOR_EACH_VEC_ELT (vinsn_t, vinsn_vec, n, vinsn) ++ if (VINSN_SEPARABLE_P (vinsn)) ++ { ++ if (vinsn_equal_p (vinsn, expr_vinsn)) ++ return true; ++ } ++ else ++ { ++ /* For non-separable instructions, the blocking insn can have ++ another pattern due to substitution, and we can't choose ++ different register as in the above case. Check all registers ++ being written instead. */ ++ if (bitmap_intersect_p (VINSN_REG_SETS (vinsn), ++ VINSN_REG_SETS (expr_vinsn))) ++ return true; ++ } + + return false; + } +@@ -5700,8 +5712,8 @@ + || EXPR_TARGET_AVAILABLE (new_expr) + != EXPR_TARGET_AVAILABLE (cur_expr)) + /* Unfortunately, the below code could be also fired up on +- separable insns. +- FIXME: add an example of how this could happen. */ ++ separable insns, e.g. when moving insns through the new ++ speculation check as in PR 53701. */ + vinsn_vec_add (&vec_bookkeeping_blocked_vinsns, cur_expr); + } + +diff -Naur gcc-4.6.3.orig/gcc/sel-sched-ir.h gcc-4.6.3/gcc/sel-sched-ir.h +--- gcc-4.6.3.orig/gcc/sel-sched-ir.h 2011-04-07 07:07:24.000000000 -0500 ++++ gcc-4.6.3/gcc/sel-sched-ir.h 2012-10-30 03:25:16.725474000 -0500 +@@ -1119,7 +1119,8 @@ + /* If bb is empty, and we're skipping to loop exits, then + consider bb as a possible gate to the inner loop now. */ + while (sel_bb_empty_or_nop_p (bb) +- && in_current_region_p (bb)) ++ && in_current_region_p (bb) ++ && EDGE_COUNT (bb->succs) > 0) + { + bb = single_succ (bb); + +diff -Naur gcc-4.6.3.orig/gcc/stor-layout.c gcc-4.6.3/gcc/stor-layout.c +--- gcc-4.6.3.orig/gcc/stor-layout.c 2012-02-20 16:09:48.000000000 -0600 ++++ gcc-4.6.3/gcc/stor-layout.c 2012-08-10 08:26:44.694722000 -0500 +@@ -660,12 +660,13 @@ + /* See if we can use an ordinary integer mode for a bit-field. + Conditions are: a fixed size that is correct for another mode, + occupying a complete byte or bytes on proper boundary, +- and not volatile or not -fstrict-volatile-bitfields. */ ++ and not -fstrict-volatile-bitfields. If the latter is set, ++ we unfortunately can't check TREE_THIS_VOLATILE, as a cast ++ may make a volatile object later. */ + if (TYPE_SIZE (type) != 0 + && TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST + && GET_MODE_CLASS (TYPE_MODE (type)) == MODE_INT +- && !(TREE_THIS_VOLATILE (decl) +- && flag_strict_volatile_bitfields > 0)) ++ && flag_strict_volatile_bitfields <= 0) + { + enum machine_mode xmode + = mode_for_size_tree (DECL_SIZE (decl), MODE_INT, 1); +@@ -1926,9 +1927,17 @@ + TYPE_SIZE (type) = int_const_binop (MULT_EXPR, TYPE_SIZE (innertype), + bitsize_int (nunits), 0); + +- /* Always naturally align vectors. This prevents ABI changes +- depending on whether or not native vector modes are supported. */ +- TYPE_ALIGN (type) = tree_low_cst (TYPE_SIZE (type), 0); ++ /* For vector types, we do not default to the mode's alignment. ++ Instead, query a target hook, defaulting to natural alignment. ++ This prevents ABI changes depending on whether or not native ++ vector modes are supported. */ ++ TYPE_ALIGN (type) = targetm.vector_alignment (type); ++ ++ /* However, if the underlying mode requires a bigger alignment than ++ what the target hook provides, we cannot use the mode. For now, ++ simply reject that case. */ ++ gcc_assert (TYPE_ALIGN (type) ++ >= GET_MODE_ALIGNMENT (TYPE_MODE (type))); + break; + } + +diff -Naur gcc-4.6.3.orig/gcc/target.def gcc-4.6.3/gcc/target.def +--- gcc-4.6.3.orig/gcc/target.def 2011-06-04 05:15:48.000000000 -0500 ++++ gcc-4.6.3/gcc/target.def 2012-08-10 08:26:44.694722000 -0500 +@@ -1611,6 +1611,16 @@ + bool, (enum machine_mode mode), + hook_bool_mode_false) + ++DEFHOOK ++(vector_alignment, ++ "This hook can be used to define the alignment for a vector of type\n\ ++@var{type}, in order to comply with a platform ABI. The default is to\n\ ++require natural alignment for vector types. The alignment returned by\n\ ++this hook must be a power-of-two multiple of the default alignment of\n\ ++the vector element type.", ++ HOST_WIDE_INT, (const_tree type), ++ default_vector_alignment) ++ + /* Compute cost of moving data from a register of class FROM to one of + TO, using MODE. */ + DEFHOOK +diff -Naur gcc-4.6.3.orig/gcc/target.h gcc-4.6.3/gcc/target.h +--- gcc-4.6.3.orig/gcc/target.h 2011-01-14 09:02:20.000000000 -0600 ++++ gcc-4.6.3/gcc/target.h 2012-03-02 08:51:58.551861000 -0600 +@@ -128,7 +128,8 @@ + scalar_to_vec, + cond_branch_not_taken, + cond_branch_taken, +- vec_perm ++ vec_perm, ++ vec_promote_demote + }; + + /* Sets of optimization levels at which an option may be enabled by +diff -Naur gcc-4.6.3.orig/gcc/targhooks.c gcc-4.6.3/gcc/targhooks.c +--- gcc-4.6.3.orig/gcc/targhooks.c 2011-01-14 09:02:20.000000000 -0600 ++++ gcc-4.6.3/gcc/targhooks.c 2012-08-10 08:26:44.694722000 -0500 +@@ -529,6 +529,7 @@ + case scalar_to_vec: + case cond_branch_not_taken: + case vec_perm: ++ case vec_promote_demote: + return 1; + + case unaligned_load: +@@ -978,6 +979,13 @@ + return id; + } + ++/* Default to natural alignment for vector types. */ ++HOST_WIDE_INT ++default_vector_alignment (const_tree type) ++{ ++ return tree_low_cst (TYPE_SIZE (type), 0); ++} ++ + bool + default_builtin_vector_alignment_reachable (const_tree type, bool is_packed) + { +diff -Naur gcc-4.6.3.orig/gcc/targhooks.h gcc-4.6.3/gcc/targhooks.h +--- gcc-4.6.3.orig/gcc/targhooks.h 2011-01-14 09:02:20.000000000 -0600 ++++ gcc-4.6.3/gcc/targhooks.h 2012-08-10 08:26:44.694722000 -0500 +@@ -85,6 +85,8 @@ + + extern tree default_builtin_reciprocal (unsigned int, bool, bool); + ++extern HOST_WIDE_INT default_vector_alignment (const_tree); ++ + extern bool default_builtin_vector_alignment_reachable (const_tree, bool); + extern bool + default_builtin_support_vector_misalignment (enum machine_mode mode, +diff -Naur gcc-4.6.3.orig/gcc/testsuite/c-c++-common/abi-bf.c gcc-4.6.3/gcc/testsuite/c-c++-common/abi-bf.c +--- gcc-4.6.3.orig/gcc/testsuite/c-c++-common/abi-bf.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/c-c++-common/abi-bf.c 2012-03-28 21:15:29.973365000 -0500 +@@ -0,0 +1,3 @@ ++/* { dg-warning "incompatible" } */ ++/* { dg-do compile } */ ++/* { dg-options "-fstrict-volatile-bitfields -fabi-version=1" } */ +diff -Naur gcc-4.6.3.orig/gcc/testsuite/c-c++-common/pr33763.c gcc-4.6.3/gcc/testsuite/c-c++-common/pr33763.c +--- gcc-4.6.3.orig/gcc/testsuite/c-c++-common/pr33763.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/c-c++-common/pr33763.c 2012-10-05 07:01:59.135703000 -0500 +@@ -0,0 +1,60 @@ ++/* PR tree-optimization/33763 */ ++/* { dg-do compile } */ ++/* { dg-options "-O2" } */ ++ ++typedef struct ++{ ++ void *a; ++ void *b; ++} T; ++extern void *foo (const char *, const char *); ++extern void *bar (void *, const char *, T); ++extern int baz (const char *, int); ++ ++extern inline __attribute__ ((always_inline, gnu_inline)) int ++baz (const char *x, int y) ++{ ++ return 2; ++} ++ ++int ++baz (const char *x, int y) ++{ ++ return 1; ++} ++ ++int xa, xb; ++ ++static void * ++inl (const char *x, const char *y) ++{ ++ T t = { &xa, &xb }; ++ int *f = (int *) __builtin_malloc (sizeof (int)); ++ const char *z; ++ int o = 0; ++ void *r = 0; ++ ++ for (z = y; *z; z++) ++ { ++ if (*z == 'r') ++ o |= 1; ++ if (*z == 'w') ++ o |= 2; ++ } ++ if (o == 1) ++ *f = baz (x, 0); ++ if (o == 2) ++ *f = baz (x, 1); ++ if (o == 3) ++ *f = baz (x, 2); ++ ++ if (o && *f > 0) ++ r = bar (f, "w", t); ++ return r; ++} ++ ++void * ++foo (const char *x, const char *y) ++{ ++ return inl (x, y); ++} +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.c-torture/compile/limits-externdecl.c gcc-4.6.3/gcc/testsuite/gcc.c-torture/compile/limits-externdecl.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.c-torture/compile/limits-externdecl.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.c-torture/compile/limits-externdecl.c 2012-03-24 08:47:46.199387000 -0500 +@@ -0,0 +1,56 @@ ++/* Inspired by the test case for PR middle-end/52640. */ ++ ++typedef struct ++{ ++ char *value; ++} REFERENCE; ++ ++/* Add a few "extern int Xxxxxx ();" declarations. */ ++#undef DEF ++#undef LIM1 ++#undef LIM2 ++#undef LIM3 ++#undef LIM4 ++#undef LIM5 ++#undef LIM6 ++#define DEF(x) extern int x () ++#define LIM1(x) DEF(x##0); DEF(x##1); DEF(x##2); DEF(x##3); DEF(x##4); \ ++ DEF(x##5); DEF(x##6); DEF(x##7); DEF(x##8); DEF(x##9); ++#define LIM2(x) LIM1(x##0) LIM1(x##1) LIM1(x##2) LIM1(x##3) LIM1(x##4) \ ++ LIM1(x##5) LIM1(x##6) LIM1(x##7) LIM1(x##8) LIM1(x##9) ++#define LIM3(x) LIM2(x##0) LIM2(x##1) LIM2(x##2) LIM2(x##3) LIM2(x##4) \ ++ LIM2(x##5) LIM2(x##6) LIM2(x##7) LIM2(x##8) LIM2(x##9) ++#define LIM4(x) LIM3(x##0) LIM3(x##1) LIM3(x##2) LIM3(x##3) LIM3(x##4) \ ++ LIM3(x##5) LIM3(x##6) LIM3(x##7) LIM3(x##8) LIM3(x##9) ++#define LIM5(x) LIM4(x##0) LIM4(x##1) LIM4(x##2) LIM4(x##3) LIM4(x##4) \ ++ LIM4(x##5) LIM4(x##6) LIM4(x##7) LIM4(x##8) LIM4(x##9) ++#define LIM6(x) LIM5(x##0) LIM5(x##1) LIM5(x##2) LIM5(x##3) LIM5(x##4) \ ++ LIM5(x##5) LIM5(x##6) LIM5(x##7) LIM5(x##8) LIM5(x##9) ++LIM5 (X); ++ ++/* Add references to them, or GCC will simply ignore the extern decls. */ ++#undef DEF ++#undef LIM1 ++#undef LIM2 ++#undef LIM3 ++#undef LIM4 ++#undef LIM5 ++#undef LIM6 ++#define DEF(x) (char *) x ++#define LIM1(x) DEF(x##0), DEF(x##1), DEF(x##2), DEF(x##3), DEF(x##4), \ ++ DEF(x##5), DEF(x##6), DEF(x##7), DEF(x##8), DEF(x##9), ++#define LIM2(x) LIM1(x##0) LIM1(x##1) LIM1(x##2) LIM1(x##3) LIM1(x##4) \ ++ LIM1(x##5) LIM1(x##6) LIM1(x##7) LIM1(x##8) LIM1(x##9) ++#define LIM3(x) LIM2(x##0) LIM2(x##1) LIM2(x##2) LIM2(x##3) LIM2(x##4) \ ++ LIM2(x##5) LIM2(x##6) LIM2(x##7) LIM2(x##8) LIM2(x##9) ++#define LIM4(x) LIM3(x##0) LIM3(x##1) LIM3(x##2) LIM3(x##3) LIM3(x##4) \ ++ LIM3(x##5) LIM3(x##6) LIM3(x##7) LIM3(x##8) LIM3(x##9) ++#define LIM5(x) LIM4(x##0) LIM4(x##1) LIM4(x##2) LIM4(x##3) LIM4(x##4) \ ++ LIM4(x##5) LIM4(x##6) LIM4(x##7) LIM4(x##8) LIM4(x##9) ++#define LIM6(x) LIM5(x##0) LIM5(x##1) LIM5(x##2) LIM5(x##3) LIM5(x##4) \ ++ LIM5(x##5) LIM5(x##6) LIM5(x##7) LIM5(x##8) LIM5(x##9) ++REFERENCE references[] = { ++ LIM5 (X) ++ 0 ++}; ++ +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.c-torture/compile/pr53418-1.c gcc-4.6.3/gcc/testsuite/gcc.c-torture/compile/pr53418-1.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.c-torture/compile/pr53418-1.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.c-torture/compile/pr53418-1.c 2012-05-21 15:12:05.729358000 -0500 +@@ -0,0 +1,5 @@ ++void ++f (void) ++{ ++ int i = (0 ? 1 : 0U / 0); ++} +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.c-torture/compile/pr53418-2.c gcc-4.6.3/gcc/testsuite/gcc.c-torture/compile/pr53418-2.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.c-torture/compile/pr53418-2.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.c-torture/compile/pr53418-2.c 2012-05-21 15:12:05.729358000 -0500 +@@ -0,0 +1,5 @@ ++void ++f (void) ++{ ++ int i = (1 ? 0U / 0 : 1); ++} +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.c-torture/compile/pr54103-1.c gcc-4.6.3/gcc/testsuite/gcc.c-torture/compile/pr54103-1.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.c-torture/compile/pr54103-1.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.c-torture/compile/pr54103-1.c 2012-09-14 19:28:05.208434000 -0500 +@@ -0,0 +1,5 @@ ++void ++f (void) ++{ ++ 0 || 0 / 0 ? : 0; ++} +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.c-torture/compile/pr54103-2.c gcc-4.6.3/gcc/testsuite/gcc.c-torture/compile/pr54103-2.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.c-torture/compile/pr54103-2.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.c-torture/compile/pr54103-2.c 2012-09-14 19:28:05.208434000 -0500 +@@ -0,0 +1,5 @@ ++void ++f (void) ++{ ++ 0 / 0 || 0 ? : 0; ++} +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.c-torture/compile/pr54103-3.c gcc-4.6.3/gcc/testsuite/gcc.c-torture/compile/pr54103-3.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.c-torture/compile/pr54103-3.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.c-torture/compile/pr54103-3.c 2012-09-14 19:28:05.208434000 -0500 +@@ -0,0 +1,5 @@ ++void ++f (void) ++{ ++ 1 && 0 / 0 ? : 0; ++} +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.c-torture/compile/pr54103-4.c gcc-4.6.3/gcc/testsuite/gcc.c-torture/compile/pr54103-4.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.c-torture/compile/pr54103-4.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.c-torture/compile/pr54103-4.c 2012-09-14 19:28:05.208434000 -0500 +@@ -0,0 +1,5 @@ ++void ++f (void) ++{ ++ 0 / 0 && 1 ? : 0; ++} +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.c-torture/compile/pr54103-5.c gcc-4.6.3/gcc/testsuite/gcc.c-torture/compile/pr54103-5.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.c-torture/compile/pr54103-5.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.c-torture/compile/pr54103-5.c 2012-09-14 19:28:05.208434000 -0500 +@@ -0,0 +1,5 @@ ++void ++f (void) ++{ ++ !(0 / 0); ++} +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.c-torture/compile/pr54103-6.c gcc-4.6.3/gcc/testsuite/gcc.c-torture/compile/pr54103-6.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.c-torture/compile/pr54103-6.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.c-torture/compile/pr54103-6.c 2012-09-14 19:28:05.208434000 -0500 +@@ -0,0 +1,5 @@ ++void ++f (void) ++{ ++ 0 || 65536*65536 ? : 0; ++} +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.c-torture/compile/pr54552-1.c gcc-4.6.3/gcc/testsuite/gcc.c-torture/compile/pr54552-1.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.c-torture/compile/pr54552-1.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.c-torture/compile/pr54552-1.c 2012-09-14 19:29:28.455504000 -0500 +@@ -0,0 +1,8 @@ ++void ++f (void) ++{ ++ unsigned n = 10; ++ ++ typedef double T[n]; ++ (double (*)[n])((unsigned char (*)[sizeof (T)]){ 0 }); ++} +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.c-torture/execute/20120427-1.c gcc-4.6.3/gcc/testsuite/gcc.c-torture/execute/20120427-1.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.c-torture/execute/20120427-1.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.c-torture/execute/20120427-1.c 2012-04-30 04:56:27.764158000 -0500 +@@ -0,0 +1,36 @@ ++typedef struct sreal ++{ ++ unsigned sig; /* Significant. */ ++ int exp; /* Exponent. */ ++} sreal; ++ ++sreal_compare (sreal *a, sreal *b) ++{ ++ if (a->exp > b->exp) ++ return 1; ++ if (a->exp < b->exp) ++ return -1; ++ if (a->sig > b->sig) ++ return 1; ++ return -(a->sig < b->sig); ++} ++ ++sreal a[] = { ++ { 0, 0 }, ++ { 1, 0 }, ++ { 0, 1 }, ++ { 1, 1 } ++}; ++ ++int main() ++{ ++ int i, j; ++ for (i = 0; i <= 3; i++) { ++ for (j = 0; j < 3; j++) { ++ if (i < j && sreal_compare(&a[i], &a[j]) != -1) abort(); ++ if (i == j && sreal_compare(&a[i], &a[j]) != 0) abort(); ++ if (i > j && sreal_compare(&a[i], &a[j]) != 1) abort(); ++ } ++ } ++ return 0; ++} +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.c-torture/execute/pr53084.c gcc-4.6.3/gcc/testsuite/gcc.c-torture/execute/pr53084.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.c-torture/execute/pr53084.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.c-torture/execute/pr53084.c 2012-04-24 01:14:37.854759000 -0500 +@@ -0,0 +1,18 @@ ++/* PR middle-end/53084 */ ++ ++extern void abort (void); ++ ++__attribute__((noinline, noclone)) void ++bar (const char *p) ++{ ++ if (p[0] != 'o' || p[1] != 'o' || p[2]) ++ abort (); ++} ++ ++int ++main () ++{ ++ static const char *const foo[] = {"foo" + 1}; ++ bar (foo[0]); ++ return 0; ++} +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.dg/20020201-1.c gcc-4.6.3/gcc/testsuite/gcc.dg/20020201-1.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.dg/20020201-1.c 2005-03-31 12:14:11.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.dg/20020201-1.c 2012-08-06 02:11:07.208019000 -0500 +@@ -7,11 +7,7 @@ + /* { dg-options "-fprofile-arcs" } */ + /* { dg-do run { target native } } */ + +-extern void abort (void); +-extern void exit (int); +- +-int rand (void); +-void srand (unsigned int seed); ++#include + + int globvar; + +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.dg/align-2.c gcc-4.6.3/gcc/testsuite/gcc.dg/align-2.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.dg/align-2.c 2004-10-19 14:21:41.000000000 -0500 ++++ gcc-4.6.3/gcc/testsuite/gcc.dg/align-2.c 2012-08-10 08:26:44.694722000 -0500 +@@ -1,5 +1,5 @@ + /* PR 17962 */ +-/* { dg-do compile } */ ++/* { dg-do compile { target vect_natural_alignment } } */ + /* { dg-options "" } */ + + typedef float v4 __attribute__((vector_size(sizeof(float)*4))); +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.dg/c90-const-expr-8.c gcc-4.6.3/gcc/testsuite/gcc.dg/c90-const-expr-8.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.dg/c90-const-expr-8.c 2009-06-12 17:06:47.000000000 -0500 ++++ gcc-4.6.3/gcc/testsuite/gcc.dg/c90-const-expr-8.c 2012-09-14 19:28:05.208434000 -0500 +@@ -22,6 +22,6 @@ + E5 = 0 * -INT_MIN, /* { dg-warning "12:integer overflow in expression" } */ + /* { dg-error "3:overflow in constant expression" "constant" { target *-*-* } 22 } */ + E6 = 0 * !-INT_MIN, /* { dg-warning "13:integer overflow in expression" } */ +- /* { dg-error "3:not an integer constant" "constant" { target *-*-* } 24 } */ ++ /* { dg-error "8:not an integer constant" "constant" { target *-*-* } 24 } */ + E7 = INT_MIN % -1 /* Not an overflow. */ + }; +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.dg/pr48374.c gcc-4.6.3/gcc/testsuite/gcc.dg/pr48374.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.dg/pr48374.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.dg/pr48374.c 2012-10-30 03:25:16.725474000 -0500 +@@ -0,0 +1,17 @@ ++/* { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } } */ ++/* { dg-options "-O -fschedule-insns2 -fsel-sched-pipelining -fsel-sched-pipelining-outer-loops -fselective-scheduling2 --param max-sched-extend-regions-iters=2" } */ ++ ++void foo (int y) ++{ ++ switch (y) ++ { ++ case 3: ++ case 5: ++ case 7: ++ case 11: ++ break; ++ default: ++ __builtin_unreachable (); ++ } ++} ++ +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.dg/pr49948.c gcc-4.6.3/gcc/testsuite/gcc.dg/pr49948.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.dg/pr49948.c 2011-08-03 13:56:02.000000000 -0500 ++++ gcc-4.6.3/gcc/testsuite/gcc.dg/pr49948.c 2012-10-11 10:22:41.183494000 -0500 +@@ -1,5 +1,6 @@ + /* PR tree-optimization/49948 */ + /* { dg-do compile } */ ++/* { dg-require-effective-target pthread } */ + /* { dg-options "-O3 -ftree-parallelize-loops=2" } */ + + extern int a, *b; +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.dg/pr52862.c gcc-4.6.3/gcc/testsuite/gcc.dg/pr52862.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.dg/pr52862.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.dg/pr52862.c 2012-05-22 04:17:42.260176000 -0500 +@@ -0,0 +1,9 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O" } */ ++ ++void ASMAtomicWritePtrVoid(const void *pv); ++void rtThreadDestroy(void) ++{ ++ void * const pvTypeChecked = ((void *)0); ++ ASMAtomicWritePtrVoid((void *)(pvTypeChecked)); ++} +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.dg/pr53701.c gcc-4.6.3/gcc/testsuite/gcc.dg/pr53701.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.dg/pr53701.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.dg/pr53701.c 2012-10-22 14:34:35.215631000 -0500 +@@ -0,0 +1,59 @@ ++/* { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */ ++/* { dg-options "-O3 -fselective-scheduling2 -fsel-sched-pipelining" } */ ++typedef unsigned short int uint16_t; ++typedef unsigned long int uintptr_t; ++typedef struct GFX_VTABLE ++{ ++ int color_depth; ++ unsigned char *line[]; ++} ++BITMAP; ++extern int _drawing_mode; ++extern BITMAP *_drawing_pattern; ++extern int _drawing_y_anchor; ++extern unsigned int _drawing_x_mask; ++extern unsigned int _drawing_y_mask; ++extern uintptr_t bmp_write_line (BITMAP *, int); ++ void ++_linear_hline15 (BITMAP * dst, int dx1, int dy, int dx2, int color) ++{ ++ int w; ++ if (_drawing_mode == 0) ++ { ++ int x, curw; ++ unsigned short *sline = ++ (unsigned short *) (_drawing_pattern-> ++ line[((dy) - ++ _drawing_y_anchor) & _drawing_y_mask]); ++ unsigned short *s; ++ unsigned short *d = ++ ((unsigned short *) (bmp_write_line (dst, dy)) + (dx1)); ++ s = ((unsigned short *) (sline) + (x)); ++ if (_drawing_mode == 2) ++ { ++ } ++ else if (_drawing_mode == 3) ++ { ++ do ++ { ++ w -= curw; ++ do ++ { ++ unsigned long c = (*(s)); ++ if (!((unsigned long) (c) == 0x7C1F)) ++ { ++ (*((uint16_t *) ((uintptr_t) (d))) = ((color))); ++ } ++ ((s)++); ++ } ++ while (--curw > 0); ++ s = sline; ++ curw = ++ (((w) < ++ ((int) _drawing_x_mask + ++ 1)) ? (w) : ((int) _drawing_x_mask + 1)); ++ } ++ while (curw > 0); ++ } ++ } ++} +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.dg/stack-usage-1.c gcc-4.6.3/gcc/testsuite/gcc.dg/stack-usage-1.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.dg/stack-usage-1.c 2011-01-05 07:25:36.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.dg/stack-usage-1.c 2012-06-20 02:54:17.441164000 -0500 +@@ -41,6 +41,8 @@ + # define SIZE 160 /* 256 - 96 bytes for register save area */ + #elif defined (__SPU__) + # define SIZE 224 ++#elif defined (__sh__) ++# define SIZE 252 + #else + # define SIZE 256 + #endif +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.dg/torture/pr51071-2.c gcc-4.6.3/gcc/testsuite/gcc.dg/torture/pr51071-2.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.dg/torture/pr51071-2.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.dg/torture/pr51071-2.c 2012-05-22 04:23:01.937094000 -0500 +@@ -0,0 +1,38 @@ ++/* { dg-do compile } */ ++/* { dg-options "-fno-delete-null-pointer-checks" } */ ++ ++extern struct module __this_module; ++static inline void ++trace_module_get (struct module *mod, unsigned long ip) { } ++struct module; ++static inline __attribute__((no_instrument_function)) ++int try_module_get(struct module *module) ++{ ++ int ret = 1; ++ if (module) ++ { ++ if (module_is_live(module)) ++ { ++ __label__ __here; ++ asm(""); ++ __here: ++ trace_module_get(module, (unsigned long)&&__here); ++ } ++ else ++ ret = 0; ++ } ++ return ret; ++} ++struct net_device; ++struct net_device_ops { ++ int (*ndo_open)(struct net_device *dev); ++}; ++int t3e3_open(struct net_device *dev) ++{ ++ int ret = hdlc_open(dev); ++ if (ret) ++ return ret; ++ try_module_get((&__this_module)); ++ return 0; ++} ++const struct net_device_ops t3e3_ops = { .ndo_open = t3e3_open }; +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.dg/torture/pr51071.c gcc-4.6.3/gcc/testsuite/gcc.dg/torture/pr51071.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.dg/torture/pr51071.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.dg/torture/pr51071.c 2012-05-22 04:23:01.937094000 -0500 +@@ -0,0 +1,33 @@ ++/* { dg-do compile } */ ++ ++void foo (void); ++void bar (void *); ++extern int t; ++ ++static void kmalloc_large (int size, int flags) ++{ ++ (void) size; ++ (void) flags; ++ foo (); ++ bar (({__here:&&__here;})); ++} ++ ++static void kmalloc (int size, int flags) ++{ ++ if (size) ++ { ++ if ((unsigned long) size > 0x1000) ++ kmalloc_large (size, flags); ++ ++ if (flags) ++ bar (({__here:&&__here;})); ++ } ++} ++ ++void compress_file_range (int i, int j, int k) ++{ ++ int nr_pages = ({j < k;}); ++ ++ if (i || t) ++ kmalloc (0x1000UL * nr_pages, 0x40UL); ++} +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.dg/torture/pr52407.c gcc-4.6.3/gcc/testsuite/gcc.dg/torture/pr52407.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.dg/torture/pr52407.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.dg/torture/pr52407.c 2012-05-22 04:20:15.992160000 -0500 +@@ -0,0 +1,33 @@ ++/* { dg-do run } */ ++ ++extern void abort (void); ++ ++typedef long long T; ++typedef T vl_t __attribute__((vector_size(2 * sizeof (T)))); ++ ++vl_t ul[4], vl[4] = { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } }; ++ ++static void ++mul_vl_l(vl_t *u, vl_t *v, T x, int m) ++{ ++ vl_t w; ++ T *p = (T *)&w; ++ p[0] = p[1] = x; ++ while (m--) ++ *u++ = *v++ * w; ++} ++ ++int ++main(int argc, char *argv[]) ++{ ++ int i; ++ T *pl; ++ ++ pl = (T *) &ul; ++ mul_vl_l(ul, vl, 2, 4); ++ for (i = 0; i < 8; i++) ++ if (pl[i] != 2 * (i + 1)) ++ abort (); ++ ++ return 0; ++} +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.dg/torture/pr52693.c gcc-4.6.3/gcc/testsuite/gcc.dg/torture/pr52693.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.dg/torture/pr52693.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.dg/torture/pr52693.c 2012-03-28 13:03:28.014541000 -0500 +@@ -0,0 +1,33 @@ ++/* { dg-do run } */ ++ ++struct pair ++{ ++ int x; ++ int y; ++}; ++ ++struct array ++{ ++ struct pair elems[ 2 ]; ++ unsigned index; ++}; ++ ++extern void abort (); ++ ++void __attribute__ ((noinline,noclone)) ++test_results (int x1, int y1, int x2, int y2) ++{ ++ if (x1 != x2 || y1 != y2) ++ abort (); ++} ++ ++int ++main (void) ++{ ++ struct array arr = {{{1,2}, {3,4}}, 1}; ++ struct pair last = arr.elems[arr.index]; ++ ++ test_results ( last.x, last.y, arr.elems[1].x, arr.elems[1].y); ++ ++ return 0; ++} +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.dg/torture/pr53790.c gcc-4.6.3/gcc/testsuite/gcc.dg/torture/pr53790.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.dg/torture/pr53790.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.dg/torture/pr53790.c 2012-06-28 07:01:16.874415000 -0500 +@@ -0,0 +1,17 @@ ++/* { dg-do compile } */ ++ ++typedef struct s { ++ int value; ++} s_t; ++ ++static inline int ++read(s_t const *var) ++{ ++ return var->value; ++} ++ ++int main() ++{ ++ extern union u extern_var; ++ return read((s_t *)&extern_var); ++} +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.dg/torture/pr53908.c gcc-4.6.3/gcc/testsuite/gcc.dg/torture/pr53908.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.dg/torture/pr53908.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.dg/torture/pr53908.c 2012-07-16 04:36:04.162835000 -0500 +@@ -0,0 +1,288 @@ ++/* { dg-do run } */ ++/* SEGV at comment below. */ ++typedef unsigned int size_t; ++typedef enum har { ++ he_fatal = (-199), ++ he_not_initialized, ++ he_bad_input, ++ he_memory_too_small, ++ he_bad_action, ++ he_duplicate, ++ he_bad_nonce, ++ he_stale_nonce, ++ he_bad_credentials, ++ he_bad_user, ++ he_no_such_user, ++ he_bad_passwd, ++ he_unknown_auth_scheme, ++ he_not_found, ++ he_failed_digest_file_check, ++ he_failed_digest_file_save, ++ he_process_not_privileged, ++ he_other, ++ he_end_of_range, ++ ha_no_error = 0, ++ ha_no_value = 1 ++} har; ++typedef enum realm_type ++{ ++ axis_realm = 0, ++ ws_realm ++} realm_type; ++ ++__attribute__((__noclone__, __noinline__)) ++har has_www_auth(char *, size_t, realm_type, har); ++ ++__attribute__((__noclone__, __noinline__)) ++har has_auth_user(const char *, const char *, realm_type, char *, size_t); ++ ++__attribute__((__noclone__, __noinline__)) ++char *ha_get_string_value(void); ++ ++typedef struct ++{ ++ unsigned int track_id; ++ char* user; ++ char* realm; ++ char* authent; ++ int internal_realm; ++} request; ++enum user_response { ++ file_not_found_user_response = -3, ++ access_denied_user_response = -2, ++ no_user_response = -1, ++ ok_user_response = 0 ++}; ++struct realm_group { ++ char *name; ++ int id; ++ struct realm_group *next; ++}; ++struct realm { ++ char *name; ++ char *space; ++ struct realm_group *groups; ++ struct realm *next; ++}; ++struct user_info { ++ char *name; ++ int no_groups; ++ int groups[128]; ++ struct user_info *next; ++}; ++static struct user_info *find_user(const char *user_name); ++static int is_member_of_groups(const struct user_info *user_item, ++ const struct realm_group *groups); ++int authent_author(request *req); ++struct realm *realms = ((void *)0); ++struct user_info *users = ((void *)0); ++static struct user_info* ++find_user(const char *user_name) ++{ ++ struct user_info *user_item; ++ user_item = users; ++ while (user_item != ((void *)0)) { ++ /* SEGV due to NULL access here on user_name. See also comment below. */ ++ if ((__builtin_strcmp(user_item->name, user_name) == 0)) ++ break; ++ user_item = user_item->next; ++ } ++ return user_item; ++} ++static int ++is_member_of_groups(const struct user_info *user_item, ++ const struct realm_group *groups) ++{ ++ const struct realm_group *group_item; ++ int i; ++ group_item = groups; ++ while (group_item != ((void *)0)) { ++ for (i = 0; i < user_item->no_groups; i++) ++ if (user_item->groups[i] == group_item->id) ++ return 0; ++ group_item = group_item->next; ++ } ++ return -1; ++} ++char *foo (void) __attribute__((__noclone__, __noinline__)); ++char* g_strdup (const char *str) __attribute__((__malloc__, __noclone__, __noinline__)); ++int g_strcmp0 (const char *str1, const char *str2); ++static int ++is_basic(char **user) ++{ ++ char *passwd_ptr; ++ char *authent = foo(); ++ passwd_ptr = __builtin_strchr(authent, ':'); ++ if (passwd_ptr != ((void *)0)) { ++ *user = g_strdup(authent); ++ return 0; ++ } ++ return -1; ++} ++static int ++is_digest(char **user) ++{ ++ int ret_val = -1; ++ char *authent; ++ authent = ha_get_string_value(); ++ if (authent) { ++ *user = g_strdup(authent); ++ ret_val = 0; ++ } ++ return ret_val; ++} ++__attribute__((__noclone__, __noinline__)) ++void g_free (void * mem); ++static enum user_response ++get_user_info_from_header(const realm_type type, ++ char **user_name, ++ struct user_info **user_item) ++{ ++ int ret_val = no_user_response; ++ if ((type == ws_realm)) { ++ if (is_basic(user_name) == 0) ++ ret_val = access_denied_user_response; ++ if (is_digest(user_name) == 0) ++ ret_val = ok_user_response; ++ } else { ++ if (is_basic(user_name) < 0 && ++ /* Load of *user_name here, but not after the is_digest call. */ ++ is_digest(user_name) < 0) ++ ; ++ else if ((*user_item = find_user(*user_name)) != ((void *)0)) ++ ret_val = ok_user_response; ++ else ++ ret_val = access_denied_user_response; ++ if (ret_val != ok_user_response) ++ g_free(*user_name); ++ } ++ return ret_val; ++} ++static enum user_response ++authenticate_user(request *req, ++ char **user_name, ++ struct user_info **user_item) ++{ ++ char *authent = ((void *)0); ++ har resp = ha_no_value; ++ enum user_response user_resp; ++ int ret_val = no_user_response; ++ if (req->authent && __builtin_strlen(req->authent)) { ++ authent = req->authent; ++ user_resp = get_user_info_from_header(req->internal_realm, ++ user_name, ++ user_item); ++ if (user_resp == ok_user_response) { ++ resp = has_auth_user(authent, 0, req->internal_realm, "", 1); ++ if (resp == ha_no_error) ++ ret_val = ok_user_response; ++ else if (resp != he_stale_nonce) ++ ret_val = access_denied_user_response; ++ } else if (user_resp == access_denied_user_response) ++ ret_val = access_denied_user_response; ++ } ++ if (resp != he_memory_too_small && resp != ha_no_error) ++ resp = has_www_auth("", 1, req->internal_realm, resp); ++ return ret_val; ++} ++ ++int __attribute__ ((__noinline__, __noclone__)) ++authent_author(request *req) ++{ ++ struct realm *realm; ++ char *user_name = ((void *)0); ++ struct user_info *user_item = ((void *)0); ++ int res = 0; ++ asm (""); ++ realm = realms; ++ if (__builtin_strcmp("Wsd", realm->name) == 0) { ++ req->internal_realm = ws_realm; ++ is_digest(&user_name); ++ } ++ if (authenticate_user(req, &user_name, &user_item) < 0) { ++ if (user_name != ((void *)0)) ++ req->user = user_name; ++ res = -2; ++ goto authent_author_return; ++ } ++ if (is_member_of_groups(user_item, realm->groups) < 0) ++ res = -1; ++authent_author_return: ++ return res; ++} ++ ++int good0, good1, good2; ++ ++__attribute__ ((__noinline__, __noclone__)) ++char *foo(void) ++{ ++ asm (""); ++ good0++; ++ return ""; ++} ++ ++__attribute__ ((__noinline__, __noclone__)) ++char *ha_get_string_value(void) ++{ ++ asm (""); ++ good1++; ++ return "f"; ++} ++ ++__attribute__ ((__noinline__, __noclone__)) ++har has_auth_user(const char *a, const char *b, realm_type c, char *d, size_t e) ++{ ++ asm (""); ++ if (*a != 'z' || a[1] != 0 || b != 0 || c != axis_realm || *d != 0 ++ || e != 1) ++ __builtin_abort (); ++ return ha_no_error; ++} ++ ++__attribute__ ((__noinline__, __noclone__)) ++har has_www_auth(char *a, size_t b, realm_type c, har d) ++{ ++ (void)(*a+b+c+d); ++ asm (""); ++ __builtin_abort (); ++} ++ ++ ++char *strdupped_user = "me"; ++__attribute__((__malloc__, __noclone__, __noinline__)) ++char* g_strdup (const char *str) ++{ ++ asm (""); ++ if (*str != 'f') ++ __builtin_abort (); ++ good2++; ++ return strdupped_user; ++} ++ ++__attribute__((__noclone__, __noinline__)) ++void g_free (void * mem) ++{ ++ (void)mem; ++ asm (""); ++ __builtin_abort (); ++} ++ ++struct user_info me = { .name = "me", .no_groups = 1, .groups = {42}, .next = 0}; ++struct user_info you = { .name = "you", .next = &me}; ++struct realm_group xgroups = { .name = "*", .id = 42, .next = 0}; ++ ++int main(void) ++{ ++ char *orig_user = "?"; ++ struct realm r = { .name = "x", .space = "space?", .groups = &xgroups, .next = 0}; ++ request req = { .user = orig_user, .realm = "!", .authent = "z", ++ .internal_realm = axis_realm}; ++ realms = &r; ++ users = &you; ++ if (authent_author (&req) != 0 || good0 != 1 || good1 != 1 || good2 != 1 ++ || req.user != orig_user ++ || req.internal_realm != axis_realm) ++ __builtin_abort (); ++ __builtin_exit (0); ++} ++ +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.dg/vect/slp-25.c gcc-4.6.3/gcc/testsuite/gcc.dg/vect/slp-25.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.dg/vect/slp-25.c 2010-10-04 09:59:30.000000000 -0500 ++++ gcc-4.6.3/gcc/testsuite/gcc.dg/vect/slp-25.c 2012-08-10 08:26:44.694722000 -0500 +@@ -57,5 +57,5 @@ + + /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" } } */ + /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 "vect" } } */ +-/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 2 "vect" { xfail { vect_no_align } } } } */ ++/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 2 "vect" { xfail { vect_no_align || { ! vect_natural_alignment } } } } } */ + /* { dg-final { cleanup-tree-dump "vect" } } */ +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.dg/vect/vect-peel-1.c gcc-4.6.3/gcc/testsuite/gcc.dg/vect/vect-peel-1.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.dg/vect/vect-peel-1.c 2011-01-10 06:41:40.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.dg/vect/vect-peel-1.c 2012-08-10 08:26:44.694722000 -0500 +@@ -49,6 +49,6 @@ + } + + /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ +-/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { target vect_element_align } } } */ ++/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { target { { vect_element_align } && { vect_aligned_arrays } } } } } */ + /* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect" } } */ + /* { dg-final { cleanup-tree-dump "vect" } } */ +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.dg/vect/vect-peel-2.c gcc-4.6.3/gcc/testsuite/gcc.dg/vect/vect-peel-2.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.dg/vect/vect-peel-2.c 2011-01-10 06:41:40.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.dg/vect/vect-peel-2.c 2012-08-10 08:26:44.694722000 -0500 +@@ -50,6 +50,6 @@ + } + + /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ +-/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { target vect_element_align } } } */ +-/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect" { target vect_element_align } } } */ ++/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { target { { vect_element_align } && { vect_aligned_arrays } } } } } */ ++/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect" { target { { vect_element_align } && { vect_aligned_arrays } } } } } */ + /* { dg-final { cleanup-tree-dump "vect" } } */ +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.dg/vect/vect-peel-3.c gcc-4.6.3/gcc/testsuite/gcc.dg/vect/vect-peel-3.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.dg/vect/vect-peel-3.c 2010-11-22 07:59:45.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.dg/vect/vect-peel-3.c 2012-08-10 08:26:44.694722000 -0500 +@@ -4,9 +4,7 @@ + #include "tree-vect.h" + + #define N 128 +-#define RES 21888 +- +-/* unaligned store. */ ++#define RES 21640 + + int ib[N+10]; + int ia[N+10]; +@@ -18,11 +16,11 @@ + int i, suma = 0, sumb = 0, sumc = 0; + + /* ib and ic have same misalignment, we peel to align them. */ +- for (i = 1; i <= N; i++) ++ for (i = 0; i <= N; i++) + { + suma += ia[i]; +- sumb += ib[i+6]; +- sumc += ic[i+2]; ++ sumb += ib[i+5]; ++ sumc += ic[i+1]; + } + + /* check results: */ +@@ -49,7 +47,7 @@ + return main1 (); + } + +-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ ++/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_align } } } */ + /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { xfail vect_no_align } } } */ +-/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect" } } */ ++/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect" { xfail vect_no_align } } } */ + /* { dg-final { cleanup-tree-dump "vect" } } */ +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.dg/vect/vect-peel-4.c gcc-4.6.3/gcc/testsuite/gcc.dg/vect/vect-peel-4.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.dg/vect/vect-peel-4.c 2011-01-10 06:41:40.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.dg/vect/vect-peel-4.c 2012-08-10 08:26:44.694722000 -0500 +@@ -16,13 +16,13 @@ + /* Don't peel keeping one load and the store aligned. */ + for (i = 0; i <= N; i++) + { +- ia[i] = ib[i] + ib[i+6]; ++ ia[i] = ib[i] + ib[i+5]; + } + + /* check results: */ + for (i = 1; i <= N; i++) + { +- if (ia[i] != ib[i] + ib[i+6]) ++ if (ia[i] != ib[i] + ib[i+5]) + abort (); + } + +@@ -44,7 +44,7 @@ + return main1 (); + } + +-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ ++/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_align } } } */ + /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { xfail vect_no_align } } } */ + /* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 0 "vect" } } */ + /* { dg-final { cleanup-tree-dump "vect" } } */ +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.dg/volatile-bitfields-2.c gcc-4.6.3/gcc/testsuite/gcc.dg/volatile-bitfields-2.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.dg/volatile-bitfields-2.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.dg/volatile-bitfields-2.c 2012-03-28 21:15:29.973365000 -0500 +@@ -0,0 +1,15 @@ ++/* { dg-do run } */ ++/* { dg-options "-fstrict-volatile-bitfields" } */ ++ ++extern void abort(void); ++struct thing { ++ volatile unsigned short a: 8; ++ volatile unsigned short b: 8; ++} t = {1,2}; ++ ++int main() ++{ ++ t.a = 3; ++ if (t.a !=3 || t.b !=2) abort(); ++ return 0; ++} +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.target/arm/volatile-bitfields-4.c gcc-4.6.3/gcc/testsuite/gcc.target/arm/volatile-bitfields-4.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.target/arm/volatile-bitfields-4.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.target/arm/volatile-bitfields-4.c 2012-03-28 21:15:29.973365000 -0500 +@@ -0,0 +1,30 @@ ++/* { dg-require-effective-target arm_eabi } */ ++/* { dg-do compile } */ ++/* { dg-options "-O2" } */ ++/* { dg-final { scan-assembler-times "ldr\[\\t \]+\[^\n\]*,\[\\t \]*\\\[\[^\n\]*\\\]" 2 } } */ ++/* { dg-final { scan-assembler-times "str\[\\t \]+\[^\n\]*,\[\\t \]*\\\[\[^\n\]*\\\]" 2 } } */ ++/* { dg-final { scan-assembler-not "strb" } } */ ++ ++struct thing { ++ unsigned a: 8; ++ unsigned b: 8; ++ unsigned c: 8; ++ unsigned d: 8; ++}; ++ ++struct thing2 { ++ volatile unsigned a: 8; ++ volatile unsigned b: 8; ++ volatile unsigned c: 8; ++ volatile unsigned d: 8; ++}; ++ ++void test1(volatile struct thing *t) ++{ ++ t->a = 5; ++} ++ ++void test2(struct thing2 *t) ++{ ++ t->a = 5; ++} +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.target/i386/avx256-unaligned-load-1.c gcc-4.6.3/gcc/testsuite/gcc.target/i386/avx256-unaligned-load-1.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.target/i386/avx256-unaligned-load-1.c 2011-06-28 18:27:06.000000000 -0500 ++++ gcc-4.6.3/gcc/testsuite/gcc.target/i386/avx256-unaligned-load-1.c 2012-05-14 16:32:29.729958000 -0500 +@@ -14,6 +14,6 @@ + c[i] = a[i] * b[i+3]; + } + +-/* { dg-final { scan-assembler-not "\\*avx_movups256/1" } } */ +-/* { dg-final { scan-assembler "\\*avx_movups/1" } } */ ++/* { dg-final { scan-assembler-not "avx_movups256/1" } } */ ++/* { dg-final { scan-assembler "avx_movups/1" } } */ + /* { dg-final { scan-assembler "vinsertf128" } } */ +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.target/i386/avx256-unaligned-load-2.c gcc-4.6.3/gcc/testsuite/gcc.target/i386/avx256-unaligned-load-2.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.target/i386/avx256-unaligned-load-2.c 2011-06-28 18:27:06.000000000 -0500 ++++ gcc-4.6.3/gcc/testsuite/gcc.target/i386/avx256-unaligned-load-2.c 2012-05-14 16:32:29.729958000 -0500 +@@ -24,6 +24,6 @@ + } + } + +-/* { dg-final { scan-assembler-not "\\*avx_movdqu256/1" } } */ +-/* { dg-final { scan-assembler "\\*avx_movdqu/1" } } */ ++/* { dg-final { scan-assembler-not "avx_movdqu256/1" } } */ ++/* { dg-final { scan-assembler "avx_movdqu/1" } } */ + /* { dg-final { scan-assembler "vinsertf128" } } */ +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.target/i386/avx256-unaligned-load-3.c gcc-4.6.3/gcc/testsuite/gcc.target/i386/avx256-unaligned-load-3.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.target/i386/avx256-unaligned-load-3.c 2011-06-28 18:27:06.000000000 -0500 ++++ gcc-4.6.3/gcc/testsuite/gcc.target/i386/avx256-unaligned-load-3.c 2012-05-14 16:32:29.729958000 -0500 +@@ -14,6 +14,6 @@ + c[i] = a[i] * b[i+3]; + } + +-/* { dg-final { scan-assembler-not "\\*avx_movupd256/1" } } */ +-/* { dg-final { scan-assembler "\\*avx_movupd/1" } } */ ++/* { dg-final { scan-assembler-not "avx_movupd256/1" } } */ ++/* { dg-final { scan-assembler "avx_movupd/1" } } */ + /* { dg-final { scan-assembler "vinsertf128" } } */ +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.target/i386/avx256-unaligned-load-4.c gcc-4.6.3/gcc/testsuite/gcc.target/i386/avx256-unaligned-load-4.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.target/i386/avx256-unaligned-load-4.c 2011-06-28 18:27:06.000000000 -0500 ++++ gcc-4.6.3/gcc/testsuite/gcc.target/i386/avx256-unaligned-load-4.c 2012-05-14 16:32:29.729958000 -0500 +@@ -14,6 +14,6 @@ + b[i] = a[i+3] * 2; + } + +-/* { dg-final { scan-assembler "\\*avx_movups256/1" } } */ +-/* { dg-final { scan-assembler-not "\\*avx_movups/1" } } */ ++/* { dg-final { scan-assembler "avx_movups256/1" } } */ ++/* { dg-final { scan-assembler-not "avx_movups/1" } } */ + /* { dg-final { scan-assembler-not "vinsertf128" } } */ +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.target/i386/avx256-unaligned-store-1.c gcc-4.6.3/gcc/testsuite/gcc.target/i386/avx256-unaligned-store-1.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.target/i386/avx256-unaligned-store-1.c 2011-06-28 18:27:06.000000000 -0500 ++++ gcc-4.6.3/gcc/testsuite/gcc.target/i386/avx256-unaligned-store-1.c 2012-05-14 16:32:29.729958000 -0500 +@@ -17,6 +17,6 @@ + d[i] = c[i] * 20.0; + } + +-/* { dg-final { scan-assembler-not "\\*avx_movups256/2" } } */ ++/* { dg-final { scan-assembler-not "avx_movups256/2" } } */ + /* { dg-final { scan-assembler "movups.*\\*avx_movv4sf_internal/3" } } */ + /* { dg-final { scan-assembler "vextractf128" } } */ +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.target/i386/avx256-unaligned-store-2.c gcc-4.6.3/gcc/testsuite/gcc.target/i386/avx256-unaligned-store-2.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.target/i386/avx256-unaligned-store-2.c 2011-06-28 18:27:06.000000000 -0500 ++++ gcc-4.6.3/gcc/testsuite/gcc.target/i386/avx256-unaligned-store-2.c 2012-05-14 16:32:29.729958000 -0500 +@@ -24,6 +24,6 @@ + } + } + +-/* { dg-final { scan-assembler-not "\\*avx_movdqu256/2" } } */ ++/* { dg-final { scan-assembler-not "avx_movdqu256/2" } } */ + /* { dg-final { scan-assembler "movdqu.*\\*avx_movv16qi_internal/3" } } */ + /* { dg-final { scan-assembler "vextractf128" } } */ +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.target/i386/avx256-unaligned-store-3.c gcc-4.6.3/gcc/testsuite/gcc.target/i386/avx256-unaligned-store-3.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.target/i386/avx256-unaligned-store-3.c 2011-06-28 18:27:06.000000000 -0500 ++++ gcc-4.6.3/gcc/testsuite/gcc.target/i386/avx256-unaligned-store-3.c 2012-05-14 16:32:29.729958000 -0500 +@@ -17,6 +17,6 @@ + d[i] = c[i] * 20.0; + } + +-/* { dg-final { scan-assembler-not "\\*avx_movupd256/2" } } */ ++/* { dg-final { scan-assembler-not "avx_movupd256/2" } } */ + /* { dg-final { scan-assembler "movupd.*\\*avx_movv2df_internal/3" } } */ + /* { dg-final { scan-assembler "vextractf128" } } */ +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.target/i386/avx256-unaligned-store-4.c gcc-4.6.3/gcc/testsuite/gcc.target/i386/avx256-unaligned-store-4.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.target/i386/avx256-unaligned-store-4.c 2011-06-28 18:27:06.000000000 -0500 ++++ gcc-4.6.3/gcc/testsuite/gcc.target/i386/avx256-unaligned-store-4.c 2012-05-14 16:32:29.729958000 -0500 +@@ -14,7 +14,7 @@ + b[i+3] = a[i] * c[i]; + } + +-/* { dg-final { scan-assembler "\\*avx_movups256/2" } } */ +-/* { dg-final { scan-assembler-not "\\*avx_movups/2" } } */ ++/* { dg-final { scan-assembler "avx_movups256/2" } } */ ++/* { dg-final { scan-assembler-not "avx_movups/2" } } */ + /* { dg-final { scan-assembler-not "\\*avx_movv4sf_internal/3" } } */ + /* { dg-final { scan-assembler-not "vextractf128" } } */ +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.target/i386/pr52736.c gcc-4.6.3/gcc/testsuite/gcc.target/i386/pr52736.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.target/i386/pr52736.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.target/i386/pr52736.c 2012-03-28 03:09:55.449307000 -0500 +@@ -0,0 +1,29 @@ ++/* PR target/52736 */ ++/* { dg-do run } */ ++/* { dg-options "-O1 -msse2" } */ ++/* { dg-require-effective-target sse2_runtime } */ ++ ++#include ++ ++typedef double D __attribute__((may_alias)); ++__attribute__((aligned(16))) static const double r[4] = { 1., 5., 1., 3. }; ++ ++__attribute__((noinline, noclone)) ++void ++foo (int x) ++{ ++ asm volatile ("" : "+g" (x) : : "memory"); ++ if (x != 3) ++ __builtin_abort (); ++} ++ ++int ++main () ++{ ++ __m128d t = _mm_set1_pd (5.); ++ ((D *)(&t))[0] = 1.; ++ foo (_mm_movemask_pd (_mm_cmpeq_pd (t, _mm_load_pd (&r[0])))); ++ ((D *)(&t))[1] = 3.; ++ foo (_mm_movemask_pd (_mm_cmpeq_pd (t, _mm_load_pd (&r[2])))); ++ return 0; ++} +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.target/i386/pr53416.c gcc-4.6.3/gcc/testsuite/gcc.target/i386/pr53416.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.target/i386/pr53416.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.target/i386/pr53416.c 2012-05-21 07:59:53.696085000 -0500 +@@ -0,0 +1,17 @@ ++/* PR target/53416 */ ++/* { dg-options "-O2 -mrdrnd" } */ ++ ++int test (void) ++{ ++ unsigned int number = 0; ++ int result0, result1, result2, result3; ++ ++ result0 = __builtin_ia32_rdrand32_step (&number); ++ result1 = __builtin_ia32_rdrand32_step (&number); ++ result2 = __builtin_ia32_rdrand32_step (&number); ++ result3 = __builtin_ia32_rdrand32_step (&number); ++ ++ return result0 + result1 +result2 + result3; ++} ++ ++/* { dg-final { scan-assembler-times "rdrand" 4 } } */ +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.target/powerpc/cell_builtin-1.c gcc-4.6.3/gcc/testsuite/gcc.target/powerpc/cell_builtin-1.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.target/powerpc/cell_builtin-1.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.target/powerpc/cell_builtin-1.c 2012-06-04 12:42:25.267281000 -0500 +@@ -0,0 +1,48 @@ ++/* { dg-do compile { target { powerpc*-*-* } } } */ ++/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ ++/* { dg-require-effective-target powerpc_altivec_ok } */ ++/* { dg-options "-O2 -maltivec -mcpu=cell" } */ ++/* { dg-final { scan-assembler-times "lvlx" 19 } } */ ++ ++#include ++ ++typedef __vector signed char vsc; ++typedef __vector signed short vss; ++typedef __vector signed int vsi; ++typedef __vector unsigned char vuc; ++typedef __vector unsigned short vus; ++typedef __vector unsigned int vui; ++typedef __vector bool char vbc; ++typedef __vector bool short vbs; ++typedef __vector bool int vbi; ++typedef __vector float vsf; ++typedef __vector pixel vp; ++typedef signed char sc; ++typedef signed short ss; ++typedef signed int si; ++typedef signed long sl; ++typedef unsigned char uc; ++typedef unsigned short us; ++typedef unsigned int ui; ++typedef unsigned long ul; ++typedef float sf; ++ ++vsc lc1(long a, void *p) { return __builtin_altivec_lvlx (a,p); } ++vsf llx01(long a, vsf *p) { return __builtin_vec_lvlx (a,p); } ++vsf llx02(long a, sf *p) { return __builtin_vec_lvlx (a,p); } ++vbi llx03(long a, vbi *p) { return __builtin_vec_lvlx (a,p); } ++vsi llx04(long a, vsi *p) { return __builtin_vec_lvlx (a,p); } ++vsi llx05(long a, si *p) { return __builtin_vec_lvlx (a,p); } ++vui llx06(long a, vui *p) { return __builtin_vec_lvlx (a,p); } ++vui llx07(long a, ui *p) { return __builtin_vec_lvlx (a,p); } ++vbs llx08(long a, vbs *p) { return __builtin_vec_lvlx (a,p); } ++vp llx09(long a, vp *p) { return __builtin_vec_lvlx (a,p); } ++vss llx10(long a, vss *p) { return __builtin_vec_lvlx (a,p); } ++vss llx11(long a, ss *p) { return __builtin_vec_lvlx (a,p); } ++vus llx12(long a, vus *p) { return __builtin_vec_lvlx (a,p); } ++vus llx13(long a, us *p) { return __builtin_vec_lvlx (a,p); } ++vbc llx14(long a, vbc *p) { return __builtin_vec_lvlx (a,p); } ++vsc llx15(long a, vsc *p) { return __builtin_vec_lvlx (a,p); } ++vsc llx16(long a, sc *p) { return __builtin_vec_lvlx (a,p); } ++vuc llx17(long a, vuc *p) { return __builtin_vec_lvlx (a,p); } ++vuc llx18(long a, uc *p) { return __builtin_vec_lvlx (a,p); } +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.target/powerpc/cell_builtin-2.c gcc-4.6.3/gcc/testsuite/gcc.target/powerpc/cell_builtin-2.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.target/powerpc/cell_builtin-2.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.target/powerpc/cell_builtin-2.c 2012-06-04 12:42:25.267281000 -0500 +@@ -0,0 +1,48 @@ ++/* { dg-do compile { target { powerpc*-*-* } } } */ ++/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ ++/* { dg-require-effective-target powerpc_altivec_ok } */ ++/* { dg-options "-O2 -maltivec -mcpu=cell" } */ ++/* { dg-final { scan-assembler-times "lvlxl" 19 } } */ ++ ++#include ++ ++typedef __vector signed char vsc; ++typedef __vector signed short vss; ++typedef __vector signed int vsi; ++typedef __vector unsigned char vuc; ++typedef __vector unsigned short vus; ++typedef __vector unsigned int vui; ++typedef __vector bool char vbc; ++typedef __vector bool short vbs; ++typedef __vector bool int vbi; ++typedef __vector float vsf; ++typedef __vector pixel vp; ++typedef signed char sc; ++typedef signed short ss; ++typedef signed int si; ++typedef signed long sl; ++typedef unsigned char uc; ++typedef unsigned short us; ++typedef unsigned int ui; ++typedef unsigned long ul; ++typedef float sf; ++ ++vsc lc2(long a, void *p) { return __builtin_altivec_lvlxl (a,p); } ++vsf llxl01(long a, vsf *p) { return __builtin_vec_lvlxl (a,p); } ++vsf llxl02(long a, sf *p) { return __builtin_vec_lvlxl (a,p); } ++vbi llxl03(long a, vbi *p) { return __builtin_vec_lvlxl (a,p); } ++vsi llxl04(long a, vsi *p) { return __builtin_vec_lvlxl (a,p); } ++vsi llxl05(long a, si *p) { return __builtin_vec_lvlxl (a,p); } ++vui llxl06(long a, vui *p) { return __builtin_vec_lvlxl (a,p); } ++vui llxl07(long a, ui *p) { return __builtin_vec_lvlxl (a,p); } ++vbs llxl08(long a, vbs *p) { return __builtin_vec_lvlxl (a,p); } ++vp llxl09(long a, vp *p) { return __builtin_vec_lvlxl (a,p); } ++vss llxl10(long a, vss *p) { return __builtin_vec_lvlxl (a,p); } ++vss llxl11(long a, ss *p) { return __builtin_vec_lvlxl (a,p); } ++vus llxl12(long a, vus *p) { return __builtin_vec_lvlxl (a,p); } ++vus llxl13(long a, us *p) { return __builtin_vec_lvlxl (a,p); } ++vbc llxl14(long a, vbc *p) { return __builtin_vec_lvlxl (a,p); } ++vsc llxl15(long a, vsc *p) { return __builtin_vec_lvlxl (a,p); } ++vsc llxl16(long a, sc *p) { return __builtin_vec_lvlxl (a,p); } ++vuc llxl17(long a, vuc *p) { return __builtin_vec_lvlxl (a,p); } ++vuc llxl18(long a, uc *p) { return __builtin_vec_lvlxl (a,p); } +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.target/powerpc/cell_builtin-3.c gcc-4.6.3/gcc/testsuite/gcc.target/powerpc/cell_builtin-3.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.target/powerpc/cell_builtin-3.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.target/powerpc/cell_builtin-3.c 2012-06-04 12:42:25.267281000 -0500 +@@ -0,0 +1,48 @@ ++/* { dg-do compile { target { powerpc*-*-* } } } */ ++/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ ++/* { dg-require-effective-target powerpc_altivec_ok } */ ++/* { dg-options "-O2 -maltivec -mcpu=cell" } */ ++/* { dg-final { scan-assembler-times "lvrx" 19 } } */ ++ ++#include ++ ++typedef __vector signed char vsc; ++typedef __vector signed short vss; ++typedef __vector signed int vsi; ++typedef __vector unsigned char vuc; ++typedef __vector unsigned short vus; ++typedef __vector unsigned int vui; ++typedef __vector bool char vbc; ++typedef __vector bool short vbs; ++typedef __vector bool int vbi; ++typedef __vector float vsf; ++typedef __vector pixel vp; ++typedef signed char sc; ++typedef signed short ss; ++typedef signed int si; ++typedef signed long sl; ++typedef unsigned char uc; ++typedef unsigned short us; ++typedef unsigned int ui; ++typedef unsigned long ul; ++typedef float sf; ++ ++vsc lc3(long a, void *p) { return __builtin_altivec_lvrx (a,p); } ++vsf lrx01(long a, vsf *p) { return __builtin_vec_lvrx (a,p); } ++vsf lrx02(long a, sf *p) { return __builtin_vec_lvrx (a,p); } ++vbi lrx03(long a, vbi *p) { return __builtin_vec_lvrx (a,p); } ++vsi lrx04(long a, vsi *p) { return __builtin_vec_lvrx (a,p); } ++vsi lrx05(long a, si *p) { return __builtin_vec_lvrx (a,p); } ++vui lrx06(long a, vui *p) { return __builtin_vec_lvrx (a,p); } ++vui lrx07(long a, ui *p) { return __builtin_vec_lvrx (a,p); } ++vbs lrx08(long a, vbs *p) { return __builtin_vec_lvrx (a,p); } ++vp lrx09(long a, vp *p) { return __builtin_vec_lvrx (a,p); } ++vss lrx10(long a, vss *p) { return __builtin_vec_lvrx (a,p); } ++vss lrx11(long a, ss *p) { return __builtin_vec_lvrx (a,p); } ++vus lrx12(long a, vus *p) { return __builtin_vec_lvrx (a,p); } ++vus lrx13(long a, us *p) { return __builtin_vec_lvrx (a,p); } ++vbc lrx14(long a, vbc *p) { return __builtin_vec_lvrx (a,p); } ++vsc lrx15(long a, vsc *p) { return __builtin_vec_lvrx (a,p); } ++vsc lrx16(long a, sc *p) { return __builtin_vec_lvrx (a,p); } ++vuc lrx17(long a, vuc *p) { return __builtin_vec_lvrx (a,p); } ++vuc lrx18(long a, uc *p) { return __builtin_vec_lvrx (a,p); } +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.target/powerpc/cell_builtin-4.c gcc-4.6.3/gcc/testsuite/gcc.target/powerpc/cell_builtin-4.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.target/powerpc/cell_builtin-4.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.target/powerpc/cell_builtin-4.c 2012-06-04 12:42:25.267281000 -0500 +@@ -0,0 +1,48 @@ ++/* { dg-do compile { target { powerpc*-*-* } } } */ ++/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ ++/* { dg-require-effective-target powerpc_altivec_ok } */ ++/* { dg-options "-O2 -maltivec -mcpu=cell" } */ ++/* { dg-final { scan-assembler-times "lvrxl" 19 } } */ ++ ++#include ++ ++typedef __vector signed char vsc; ++typedef __vector signed short vss; ++typedef __vector signed int vsi; ++typedef __vector unsigned char vuc; ++typedef __vector unsigned short vus; ++typedef __vector unsigned int vui; ++typedef __vector bool char vbc; ++typedef __vector bool short vbs; ++typedef __vector bool int vbi; ++typedef __vector float vsf; ++typedef __vector pixel vp; ++typedef signed char sc; ++typedef signed short ss; ++typedef signed int si; ++typedef signed long sl; ++typedef unsigned char uc; ++typedef unsigned short us; ++typedef unsigned int ui; ++typedef unsigned long ul; ++typedef float sf; ++ ++vsc lc4(long a, void *p) { return __builtin_altivec_lvrxl (a,p); } ++vsf lrxl01(long a, vsf *p) { return __builtin_vec_lvrxl (a,p); } ++vsf lrxl02(long a, sf *p) { return __builtin_vec_lvrxl (a,p); } ++vbi lrxl03(long a, vbi *p) { return __builtin_vec_lvrxl (a,p); } ++vsi lrxl04(long a, vsi *p) { return __builtin_vec_lvrxl (a,p); } ++vsi lrxl05(long a, si *p) { return __builtin_vec_lvrxl (a,p); } ++vui lrxl06(long a, vui *p) { return __builtin_vec_lvrxl (a,p); } ++vui lrxl07(long a, ui *p) { return __builtin_vec_lvrxl (a,p); } ++vbs lrxl08(long a, vbs *p) { return __builtin_vec_lvrxl (a,p); } ++vp lrxl09(long a, vp *p) { return __builtin_vec_lvrxl (a,p); } ++vss lrxl10(long a, vss *p) { return __builtin_vec_lvrxl (a,p); } ++vss lrxl11(long a, ss *p) { return __builtin_vec_lvrxl (a,p); } ++vus lrxl12(long a, vus *p) { return __builtin_vec_lvrxl (a,p); } ++vus lrxl13(long a, us *p) { return __builtin_vec_lvrxl (a,p); } ++vbc lrxl14(long a, vbc *p) { return __builtin_vec_lvrxl (a,p); } ++vsc lrxl15(long a, vsc *p) { return __builtin_vec_lvrxl (a,p); } ++vsc lrxl16(long a, sc *p) { return __builtin_vec_lvrxl (a,p); } ++vuc lrxl17(long a, vuc *p) { return __builtin_vec_lvrxl (a,p); } ++vuc lrxl18(long a, uc *p) { return __builtin_vec_lvrxl (a,p); } +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.target/powerpc/cell_builtin-5.c gcc-4.6.3/gcc/testsuite/gcc.target/powerpc/cell_builtin-5.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.target/powerpc/cell_builtin-5.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.target/powerpc/cell_builtin-5.c 2012-06-04 12:42:25.267281000 -0500 +@@ -0,0 +1,48 @@ ++/* { dg-do compile { target { powerpc*-*-* } } } */ ++/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ ++/* { dg-require-effective-target powerpc_altivec_ok } */ ++/* { dg-options "-O2 -maltivec -mcpu=cell" } */ ++/* { dg-final { scan-assembler-times "stvlx" 19 } } */ ++ ++#include ++ ++typedef __vector signed char vsc; ++typedef __vector signed short vss; ++typedef __vector signed int vsi; ++typedef __vector unsigned char vuc; ++typedef __vector unsigned short vus; ++typedef __vector unsigned int vui; ++typedef __vector bool char vbc; ++typedef __vector bool short vbs; ++typedef __vector bool int vbi; ++typedef __vector float vsf; ++typedef __vector pixel vp; ++typedef signed char sc; ++typedef signed short ss; ++typedef signed int si; ++typedef signed long sl; ++typedef unsigned char uc; ++typedef unsigned short us; ++typedef unsigned int ui; ++typedef unsigned long ul; ++typedef float sf; ++ ++void sc1(vsc v, long a, void *p) { __builtin_altivec_stvlx (v,a,p); } ++void slx01(vsf v, long a, vsf *p) { __builtin_vec_stvlx (v,a,p); } ++void slx02(vsf v, long a, sf *p) { __builtin_vec_stvlx (v,a,p); } ++void slx03(vbi v, long a, vbi *p) { __builtin_vec_stvlx (v,a,p); } ++void slx04(vsi v, long a, vsi *p) { __builtin_vec_stvlx (v,a,p); } ++void slx05(vsi v, long a, si *p) { __builtin_vec_stvlx (v,a,p); } ++void slx06(vui v, long a, vui *p) { __builtin_vec_stvlx (v,a,p); } ++void slx07(vui v, long a, ui *p) { __builtin_vec_stvlx (v,a,p); } ++void slx08(vbs v, long a, vbs *p) { __builtin_vec_stvlx (v,a,p); } ++void slx09(vp v, long a, vp *p) { __builtin_vec_stvlx (v,a,p); } ++void slx10(vss v, long a, vss *p) { __builtin_vec_stvlx (v,a,p); } ++void slx11(vss v, long a, ss *p) { __builtin_vec_stvlx (v,a,p); } ++void slx12(vus v, long a, vus *p) { __builtin_vec_stvlx (v,a,p); } ++void slx13(vus v, long a, us *p) { __builtin_vec_stvlx (v,a,p); } ++void slx14(vbc v, long a, vbc *p) { __builtin_vec_stvlx (v,a,p); } ++void slx15(vsc v, long a, vsc *p) { __builtin_vec_stvlx (v,a,p); } ++void slx16(vsc v, long a, sc *p) { __builtin_vec_stvlx (v,a,p); } ++void slx17(vuc v, long a, vuc *p) { __builtin_vec_stvlx (v,a,p); } ++void slx18(vuc v, long a, uc *p) { __builtin_vec_stvlx (v,a,p); } +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.target/powerpc/cell_builtin-6.c gcc-4.6.3/gcc/testsuite/gcc.target/powerpc/cell_builtin-6.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.target/powerpc/cell_builtin-6.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.target/powerpc/cell_builtin-6.c 2012-06-04 12:42:25.267281000 -0500 +@@ -0,0 +1,48 @@ ++/* { dg-do compile { target { powerpc*-*-* } } } */ ++/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ ++/* { dg-require-effective-target powerpc_altivec_ok } */ ++/* { dg-options "-O2 -maltivec -mcpu=cell" } */ ++/* { dg-final { scan-assembler-times "stvlxl" 19 } } */ ++ ++#include ++ ++typedef __vector signed char vsc; ++typedef __vector signed short vss; ++typedef __vector signed int vsi; ++typedef __vector unsigned char vuc; ++typedef __vector unsigned short vus; ++typedef __vector unsigned int vui; ++typedef __vector bool char vbc; ++typedef __vector bool short vbs; ++typedef __vector bool int vbi; ++typedef __vector float vsf; ++typedef __vector pixel vp; ++typedef signed char sc; ++typedef signed short ss; ++typedef signed int si; ++typedef signed long sl; ++typedef unsigned char uc; ++typedef unsigned short us; ++typedef unsigned int ui; ++typedef unsigned long ul; ++typedef float sf; ++ ++void sc2(vsc v, long a, void *p) { __builtin_altivec_stvlxl (v,a,p); } ++void slxl01(vsf v, long a, vsf *p) { __builtin_vec_stvlxl (v,a,p); } ++void slxl02(vsf v, long a, sf *p) { __builtin_vec_stvlxl (v,a,p); } ++void slxl03(vbi v, long a, vbi *p) { __builtin_vec_stvlxl (v,a,p); } ++void slxl04(vsi v, long a, vsi *p) { __builtin_vec_stvlxl (v,a,p); } ++void slxl05(vsi v, long a, si *p) { __builtin_vec_stvlxl (v,a,p); } ++void slxl06(vui v, long a, vui *p) { __builtin_vec_stvlxl (v,a,p); } ++void slxl07(vui v, long a, ui *p) { __builtin_vec_stvlxl (v,a,p); } ++void slxl08(vbs v, long a, vbs *p) { __builtin_vec_stvlxl (v,a,p); } ++void slxl09(vp v, long a, vp *p) { __builtin_vec_stvlxl (v,a,p); } ++void slxl10(vss v, long a, vss *p) { __builtin_vec_stvlxl (v,a,p); } ++void slxl11(vss v, long a, ss *p) { __builtin_vec_stvlxl (v,a,p); } ++void slxl12(vus v, long a, vus *p) { __builtin_vec_stvlxl (v,a,p); } ++void slxl13(vus v, long a, us *p) { __builtin_vec_stvlxl (v,a,p); } ++void slxl14(vbc v, long a, vbc *p) { __builtin_vec_stvlxl (v,a,p); } ++void slxl15(vsc v, long a, vsc *p) { __builtin_vec_stvlxl (v,a,p); } ++void slxl16(vsc v, long a, sc *p) { __builtin_vec_stvlxl (v,a,p); } ++void slxl17(vuc v, long a, vuc *p) { __builtin_vec_stvlxl (v,a,p); } ++void slxl18(vuc v, long a, uc *p) { __builtin_vec_stvlxl (v,a,p); } +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.target/powerpc/cell_builtin-7.c gcc-4.6.3/gcc/testsuite/gcc.target/powerpc/cell_builtin-7.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.target/powerpc/cell_builtin-7.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.target/powerpc/cell_builtin-7.c 2012-06-04 12:42:25.267281000 -0500 +@@ -0,0 +1,48 @@ ++/* { dg-do compile { target { powerpc*-*-* } } } */ ++/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ ++/* { dg-require-effective-target powerpc_altivec_ok } */ ++/* { dg-options "-O2 -maltivec -mcpu=cell" } */ ++/* { dg-final { scan-assembler-times "stvrx" 19 } } */ ++ ++#include ++ ++typedef __vector signed char vsc; ++typedef __vector signed short vss; ++typedef __vector signed int vsi; ++typedef __vector unsigned char vuc; ++typedef __vector unsigned short vus; ++typedef __vector unsigned int vui; ++typedef __vector bool char vbc; ++typedef __vector bool short vbs; ++typedef __vector bool int vbi; ++typedef __vector float vsf; ++typedef __vector pixel vp; ++typedef signed char sc; ++typedef signed short ss; ++typedef signed int si; ++typedef signed long sl; ++typedef unsigned char uc; ++typedef unsigned short us; ++typedef unsigned int ui; ++typedef unsigned long ul; ++typedef float sf; ++ ++void sc3(vsc v, long a, void *p) { __builtin_altivec_stvrx (v,a,p); } ++void srx01(vsf v, long a, vsf *p) { __builtin_vec_stvrx (v,a,p); } ++void srx02(vsf v, long a, sf *p) { __builtin_vec_stvrx (v,a,p); } ++void srx03(vbi v, long a, vbi *p) { __builtin_vec_stvrx (v,a,p); } ++void srx04(vsi v, long a, vsi *p) { __builtin_vec_stvrx (v,a,p); } ++void srx05(vsi v, long a, si *p) { __builtin_vec_stvrx (v,a,p); } ++void srx06(vui v, long a, vui *p) { __builtin_vec_stvrx (v,a,p); } ++void srx07(vui v, long a, ui *p) { __builtin_vec_stvrx (v,a,p); } ++void srx08(vbs v, long a, vbs *p) { __builtin_vec_stvrx (v,a,p); } ++void srx09(vp v, long a, vp *p) { __builtin_vec_stvrx (v,a,p); } ++void srx10(vss v, long a, vss *p) { __builtin_vec_stvrx (v,a,p); } ++void srx11(vss v, long a, ss *p) { __builtin_vec_stvrx (v,a,p); } ++void srx12(vus v, long a, vus *p) { __builtin_vec_stvrx (v,a,p); } ++void srx13(vus v, long a, us *p) { __builtin_vec_stvrx (v,a,p); } ++void srx14(vbc v, long a, vbc *p) { __builtin_vec_stvrx (v,a,p); } ++void srx15(vsc v, long a, vsc *p) { __builtin_vec_stvrx (v,a,p); } ++void srx16(vsc v, long a, sc *p) { __builtin_vec_stvrx (v,a,p); } ++void srx17(vuc v, long a, vuc *p) { __builtin_vec_stvrx (v,a,p); } ++void srx18(vuc v, long a, uc *p) { __builtin_vec_stvrx (v,a,p); } +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.target/powerpc/cell_builtin-8.c gcc-4.6.3/gcc/testsuite/gcc.target/powerpc/cell_builtin-8.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.target/powerpc/cell_builtin-8.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.target/powerpc/cell_builtin-8.c 2012-06-04 12:42:25.267281000 -0500 +@@ -0,0 +1,48 @@ ++/* { dg-do compile { target { powerpc*-*-* } } } */ ++/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ ++/* { dg-require-effective-target powerpc_altivec_ok } */ ++/* { dg-options "-O2 -maltivec -mcpu=cell" } */ ++/* { dg-final { scan-assembler-times "stvrxl" 19 } } */ ++ ++#include ++ ++typedef __vector signed char vsc; ++typedef __vector signed short vss; ++typedef __vector signed int vsi; ++typedef __vector unsigned char vuc; ++typedef __vector unsigned short vus; ++typedef __vector unsigned int vui; ++typedef __vector bool char vbc; ++typedef __vector bool short vbs; ++typedef __vector bool int vbi; ++typedef __vector float vsf; ++typedef __vector pixel vp; ++typedef signed char sc; ++typedef signed short ss; ++typedef signed int si; ++typedef signed long sl; ++typedef unsigned char uc; ++typedef unsigned short us; ++typedef unsigned int ui; ++typedef unsigned long ul; ++typedef float sf; ++ ++void sc4(vsc v, long a, void *p) { __builtin_altivec_stvrxl (v,a,p); } ++void srxl01(vsf v, long a, vsf *p) { __builtin_vec_stvrxl (v,a,p); } ++void srxl02(vsf v, long a, sf *p) { __builtin_vec_stvrxl (v,a,p); } ++void srxl03(vbi v, long a, vbi *p) { __builtin_vec_stvrxl (v,a,p); } ++void srxl04(vsi v, long a, vsi *p) { __builtin_vec_stvrxl (v,a,p); } ++void srxl05(vsi v, long a, si *p) { __builtin_vec_stvrxl (v,a,p); } ++void srxl06(vui v, long a, vui *p) { __builtin_vec_stvrxl (v,a,p); } ++void srxl07(vui v, long a, ui *p) { __builtin_vec_stvrxl (v,a,p); } ++void srxl08(vbs v, long a, vbs *p) { __builtin_vec_stvrxl (v,a,p); } ++void srxl09(vp v, long a, vp *p) { __builtin_vec_stvrxl (v,a,p); } ++void srxl10(vss v, long a, vss *p) { __builtin_vec_stvrxl (v,a,p); } ++void srxl11(vss v, long a, ss *p) { __builtin_vec_stvrxl (v,a,p); } ++void srxl12(vus v, long a, vus *p) { __builtin_vec_stvrxl (v,a,p); } ++void srxl13(vus v, long a, us *p) { __builtin_vec_stvrxl (v,a,p); } ++void srxl14(vbc v, long a, vbc *p) { __builtin_vec_stvrxl (v,a,p); } ++void srxl15(vsc v, long a, vsc *p) { __builtin_vec_stvrxl (v,a,p); } ++void srxl16(vsc v, long a, sc *p) { __builtin_vec_stvrxl (v,a,p); } ++void srxl17(vuc v, long a, vuc *p) { __builtin_vec_stvrxl (v,a,p); } ++void srxl18(vuc v, long a, uc *p) { __builtin_vec_stvrxl (v,a,p); } +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.target/powerpc/pr52457.c gcc-4.6.3/gcc/testsuite/gcc.target/powerpc/pr52457.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.target/powerpc/pr52457.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.target/powerpc/pr52457.c 2012-03-02 16:12:52.237313000 -0600 +@@ -0,0 +1,34 @@ ++/* { dg-do run { target { powerpc*-*-linux* } } } */ ++/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ ++/* { dg-skip-if "" { powerpc*-*-*spe* } { "*" } { "" } } */ ++/* { dg-require-effective-target vsx_hw } */ ++/* { dg-options "-O1 -mcpu=power7" } */ ++ ++extern void abort (void); ++ ++typedef long long T; ++typedef T vl_t __attribute__((vector_size(2 * sizeof (T)))); ++ ++vl_t ++buggy_func (T x) ++{ ++ vl_t w; ++ T *p = (T *)&w; ++ p[0] = p[1] = x; ++ return w; ++} ++ ++int ++main(void) ++{ ++ vl_t rval; ++ T *pl; ++ ++ pl = (T *) &rval; ++ rval = buggy_func (2); ++ ++ if (pl[0] != 2 || pl[1] != 2) ++ abort (); ++ ++ return 0; ++} +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.target/powerpc/pr52775.c gcc-4.6.3/gcc/testsuite/gcc.target/powerpc/pr52775.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.target/powerpc/pr52775.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.target/powerpc/pr52775.c 2012-04-13 16:55:15.746111000 -0500 +@@ -0,0 +1,16 @@ ++/* { dg-do compile { target { powerpc*-*-* && ilp32 } } } */ ++/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ ++/* { dg-options "-O1 -mcpu=power4" } */ ++/* { dg-final { scan-assembler-times "fcfid" 2 } } */ ++ ++double ++int_to_double (int *p) ++{ ++ return (double)*p; ++} ++ ++double ++long_long_to_double (long long *p) ++{ ++ return (double)*p; ++} +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gcc.target/powerpc/pr53199.c gcc-4.6.3/gcc/testsuite/gcc.target/powerpc/pr53199.c +--- gcc-4.6.3.orig/gcc/testsuite/gcc.target/powerpc/pr53199.c 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gcc.target/powerpc/pr53199.c 2012-05-03 19:31:50.505528000 -0500 +@@ -0,0 +1,50 @@ ++/* { dg-do compile { target { powerpc*-*-* } } } */ ++/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ ++/* { dg-options "-O2 -mcpu=power6 -mavoid-indexed-addresses" } */ ++/* { dg-final { scan-assembler-times "lwbrx" 6 } } */ ++/* { dg-final { scan-assembler-times "stwbrx" 6 } } */ ++ ++/* PR 51399: bswap gets an error if -mavoid-indexed-addresses was used in ++ creating the two lwbrx instructions. */ ++ ++long long ++load64_reverse_1 (long long *p) ++{ ++ return __builtin_bswap64 (*p); ++} ++ ++long long ++load64_reverse_2 (long long *p) ++{ ++ return __builtin_bswap64 (p[1]); ++} ++ ++long long ++load64_reverse_3 (long long *p, int i) ++{ ++ return __builtin_bswap64 (p[i]); ++} ++ ++void ++store64_reverse_1 (long long *p, long long x) ++{ ++ *p = __builtin_bswap64 (x); ++} ++ ++void ++store64_reverse_2 (long long *p, long long x) ++{ ++ p[1] = __builtin_bswap64 (x); ++} ++ ++void ++store64_reverse_3 (long long *p, long long x, int i) ++{ ++ p[i] = __builtin_bswap64 (x); ++} ++ ++long long ++reg_reverse (long long x) ++{ ++ return __builtin_bswap64 (x); ++} +diff -Naur gcc-4.6.3.orig/gcc/testsuite/g++.dg/cpp0x/nullptr28.C gcc-4.6.3/gcc/testsuite/g++.dg/cpp0x/nullptr28.C +--- gcc-4.6.3.orig/gcc/testsuite/g++.dg/cpp0x/nullptr28.C 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/g++.dg/cpp0x/nullptr28.C 2012-07-03 18:29:03.323158000 -0500 +@@ -0,0 +1,17 @@ ++// { dg-do run } ++// { dg-options "-std=c++0x -pedantic-errors" } ++ ++typedef decltype(nullptr) nullptr_t; ++ ++int i; ++nullptr_t n; ++const nullptr_t& f() { ++i; return n; } ++ ++nullptr_t g() { return f(); } ++ ++int main() ++{ ++ g(); ++ if (i != 1) ++ __builtin_abort (); ++} +diff -Naur gcc-4.6.3.orig/gcc/testsuite/g++.dg/cpp0x/variadic-value1.C gcc-4.6.3/gcc/testsuite/g++.dg/cpp0x/variadic-value1.C +--- gcc-4.6.3.orig/gcc/testsuite/g++.dg/cpp0x/variadic-value1.C 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/g++.dg/cpp0x/variadic-value1.C 2012-05-23 16:29:55.463235000 -0500 +@@ -0,0 +1,24 @@ ++// PR c++/52796 ++// { dg-options "-std=c++0x -pedantic-errors" } ++ ++inline void *operator new(__SIZE_TYPE__ s, void *p) { return p; } ++ ++struct A ++{ ++ int i; ++ template ++ A(Ts&&... ts): i(ts...) { } ++}; ++ ++static union { ++ unsigned char c[sizeof(A)]; ++ int i; ++}; ++ ++int main() ++{ ++ i = 0xdeadbeef; ++ new(c) A; ++ if (i != 0) ++ __builtin_abort(); ++} +diff -Naur gcc-4.6.3.orig/gcc/testsuite/g++.dg/template/anonunion2.C gcc-4.6.3/gcc/testsuite/g++.dg/template/anonunion2.C +--- gcc-4.6.3.orig/gcc/testsuite/g++.dg/template/anonunion2.C 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/g++.dg/template/anonunion2.C 2012-09-13 10:13:08.240418000 -0500 +@@ -0,0 +1,6 @@ ++template ++struct S ++{ ++ S () { union { int a; }; a = 0; } ++}; ++S<0> s; +diff -Naur gcc-4.6.3.orig/gcc/testsuite/g++.dg/tree-ssa/pr54515.C gcc-4.6.3/gcc/testsuite/g++.dg/tree-ssa/pr54515.C +--- gcc-4.6.3.orig/gcc/testsuite/g++.dg/tree-ssa/pr54515.C 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/g++.dg/tree-ssa/pr54515.C 2012-09-10 04:50:02.938856000 -0500 +@@ -0,0 +1,19 @@ ++// { dg-do compile } ++// { dg-options "-O2" } ++ ++template < typename T > T h2le (T) ++{ ++ T a; ++ unsigned short &b = a; ++ short c = 0; ++ unsigned char (&d)[2] = reinterpret_cast < unsigned char (&)[2] > (c); ++ unsigned char (&e)[2] = reinterpret_cast < unsigned char (&)[2] > (b); ++ e[0] = d[0]; ++ return a; ++} ++ ++void ++bar () ++{ ++ h2le ((unsigned short) 0); ++} +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gfortran.dg/array_section_3.f90 gcc-4.6.3/gcc/testsuite/gfortran.dg/array_section_3.f90 +--- gcc-4.6.3.orig/gcc/testsuite/gfortran.dg/array_section_3.f90 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gfortran.dg/array_section_3.f90 2012-09-13 13:19:22.374742000 -0500 +@@ -0,0 +1,17 @@ ++! { dg-do compile } ++! ++! PR fortran/54225 ++! ++! Contributed by robb wu ++! ++program test ++ implicit none ++ real :: A(2,3) ++ ++ print *, A(1, *) ! { dg-error "Expected array subscript" } ++end program ++ ++subroutine test2 ++integer, dimension(2) :: a ++a(*) = 1 ! { dg-error "Expected array subscript" } ++end +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gfortran.dg/bound_simplification_3.f90 gcc-4.6.3/gcc/testsuite/gfortran.dg/bound_simplification_3.f90 +--- gcc-4.6.3.orig/gcc/testsuite/gfortran.dg/bound_simplification_3.f90 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gfortran.dg/bound_simplification_3.f90 2012-09-12 16:54:50.523207000 -0500 +@@ -0,0 +1,23 @@ ++! { dg-do compile } ++! { dg-options "-fdump-tree-original" } ++! ++! PR fortran/54208 ++! The I and J definitions used to raise an error because ARR's array spec ++! was resolved to late for the LBOUND and UBOUND calls to be simplified to ++! a constant. ++! ++! Contributed by Carlos A. Cruz ++ ++program testit ++ integer, parameter :: n=2 ++ integer, dimension(1-min(n,2)/2:n) :: arr ++ integer, parameter :: i=lbound(arr,1) ++ integer, parameter :: j=ubound(arr,1) ++ ! write(6,*) i, j ++ if (i /= 0) call abort ++ if (j /= 2) call abort ++end program testit ++ ++! { dg-final { scan-tree-dump-times "bound" 0 "original" } } ++! { dg-final { scan-tree-dump-times "abort" 0 "original" } } ++! { dg-final { cleanup-tree-dump "original" } } +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gfortran.dg/coarray_10.f90 gcc-4.6.3/gcc/testsuite/gfortran.dg/coarray_10.f90 +--- gcc-4.6.3.orig/gcc/testsuite/gfortran.dg/coarray_10.f90 2010-07-08 10:17:25.000000000 -0500 ++++ gcc-4.6.3/gcc/testsuite/gfortran.dg/coarray_10.f90 2012-09-13 13:19:22.374742000 -0500 +@@ -30,12 +30,12 @@ + subroutine rank_mismatch() + implicit none + integer,allocatable :: A(:)[:,:,:,:] +- allocate(A(1)[1,1,1:*]) ! { dg-error "Unexpected ... for codimension" } ++ allocate(A(1)[1,1,1:*]) ! { dg-error "Too few codimensions" } + allocate(A(1)[1,1,1,1,1,*]) ! { dg-error "Invalid codimension 5" } + allocate(A(1)[1,1,1,*]) + allocate(A(1)[1,1]) ! { dg-error "Too few codimensions" } + allocate(A(1)[1,*]) ! { dg-error "Too few codimensions" } +- allocate(A(1)[1,1:*]) ! { dg-error "Unexpected ... for codimension" } ++ allocate(A(1)[1,1:*]) ! { dg-error "Too few codimensions" } + + A(1)[1,1,1] = 1 ! { dg-error "Too few codimensions" } + A(1)[1,1,1,1,1,1] = 1 ! { dg-error "Invalid codimension 5" } +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gfortran.dg/coarray_28.f90 gcc-4.6.3/gcc/testsuite/gfortran.dg/coarray_28.f90 +--- gcc-4.6.3.orig/gcc/testsuite/gfortran.dg/coarray_28.f90 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gfortran.dg/coarray_28.f90 2012-09-13 13:19:22.374742000 -0500 +@@ -0,0 +1,10 @@ ++! { dg-do compile } ++! { dg-options "-fcoarray=single" } ++! ++! PR fortran/54225 ++! ++ ++integer, allocatable :: a[:,:] ++ ++allocate (a[*,4]) ! { dg-error "Unexpected '.' for codimension 1 of 2" } ++end +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gfortran.dg/implicit_pure_3.f90 gcc-4.6.3/gcc/testsuite/gfortran.dg/implicit_pure_3.f90 +--- gcc-4.6.3.orig/gcc/testsuite/gfortran.dg/implicit_pure_3.f90 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gfortran.dg/implicit_pure_3.f90 2012-09-13 13:15:52.599419000 -0500 +@@ -0,0 +1,109 @@ ++! { dg-do compile } ++! { dg-options "-O2 -fdump-tree-optimized" } ++! ++! PR fortran/54556 ++! ++! Contributed by Joost VandeVondele ++! ++MODULE parallel_rng_types ++ ++ IMPLICIT NONE ++ ++ ! Global parameters in this module ++ INTEGER, PARAMETER :: dp=8 ++ ++ TYPE rng_stream_type ++ PRIVATE ++ CHARACTER(LEN=40) :: name ++ INTEGER :: distribution_type ++ REAL(KIND=dp), DIMENSION(3,2) :: bg,cg,ig ++ LOGICAL :: antithetic,extended_precision ++ REAL(KIND=dp) :: buffer ++ LOGICAL :: buffer_filled ++ END TYPE rng_stream_type ++ ++ REAL(KIND=dp), DIMENSION(3,3) :: a1p0,a1p76,a1p127,& ++ a2p0,a2p76,a2p127,& ++ inv_a1,inv_a2 ++ ++ INTEGER, PARAMETER :: GAUSSIAN = 1,& ++ UNIFORM = 2 ++ ++ REAL(KIND=dp), PARAMETER :: norm = 2.328306549295727688e-10_dp,& ++ m1 = 4294967087.0_dp,& ++ m2 = 4294944443.0_dp,& ++ a12 = 1403580.0_dp,& ++ a13n = 810728.0_dp,& ++ a21 = 527612.0_dp,& ++ a23n = 1370589.0_dp,& ++ two17 = 131072.0_dp,& ! 2**17 ++ two53 = 9007199254740992.0_dp,& ! 2**53 ++ fact = 5.9604644775390625e-8_dp ! 1/2**24 ++ ++ ++CONTAINS ++ ++ FUNCTION rn32(rng_stream) RESULT(u) ++ ++ TYPE(rng_stream_type), POINTER :: rng_stream ++ REAL(KIND=dp) :: u ++ ++ INTEGER :: k ++ REAL(KIND=dp) :: p1, p2 ++ ++! ------------------------------------------------------------------------- ++! Component 1 ++ ++ p1 = a12*rng_stream%cg(2,1) - a13n*rng_stream%cg(1,1) ++ k = INT(p1/m1) ++ p1 = p1 - k*m1 ++ IF (p1 < 0.0_dp) p1 = p1 + m1 ++ rng_stream%cg(1,1) = rng_stream%cg(2,1) ++ rng_stream%cg(2,1) = rng_stream%cg(3,1) ++ rng_stream%cg(3,1) = p1 ++ ++ ! Component 2 ++ ++ p2 = a21*rng_stream%cg(3,2) - a23n*rng_stream%cg(1,2) ++ k = INT(p2/m2) ++ p2 = p2 - k*m2 ++ IF (p2 < 0.0_dp) p2 = p2 + m2 ++ rng_stream%cg(1,2) = rng_stream%cg(2,2) ++ rng_stream%cg(2,2) = rng_stream%cg(3,2) ++ rng_stream%cg(3,2) = p2 ++ ++ ! Combination ++ ++ IF (p1 > p2) THEN ++ u = (p1 - p2)*norm ++ ELSE ++ u = (p1 - p2 + m1)*norm ++ END IF ++ ++ IF (rng_stream%antithetic) u = 1.0_dp - u ++ ++ END FUNCTION rn32 ++ ++! ***************************************************************************** ++ FUNCTION rn53(rng_stream) RESULT(u) ++ ++ TYPE(rng_stream_type), POINTER :: rng_stream ++ REAL(KIND=dp) :: u ++ ++ u = rn32(rng_stream) ++ ++ IF (rng_stream%antithetic) THEN ++ u = u + (rn32(rng_stream) - 1.0_dp)*fact ++ IF (u < 0.0_dp) u = u + 1.0_dp ++ ELSE ++ u = u + rn32(rng_stream)*fact ++ IF (u >= 1.0_dp) u = u - 1.0_dp ++ END IF ++ ++ END FUNCTION rn53 ++ ++END MODULE ++ ++! { dg-final { scan-module-absence "parallel_rng_types" "IMPLICIT_PURE" } } ++! { dg-final { scan-tree-dump-times "rn32 \\(rng_stream" 3 "optimized" } } ++! { dg-final { cleanup-tree-dump "optimized" } } +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gfortran.dg/init_flag_10.f90 gcc-4.6.3/gcc/testsuite/gfortran.dg/init_flag_10.f90 +--- gcc-4.6.3.orig/gcc/testsuite/gfortran.dg/init_flag_10.f90 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gfortran.dg/init_flag_10.f90 2012-06-05 08:05:31.580646000 -0500 +@@ -0,0 +1,43 @@ ++! { dg-do run } ++! { dg-options "-finit-real=NAN" } ++! { dg-add-options ieee } ++! { dg-skip-if "NaN not supported" { spu-*-* } { "*" } { "" } } ++! ++! PR fortran/50619 ++! ++! Contributed by Fred Krogh ++! ++! The NaN initialization used to set the associate name to NaN! ++! ++ ++module testa2 ++type, public :: test_ty ++ real :: rmult = 1.0e0 ++end type test_ty ++ ++contains ++ subroutine test(e, var1) ++ type(test_ty) :: e ++ real :: var1, var2 ! Should get NaN initialized ++ ++ ! Should be the default value ++ if (e%rmult /= 1.0) call abort () ++ ++ ! Check that NaN initialization is really turned on ++ if (var1 == var1) call abort () ++ if (var2 == var2) call abort () ++ ++ ! The following was failing: ++ associate (rmult=>e%rmult) ++ if (e%rmult /= 1.0) call abort () ++ end associate ++ end subroutine test ++end module testa2 ++ ++program testa1 ++ use testa2 ++ type(test_ty) :: e ++ real :: var1 ! Should get NaN initialized ++ call test(e, var1) ++ stop ++end program testa1 +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gfortran.dg/intrinsic_8.f90 gcc-4.6.3/gcc/testsuite/gfortran.dg/intrinsic_8.f90 +--- gcc-4.6.3.orig/gcc/testsuite/gfortran.dg/intrinsic_8.f90 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gfortran.dg/intrinsic_8.f90 2012-03-06 11:08:01.409469000 -0600 +@@ -0,0 +1,23 @@ ++! { dg-do compile } ++! ++! PR fortran/52452 ++! ++! Contributed by Roger Ferrer Ibanez ++! ++PROGRAM test_etime ++ IMPLICIT NONE ++ INTRINSIC :: etime ++ REAL(4) :: tarray(1:2) ++ REAL(4) :: result ++ ++ CALL etime(tarray, result) ++END PROGRAM test_etime ++ ++subroutine test_etime2 ++ IMPLICIT NONE ++ INTRINSIC :: etime ++ REAL(4) :: tarray(1:2) ++ REAL(4) :: result ++ ++ result = etime(tarray) ++END subroutine test_etime2 +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gfortran.dg/optional_absent_2.f90 gcc-4.6.3/gcc/testsuite/gfortran.dg/optional_absent_2.f90 +--- gcc-4.6.3.orig/gcc/testsuite/gfortran.dg/optional_absent_2.f90 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gfortran.dg/optional_absent_2.f90 2012-07-14 10:24:12.262320000 -0500 +@@ -0,0 +1,53 @@ ++! { dg-do run } ++! ++! PR fortran/51758 ++! ++! Contributed by Mikael Morin ++! ++! Check whether passing NULL() to an elemental procedure works, ++! where NULL() denotes an absent optional argument. ++! ++program p ++ ++ integer :: a(2) ++ integer :: b ++ ++ a = 0 ++ a = foo((/ 1, 1 /), null()) ++! print *, a ++ if (any(a /= 2)) call abort ++ ++ a = 0 ++ a = bar((/ 1, 1 /), null()) ++! print *, a ++ if (any(a /= 2)) call abort ++ ++ b = 0 ++ b = bar(1, null()) ++! print *, b ++ if (b /= 2) call abort ++ ++contains ++ ++ function foo(a, b) ++ integer :: a(:) ++ integer, optional :: b(:) ++ integer :: foo(size(a)) ++ ++ if (present(b)) call abort ++ ++ foo = 2 ++ end function foo ++ ++ elemental function bar(a, b) ++ integer, intent(in) :: a ++ integer, intent(in), optional :: b ++ integer :: bar ++ ++ bar = 2 ++ ++ if (present(b)) bar = 1 ++ ++ end function bar ++ ++end program p +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gfortran.dg/pointer_intent_6.f90 gcc-4.6.3/gcc/testsuite/gfortran.dg/pointer_intent_6.f90 +--- gcc-4.6.3.orig/gcc/testsuite/gfortran.dg/pointer_intent_6.f90 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gfortran.dg/pointer_intent_6.f90 2012-05-02 07:53:20.873985000 -0500 +@@ -0,0 +1,19 @@ ++! { dg-do compile } ++! ++! PR fortran/52864 ++! ++! Assigning to an intent(in) pointer (which is valid). ++! ++ program test ++ type PoisFFT_Solver3D ++ complex, dimension(:,:,:), & ++ pointer :: work => null() ++ end type PoisFFT_Solver3D ++ contains ++ subroutine PoisFFT_Solver3D_FullPeriodic(D, p) ++ type(PoisFFT_Solver3D), intent(in) :: D ++ real, intent(in), pointer :: p(:) ++ D%work(i,j,k) = 0.0 ++ p = 0.0 ++ end subroutine ++ end +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gfortran.dg/proc_ptr_34.f90 gcc-4.6.3/gcc/testsuite/gfortran.dg/proc_ptr_34.f90 +--- gcc-4.6.3.orig/gcc/testsuite/gfortran.dg/proc_ptr_34.f90 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gfortran.dg/proc_ptr_34.f90 2012-03-10 03:20:22.792570000 -0600 +@@ -0,0 +1,79 @@ ++! { dg-do compile } ++! ++! PR fortran/52469 ++! ++! This was failing as the DECL of the proc pointer "func" ++! was used for the interface of the proc-pointer component "my_f_ptr" ++! rather than the decl of the proc-pointer target ++! ++! Contributed by palott@gmail.com ++! ++ ++module ExampleFuncs ++ implicit none ++ ++ ! NOTE: "func" is a procedure pointer! ++ pointer :: func ++ interface ++ function func (z) ++ real :: func ++ real, intent (in) :: z ++ end function func ++ end interface ++ ++ type Contains_f_ptr ++ procedure (func), pointer, nopass :: my_f_ptr ++ end type Contains_f_ptr ++contains ++ ++function f1 (x) ++ real :: f1 ++ real, intent (in) :: x ++ ++ f1 = 2.0 * x ++ ++ return ++end function f1 ++ ++function f2 (x) ++ real :: f2 ++ real, intent (in) :: x ++ ++ f2 = 3.0 * x**2 ++ ++ return ++end function f2 ++ ++function fancy (func, x) ++ real :: fancy ++ real, intent (in) :: x ++ ++ interface AFunc ++ function func (y) ++ real :: func ++ real, intent (in) ::y ++ end function func ++ end interface AFunc ++ ++ fancy = func (x) + 3.3 * x ++end function fancy ++ ++end module ExampleFuncs ++ ++ ++program test_proc_ptr ++ use ExampleFuncs ++ implicit none ++ ++ type (Contains_f_ptr), dimension (2) :: NewType ++ ++ !NewType(1) % my_f_ptr => f1 ++ NewType(2) % my_f_ptr => f2 ++ ++ !write (*, *) NewType(1) % my_f_ptr (3.0), NewType(2) % my_f_ptr (3.0) ++ write (6, *) NewType(2) % my_f_ptr (3.0) ! < Shall print '27.0' ++ ++ stop ++end program test_proc_ptr ++ ++! { dg-final { cleanup-modules "examplefuncs" } } +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gfortran.dg/realloc_on_assign_15.f90 gcc-4.6.3/gcc/testsuite/gfortran.dg/realloc_on_assign_15.f90 +--- gcc-4.6.3.orig/gcc/testsuite/gfortran.dg/realloc_on_assign_15.f90 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gfortran.dg/realloc_on_assign_15.f90 2012-05-23 14:13:27.735982000 -0500 +@@ -0,0 +1,40 @@ ++! { dg-do run } ++! ++! PR fortran/53389 ++! ++! The program was leaking memory before due to ++! realloc on assignment and nested functions. ++! ++module foo ++ implicit none ++ contains ++ ++ function filler(array, val) ++ real, dimension(:), intent(in):: array ++ real, dimension(size(array)):: filler ++ real, intent(in):: val ++ ++ filler=val ++ ++ end function filler ++end module ++ ++program test ++ use foo ++ implicit none ++ ++ real, dimension(:), allocatable:: x, y ++ integer, parameter:: N=1000 !*1000 ++ integer:: i ++ ++! allocate( x(N) ) ++ allocate( y(N) ) ++ y=0.0 ++ ++ do i=1, N ++! print *,i ++ x=filler(filler(y, real(2*i)), real(i)) ++ y=y+x ++ end do ++ ++end program test +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gfortran.dg/save_4.f90 gcc-4.6.3/gcc/testsuite/gfortran.dg/save_4.f90 +--- gcc-4.6.3.orig/gcc/testsuite/gfortran.dg/save_4.f90 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gfortran.dg/save_4.f90 2012-06-14 08:11:27.149798000 -0500 +@@ -0,0 +1,13 @@ ++! { dg-do compile } ++! { dg-options "-std=f2003" } ++! ++! PR fortran/53597 ++! ++MODULE somemodule ++ IMPLICIT NONE ++ TYPE sometype ++ INTEGER :: i ++ DOUBLE PRECISION, POINTER, DIMENSION(:,:) :: coef => NULL() ++ END TYPE sometype ++ TYPE(sometype) :: somevariable ! { dg-error "Fortran 2008: Implied SAVE for module variable 'somevariable' at .1., needed due to the default initialization" } ++END MODULE somemodule +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gnat.dg/addr1.adb gcc-4.6.3/gcc/testsuite/gnat.dg/addr1.adb +--- gcc-4.6.3.orig/gcc/testsuite/gnat.dg/addr1.adb 2007-06-06 05:54:25.000000000 -0500 ++++ gcc-4.6.3/gcc/testsuite/gnat.dg/addr1.adb 2012-09-20 17:01:34.089642000 -0500 +@@ -1,3 +1,5 @@ ++-- { dg-do compile } ++ + with System; + package body addr1 is + task type T is +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gnat.dg/addr1.ads gcc-4.6.3/gcc/testsuite/gnat.dg/addr1.ads +--- gcc-4.6.3.orig/gcc/testsuite/gnat.dg/addr1.ads 2007-06-06 05:54:25.000000000 -0500 ++++ gcc-4.6.3/gcc/testsuite/gnat.dg/addr1.ads 2012-09-20 17:01:34.089642000 -0500 +@@ -1,5 +1,3 @@ +--- { dg-do compile } +- + package addr1 is + pragma Elaborate_Body; + end; +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gnat.dg/atomic5.adb gcc-4.6.3/gcc/testsuite/gnat.dg/atomic5.adb +--- gcc-4.6.3.orig/gcc/testsuite/gnat.dg/atomic5.adb 2011-09-11 14:00:13.000000000 -0500 ++++ gcc-4.6.3/gcc/testsuite/gnat.dg/atomic5.adb 2012-09-20 17:01:34.089642000 -0500 +@@ -1,3 +1,5 @@ ++-- { dg-do compile } ++ + package body Atomic5 is + + function Create return R is +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gnat.dg/atomic5.ads gcc-4.6.3/gcc/testsuite/gnat.dg/atomic5.ads +--- gcc-4.6.3.orig/gcc/testsuite/gnat.dg/atomic5.ads 2011-09-11 14:00:13.000000000 -0500 ++++ gcc-4.6.3/gcc/testsuite/gnat.dg/atomic5.ads 2012-09-20 17:01:34.089642000 -0500 +@@ -1,5 +1,3 @@ +--- { dg-do compile } +- + with Unchecked_Conversion; + + package Atomic5 is +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gnat.dg/discr23.ads gcc-4.6.3/gcc/testsuite/gnat.dg/discr23.ads +--- gcc-4.6.3.orig/gcc/testsuite/gnat.dg/discr23.ads 2010-05-19 12:53:58.000000000 -0500 ++++ gcc-4.6.3/gcc/testsuite/gnat.dg/discr23.ads 2012-09-20 17:01:34.089642000 -0500 +@@ -1,5 +1,3 @@ +--- { dg-do compile } +- + package Discr23 is + + procedure Dummy; +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gnat.dg/discr29.adb gcc-4.6.3/gcc/testsuite/gnat.dg/discr29.adb +--- gcc-4.6.3.orig/gcc/testsuite/gnat.dg/discr29.adb 2011-05-05 11:27:03.000000000 -0500 ++++ gcc-4.6.3/gcc/testsuite/gnat.dg/discr29.adb 2012-09-20 17:01:34.089642000 -0500 +@@ -1,3 +1,5 @@ ++-- { dg-do compile } ++ + package body Discr29 is + + procedure Proc (R : out Rec3) is +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gnat.dg/discr29.ads gcc-4.6.3/gcc/testsuite/gnat.dg/discr29.ads +--- gcc-4.6.3.orig/gcc/testsuite/gnat.dg/discr29.ads 2011-05-05 11:27:03.000000000 -0500 ++++ gcc-4.6.3/gcc/testsuite/gnat.dg/discr29.ads 2012-09-20 17:01:34.089642000 -0500 +@@ -1,5 +1,3 @@ +--- { dg-do compile } +- + package Discr29 is + + type Rec1 is record +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gnat.dg/nested_float_packed.ads gcc-4.6.3/gcc/testsuite/gnat.dg/nested_float_packed.ads +--- gcc-4.6.3.orig/gcc/testsuite/gnat.dg/nested_float_packed.ads 2009-06-01 10:27:59.000000000 -0500 ++++ gcc-4.6.3/gcc/testsuite/gnat.dg/nested_float_packed.ads 2012-09-20 17:01:34.089642000 -0500 +@@ -1,5 +1,3 @@ +--- { dg-do compile } +- + package Nested_Float_Packed is + + type Float_Type is record +@@ -20,5 +18,3 @@ + Data_Block : array (Range_Type) + of Data_Type := (others => Default_Data); + end; +- +- +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gnat.dg/oconst6.ads gcc-4.6.3/gcc/testsuite/gnat.dg/oconst6.ads +--- gcc-4.6.3.orig/gcc/testsuite/gnat.dg/oconst6.ads 2009-06-01 09:42:56.000000000 -0500 ++++ gcc-4.6.3/gcc/testsuite/gnat.dg/oconst6.ads 1969-12-31 18:00:00.000000000 -0600 +@@ -1,18 +0,0 @@ +--- { dg-do compile } +--- { dg-final { scan-assembler-not "elabs" } } +- +-package OCONST6 is +- +- type Sequence is array (1 .. 1) of Natural; +- +- type Message is record +- Data : Sequence; +- end record; +- +- for Message'Alignment use 1; +- pragma PACK (Message); +- +- ACK : Message := (Data => (others => 1)); +- +-end; +- +diff -Naur gcc-4.6.3.orig/gcc/testsuite/gnat.dg/specs/oconst6.ads gcc-4.6.3/gcc/testsuite/gnat.dg/specs/oconst6.ads +--- gcc-4.6.3.orig/gcc/testsuite/gnat.dg/specs/oconst6.ads 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/gnat.dg/specs/oconst6.ads 2012-09-20 17:01:34.089642000 -0500 +@@ -0,0 +1,18 @@ ++-- { dg-do compile } ++-- { dg-final { scan-assembler-not "elabs" } } ++ ++package OCONST6 is ++ ++ type Sequence is array (1 .. 1) of Natural; ++ ++ type Message is record ++ Data : Sequence; ++ end record; ++ ++ for Message'Alignment use 1; ++ pragma PACK (Message); ++ ++ ACK : Message := (Data => (others => 1)); ++ ++end; ++ +diff -Naur gcc-4.6.3.orig/gcc/testsuite/lib/target-supports.exp gcc-4.6.3/gcc/testsuite/lib/target-supports.exp +--- gcc-4.6.3.orig/gcc/testsuite/lib/target-supports.exp 2012-02-22 11:38:22.000000000 -0600 ++++ gcc-4.6.3/gcc/testsuite/lib/target-supports.exp 2012-08-10 08:26:44.694722000 -0500 +@@ -2976,6 +2976,26 @@ + return $et_natural_alignment_64_saved + } + ++# Return 1 if all vector types are naturally aligned (aligned to their ++# type-size), 0 otherwise. ++# ++# This won't change for different subtargets so cache the result. ++ ++proc check_effective_target_vect_natural_alignment { } { ++ global et_vect_natural_alignment ++ ++ if [info exists et_vect_natural_alignment_saved] { ++ verbose "check_effective_target_vect_natural_alignment: using cached result" 2 ++ } else { ++ set et_vect_natural_alignment_saved 1 ++ if { [check_effective_target_arm_eabi] } { ++ set et_vect_natural_alignment_saved 0 ++ } ++ } ++ verbose "check_effective_target_vect_natural_alignment: returning $et_vect_natural_alignment_saved" 2 ++ return $et_vect_natural_alignment_saved ++} ++ + # Return 1 if vector alignment (for types of size 32 bit or less) is reachable, 0 otherwise. + # + # This won't change for different subtargets so cache the result. +diff -Naur gcc-4.6.3.orig/gcc/toplev.c gcc-4.6.3/gcc/toplev.c +--- gcc-4.6.3.orig/gcc/toplev.c 2011-02-03 02:29:03.000000000 -0600 ++++ gcc-4.6.3/gcc/toplev.c 2012-03-28 21:15:29.973365000 -0500 +@@ -1326,6 +1326,13 @@ + "and -ftree-loop-linear)"); + #endif + ++ if (flag_strict_volatile_bitfields > 0 && !abi_version_at_least (2)) ++ { ++ warning (0, "-fstrict-volatile-bitfields disabled; " ++ "it is incompatible with ABI versions < 2"); ++ flag_strict_volatile_bitfields = 0; ++ } ++ + /* Unrolling all loops implies that standard loop unrolling must also + be done. */ + if (flag_unroll_all_loops) +diff -Naur gcc-4.6.3.orig/gcc/tree-inline.c gcc-4.6.3/gcc/tree-inline.c +--- gcc-4.6.3.orig/gcc/tree-inline.c 2011-07-26 02:52:24.000000000 -0500 ++++ gcc-4.6.3/gcc/tree-inline.c 2012-10-05 07:01:59.135703000 -0500 +@@ -3809,6 +3809,12 @@ + goto egress; + + if (lookup_attribute ("always_inline", DECL_ATTRIBUTES (fn)) ++ /* For extern inline functions that get redefined we always ++ silently ignored always_inline flag. Better behaviour would ++ be to be able to keep both bodies and use extern inline body ++ for inlining, but we can't do that because frontends overwrite ++ the body. */ ++ && !cg_edge->callee->local.redefined_extern_inline + /* Avoid warnings during early inline pass. */ + && cgraph_global_info_ready) + { +@@ -4947,7 +4953,7 @@ + if ((e = cgraph_edge (id->dst_node, gsi_stmt (bsi))) != NULL) + { + if (!e->inline_failed) +- cgraph_remove_node_and_inline_clones (e->callee); ++ cgraph_remove_node_and_inline_clones (e->callee, id->dst_node); + else + cgraph_remove_edge (e); + } +@@ -4957,8 +4963,8 @@ + { + if ((e = cgraph_edge (node, gsi_stmt (bsi))) != NULL) + { +- if (!e->inline_failed) +- cgraph_remove_node_and_inline_clones (e->callee); ++ if (!e->inline_failed && e->callee != id->src_node) ++ cgraph_remove_node_and_inline_clones (e->callee, id->dst_node); + else + cgraph_remove_edge (e); + } +diff -Naur gcc-4.6.3.orig/gcc/tree-pretty-print.c gcc-4.6.3/gcc/tree-pretty-print.c +--- gcc-4.6.3.orig/gcc/tree-pretty-print.c 2010-11-05 04:00:50.000000000 -0500 ++++ gcc-4.6.3/gcc/tree-pretty-print.c 2012-05-31 10:03:37.575990000 -0500 +@@ -805,6 +805,8 @@ + infer them and MEM_ATTR caching will share MEM_REFs + with differently-typed op0s. */ + && TREE_CODE (TREE_OPERAND (node, 0)) != INTEGER_CST ++ /* Released SSA_NAMES have no TREE_TYPE. */ ++ && TREE_TYPE (TREE_OPERAND (node, 0)) != NULL_TREE + /* Same pointer types, but ignoring POINTER_TYPE vs. + REFERENCE_TYPE. */ + && (TREE_TYPE (TREE_TYPE (TREE_OPERAND (node, 0))) +@@ -1171,6 +1173,8 @@ + can't infer them and MEM_ATTR caching will share + MEM_REFs with differently-typed op0s. */ + && TREE_CODE (TREE_OPERAND (op0, 0)) != INTEGER_CST ++ /* Released SSA_NAMES have no TREE_TYPE. */ ++ && TREE_TYPE (TREE_OPERAND (op0, 0)) != NULL_TREE + /* Same pointer types, but ignoring POINTER_TYPE vs. + REFERENCE_TYPE. */ + && (TREE_TYPE (TREE_TYPE (TREE_OPERAND (op0, 0))) +diff -Naur gcc-4.6.3.orig/gcc/tree-sra.c gcc-4.6.3/gcc/tree-sra.c +--- gcc-4.6.3.orig/gcc/tree-sra.c 2012-01-05 16:24:45.000000000 -0600 ++++ gcc-4.6.3/gcc/tree-sra.c 2012-09-10 04:50:02.938856000 -0500 +@@ -910,7 +910,8 @@ + disqualify_base_of_expr (tree t, const char *reason) + { + t = get_base_address (t); +- if (sra_mode == SRA_MODE_EARLY_IPA ++ if (t ++ && sra_mode == SRA_MODE_EARLY_IPA + && TREE_CODE (t) == MEM_REF) + t = get_ssa_base_param (TREE_OPERAND (t, 0)); + +@@ -2937,7 +2938,13 @@ + } + else + { +- if (access_has_children_p (lacc) && access_has_children_p (racc)) ++ if (access_has_children_p (lacc) ++ && access_has_children_p (racc) ++ /* When an access represents an unscalarizable region, it usually ++ represents accesses with variable offset and thus must not be used ++ to generate new memory accesses. */ ++ && !lacc->grp_unscalarizable_region ++ && !racc->grp_unscalarizable_region) + { + gimple_stmt_iterator orig_gsi = *gsi; + enum unscalarized_data_handling refreshed; +diff -Naur gcc-4.6.3.orig/gcc/tree-ssa-ccp.c gcc-4.6.3/gcc/tree-ssa-ccp.c +--- gcc-4.6.3.orig/gcc/tree-ssa-ccp.c 2011-09-26 09:08:53.000000000 -0500 ++++ gcc-4.6.3/gcc/tree-ssa-ccp.c 2012-07-04 08:56:00.524689000 -0500 +@@ -1364,6 +1364,10 @@ + if (!DECL_INITIAL (base) + && (TREE_STATIC (base) || DECL_EXTERNAL (base))) + return error_mark_node; ++ /* Do not return an error_mark_node DECL_INITIAL. LTO uses this ++ as special marker (_not_ zero ...) for its own purposes. */ ++ if (DECL_INITIAL (base) == error_mark_node) ++ return NULL_TREE; + return DECL_INITIAL (base); + + case ARRAY_REF: +diff -Naur gcc-4.6.3.orig/gcc/tree-vect-data-refs.c gcc-4.6.3/gcc/tree-vect-data-refs.c +--- gcc-4.6.3.orig/gcc/tree-vect-data-refs.c 2011-12-12 13:43:06.000000000 -0600 ++++ gcc-4.6.3/gcc/tree-vect-data-refs.c 2012-08-10 08:26:44.694722000 -0500 +@@ -1019,7 +1019,7 @@ + int misal = DR_MISALIGNMENT (dr); + tree vectype = STMT_VINFO_VECTYPE (stmt_info); + misal += negative ? -npeel * dr_size : npeel * dr_size; +- misal &= GET_MODE_SIZE (TYPE_MODE (vectype)) - 1; ++ misal &= (TYPE_ALIGN (vectype) / BITS_PER_UNIT) - 1; + SET_DR_MISALIGNMENT (dr, misal); + return; + } +diff -Naur gcc-4.6.3.orig/gcc/tree-vect-loop.c gcc-4.6.3/gcc/tree-vect-loop.c +--- gcc-4.6.3.orig/gcc/tree-vect-loop.c 2011-06-04 04:20:00.000000000 -0500 ++++ gcc-4.6.3/gcc/tree-vect-loop.c 2012-03-02 08:51:58.551861000 -0600 +@@ -2104,7 +2104,8 @@ + if (stmt_info + && !STMT_VINFO_RELEVANT_P (stmt_info) + && (!STMT_VINFO_LIVE_P (stmt_info) +- || STMT_VINFO_DEF_TYPE (stmt_info) != vect_reduction_def)) ++ || !VECTORIZABLE_CYCLE_DEF (STMT_VINFO_DEF_TYPE (stmt_info))) ++ && !STMT_VINFO_IN_PATTERN_P (stmt_info)) + continue; + + if (STMT_VINFO_DATA_REF (vinfo_for_stmt (stmt))) +@@ -2251,11 +2252,19 @@ + { + gimple stmt = gsi_stmt (si); + stmt_vec_info stmt_info = vinfo_for_stmt (stmt); ++ ++ if (STMT_VINFO_IN_PATTERN_P (stmt_info)) ++ { ++ stmt = STMT_VINFO_RELATED_STMT (stmt_info); ++ stmt_info = vinfo_for_stmt (stmt); ++ } ++ + /* Skip stmts that are not vectorized inside the loop. */ + if (!STMT_VINFO_RELEVANT_P (stmt_info) + && (!STMT_VINFO_LIVE_P (stmt_info) +- || STMT_VINFO_DEF_TYPE (stmt_info) != vect_reduction_def)) ++ || !VECTORIZABLE_CYCLE_DEF (STMT_VINFO_DEF_TYPE (stmt_info)))) + continue; ++ + vec_inside_cost += STMT_VINFO_INSIDE_OF_LOOP_COST (stmt_info) * factor; + /* FIXME: for stmts in the inner-loop in outer-loop vectorization, + some of the "outside" costs are generated inside the outer-loop. */ +diff -Naur gcc-4.6.3.orig/gcc/tree-vect-loop-manip.c gcc-4.6.3/gcc/tree-vect-loop-manip.c +--- gcc-4.6.3.orig/gcc/tree-vect-loop-manip.c 2011-06-04 04:20:00.000000000 -0500 ++++ gcc-4.6.3/gcc/tree-vect-loop-manip.c 2012-08-10 08:26:44.694722000 -0500 +@@ -2008,7 +2008,7 @@ + If the misalignment of DR is known at compile time: + addr_mis = int mis = DR_MISALIGNMENT (dr); + Else, compute address misalignment in bytes: +- addr_mis = addr & (vectype_size - 1) ++ addr_mis = addr & (vectype_align - 1) + + prolog_niters = min (LOOP_NITERS, ((VF - addr_mis/elem_size)&(VF-1))/step) + +@@ -2065,9 +2065,10 @@ + tree ptr_type = TREE_TYPE (start_addr); + tree size = TYPE_SIZE (ptr_type); + tree type = lang_hooks.types.type_for_size (tree_low_cst (size, 1), 1); +- tree vectype_size_minus_1 = build_int_cst (type, vectype_align - 1); +- tree elem_size_log = +- build_int_cst (type, exact_log2 (vectype_align/nelements)); ++ tree vectype_align_minus_1 = build_int_cst (type, vectype_align - 1); ++ HOST_WIDE_INT elem_size = ++ int_cst_value (TYPE_SIZE_UNIT (TREE_TYPE (vectype))); ++ tree elem_size_log = build_int_cst (type, exact_log2 (elem_size)); + tree nelements_minus_1 = build_int_cst (type, nelements - 1); + tree nelements_tree = build_int_cst (type, nelements); + tree byte_misalign; +@@ -2076,10 +2077,10 @@ + new_bb = gsi_insert_seq_on_edge_immediate (pe, new_stmts); + gcc_assert (!new_bb); + +- /* Create: byte_misalign = addr & (vectype_size - 1) */ ++ /* Create: byte_misalign = addr & (vectype_align - 1) */ + byte_misalign = + fold_build2 (BIT_AND_EXPR, type, fold_convert (type, start_addr), +- vectype_size_minus_1); ++ vectype_align_minus_1); + + /* Create: elem_misalign = byte_misalign / element_size */ + elem_misalign = +diff -Naur gcc-4.6.3.orig/gcc/tree-vect-stmts.c gcc-4.6.3/gcc/tree-vect-stmts.c +--- gcc-4.6.3.orig/gcc/tree-vect-stmts.c 2012-02-10 06:34:17.000000000 -0600 ++++ gcc-4.6.3/gcc/tree-vect-stmts.c 2012-03-02 08:51:58.551861000 -0600 +@@ -623,6 +623,46 @@ + } + + ++/* Model cost for type demotion and promotion operations. PWR is normally ++ zero for single-step promotions and demotions. It will be one if ++ two-step promotion/demotion is required, and so on. Each additional ++ step doubles the number of instructions required. */ ++ ++static void ++vect_model_promotion_demotion_cost (stmt_vec_info stmt_info, ++ enum vect_def_type *dt, int pwr) ++{ ++ int i, tmp; ++ int inside_cost = 0, outside_cost = 0, single_stmt_cost; ++ ++ /* The SLP costs were already calculated during SLP tree build. */ ++ if (PURE_SLP_STMT (stmt_info)) ++ return; ++ ++ single_stmt_cost = vect_get_stmt_cost (vec_promote_demote); ++ for (i = 0; i < pwr + 1; i++) ++ { ++ tmp = (STMT_VINFO_TYPE (stmt_info) == type_promotion_vec_info_type) ? ++ (i + 1) : i; ++ inside_cost += vect_pow2 (tmp) * single_stmt_cost; ++ } ++ ++ /* FORNOW: Assuming maximum 2 args per stmts. */ ++ for (i = 0; i < 2; i++) ++ { ++ if (dt[i] == vect_constant_def || dt[i] == vect_external_def) ++ outside_cost += vect_get_stmt_cost (vector_stmt); ++ } ++ ++ if (vect_print_dump_info (REPORT_COST)) ++ fprintf (vect_dump, "vect_model_promotion_demotion_cost: inside_cost = %d, " ++ "outside_cost = %d .", inside_cost, outside_cost); ++ ++ /* Set the costs in STMT_INFO. */ ++ stmt_vinfo_set_inside_of_loop_cost (stmt_info, NULL, inside_cost); ++ stmt_vinfo_set_outside_of_loop_cost (stmt_info, NULL, outside_cost); ++} ++ + /* Function vect_cost_strided_group_size + + For strided load or store, return the group_size only if it is the first +@@ -691,7 +731,7 @@ + { + /* Uses a high and low interleave operation for each needed permute. */ + inside_cost = ncopies * exact_log2(group_size) * group_size +- * vect_get_stmt_cost (vector_stmt); ++ * vect_get_stmt_cost (vec_perm); + + if (vect_print_dump_info (REPORT_COST)) + fprintf (vect_dump, "vect_model_store_cost: strided group_size = %d .", +@@ -795,7 +835,7 @@ + { + /* Uses an even and odd extract operations for each needed permute. */ + inside_cost = ncopies * exact_log2(group_size) * group_size +- * vect_get_stmt_cost (vector_stmt); ++ * vect_get_stmt_cost (vec_perm); + + if (vect_print_dump_info (REPORT_COST)) + fprintf (vect_dump, "vect_model_load_cost: strided group_size = %d .", +@@ -855,7 +895,7 @@ + case dr_explicit_realign: + { + *inside_cost += ncopies * (2 * vect_get_stmt_cost (vector_load) +- + vect_get_stmt_cost (vector_stmt)); ++ + vect_get_stmt_cost (vec_perm)); + + /* FIXME: If the misalignment remains fixed across the iterations of + the containing loop, the following cost should be added to the +@@ -863,6 +903,9 @@ + if (targetm.vectorize.builtin_mask_for_load) + *inside_cost += vect_get_stmt_cost (vector_stmt); + ++ if (vect_print_dump_info (REPORT_COST)) ++ fprintf (vect_dump, "vect_model_load_cost: explicit realign"); ++ + break; + } + case dr_explicit_realign_optimized: +@@ -886,7 +929,12 @@ + } + + *inside_cost += ncopies * (vect_get_stmt_cost (vector_load) +- + vect_get_stmt_cost (vector_stmt)); ++ + vect_get_stmt_cost (vec_perm)); ++ ++ if (vect_print_dump_info (REPORT_COST)) ++ fprintf (vect_dump, ++ "vect_model_load_cost: explicit realign optimized"); ++ + break; + } + +@@ -2919,7 +2967,7 @@ + STMT_VINFO_TYPE (stmt_info) = type_demotion_vec_info_type; + if (vect_print_dump_info (REPORT_DETAILS)) + fprintf (vect_dump, "=== vectorizable_demotion ==="); +- vect_model_simple_cost (stmt_info, ncopies, dt, NULL); ++ vect_model_promotion_demotion_cost (stmt_info, dt, multi_step_cvt); + return true; + } + +@@ -3217,7 +3265,7 @@ + STMT_VINFO_TYPE (stmt_info) = type_promotion_vec_info_type; + if (vect_print_dump_info (REPORT_DETAILS)) + fprintf (vect_dump, "=== vectorizable_promotion ==="); +- vect_model_simple_cost (stmt_info, 2*ncopies, dt, NULL); ++ vect_model_promotion_demotion_cost (stmt_info, dt, multi_step_cvt); + return true; + } + +diff -Naur gcc-4.6.3.orig/gcc/varasm.c gcc-4.6.3/gcc/varasm.c +--- gcc-4.6.3.orig/gcc/varasm.c 2011-12-09 13:11:01.000000000 -0600 ++++ gcc-4.6.3/gcc/varasm.c 2012-04-24 01:14:37.854759000 -0500 +@@ -1,7 +1,7 @@ + /* Output variables, constants and external declarations, for GNU compiler. + Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, + 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, +- 2010, 2011 Free Software Foundation, Inc. ++ 2010, 2011, 2012 Free Software Foundation, Inc. + + This file is part of GCC. + +@@ -30,6 +30,7 @@ + #include "config.h" + #include "system.h" + #include "coretypes.h" ++#include "pointer-set.h" + #include "tm.h" + #include "rtl.h" + #include "tree.h" +@@ -2097,6 +2098,19 @@ + it all the way to final. See PR 17982 for further discussion. */ + static GTY(()) tree pending_assemble_externals; + ++/* FIXME: Trunk is at GCC 4.8 now and the above problem still hasn't been ++ addressed properly. This caused PR 52640 due to O(external_decls**2) ++ lookups in the pending_assemble_externals TREE_LIST in assemble_external. ++ Paper over with this pointer set, which we use to see if we have already ++ added a decl to pending_assemble_externals without first traversing ++ the entire pending_assemble_externals list. See assemble_external(). */ ++static struct pointer_set_t *pending_assemble_externals_set; ++ ++/* Some targets delay some output to final using TARGET_ASM_FILE_END. ++ As a result, assemble_external can be called after the list of externals ++ is processed and the pointer set destroyed. */ ++static bool pending_assemble_externals_processed; ++ + #ifdef ASM_OUTPUT_EXTERNAL + /* True if DECL is a function decl for which no out-of-line copy exists. + It is assumed that DECL's assembler name has been set. */ +@@ -2146,6 +2160,8 @@ + assemble_external_real (TREE_VALUE (list)); + + pending_assemble_externals = 0; ++ pending_assemble_externals_processed = true; ++ pointer_set_destroy (pending_assemble_externals_set); + #endif + } + +@@ -2186,7 +2202,13 @@ + weak_decls = tree_cons (NULL, decl, weak_decls); + + #ifdef ASM_OUTPUT_EXTERNAL +- if (value_member (decl, pending_assemble_externals) == NULL_TREE) ++ if (pending_assemble_externals_processed) ++ { ++ assemble_external_real (decl); ++ return; ++ } ++ ++ if (! pointer_set_insert (pending_assemble_externals_set, decl)) + pending_assemble_externals = tree_cons (NULL, decl, + pending_assemble_externals); + #endif +@@ -3922,6 +3944,13 @@ + tem = TREE_OPERAND (tem, 0)) + ; + ++ if (TREE_CODE (tem) == MEM_REF ++ && TREE_CODE (TREE_OPERAND (tem, 0)) == ADDR_EXPR) ++ { ++ reloc = compute_reloc_for_constant (TREE_OPERAND (tem, 0)); ++ break; ++ } ++ + if (TREE_PUBLIC (tem)) + reloc |= 2; + else +@@ -3990,6 +4019,9 @@ + + if (CONSTANT_CLASS_P (tem) || TREE_CODE (tem) == CONSTRUCTOR) + output_constant_def (tem, 0); ++ ++ if (TREE_CODE (tem) == MEM_REF) ++ output_addressed_constants (TREE_OPERAND (tem, 0)); + break; + + case PLUS_EXPR: +@@ -6019,6 +6051,10 @@ + + if (readonly_data_section == NULL) + readonly_data_section = text_section; ++ ++#ifdef ASM_OUTPUT_EXTERNAL ++ pending_assemble_externals_set = pointer_set_create (); ++#endif + } + + enum tls_model +diff -Naur gcc-4.6.3.orig/gcc/version.c gcc-4.6.3/gcc/version.c +--- gcc-4.6.3.orig/gcc/version.c 2009-04-21 14:03:23.000000000 -0500 ++++ gcc-4.6.3/gcc/version.c 2012-11-05 15:59:56.218466326 -0600 +@@ -33,4 +33,4 @@ + Makefile. */ + + const char version_string[] = BASEVER DATESTAMP DEVPHASE REVISION; +-const char pkgversion_string[] = PKGVERSION; ++const char pkgversion_string[] = "(GCC for Cross-LFS 4.6.3.20121105) "; +diff -Naur gcc-4.6.3.orig/libffi/configure.ac gcc-4.6.3/libffi/configure.ac +--- gcc-4.6.3.orig/libffi/configure.ac 2012-02-10 10:45:53.000000000 -0600 ++++ gcc-4.6.3/libffi/configure.ac 2012-09-20 09:55:03.645689000 -0500 +@@ -12,7 +12,7 @@ + + . ${srcdir}/configure.host + +-AM_INIT_AUTOMAKE ++AM_INIT_AUTOMAKE([no-dist]) + + # The same as in boehm-gc and libstdc++. Have to borrow it from there. + # We must force CC to /not/ be precious variables; otherwise +diff -Naur gcc-4.6.3.orig/libffi/include/Makefile.in gcc-4.6.3/libffi/include/Makefile.in +--- gcc-4.6.3.orig/libffi/include/Makefile.in 2010-04-02 13:18:06.000000000 -0500 ++++ gcc-4.6.3/libffi/include/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -36,7 +36,7 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = include +-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(srcdir)/ffi.h.in $(toollibffi_HEADERS) + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \ +@@ -54,7 +54,6 @@ + CONFIG_CLEAN_FILES = ffi.h ffitarget.h + CONFIG_CLEAN_VPATH_FILES = + SOURCES = +-DIST_SOURCES = + am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; + am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ +@@ -80,7 +79,6 @@ + HEADERS = $(toollibffi_HEADERS) + ETAGS = etags + CTAGS = ctags +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ + ALLOCA = @ALLOCA@ + AMTAR = @AMTAR@ +@@ -329,37 +327,6 @@ + + distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +- +-distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done + check-am: all-am + check: check-am + all-am: Makefile $(HEADERS) +@@ -463,17 +430,16 @@ + + .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool ctags distclean distclean-generic \ +- distclean-libtool distclean-tags distdir dvi dvi-am html \ +- html-am info info-am install install-am install-data \ +- install-data-am install-dvi install-dvi-am install-exec \ +- install-exec-am install-html install-html-am install-info \ +- install-info-am install-man install-pdf install-pdf-am \ +- install-ps install-ps-am install-strip \ +- install-toollibffiHEADERS installcheck installcheck-am \ +- installdirs maintainer-clean maintainer-clean-generic \ +- mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ +- ps ps-am tags uninstall uninstall-am \ +- uninstall-toollibffiHEADERS ++ distclean-libtool distclean-tags dvi dvi-am html html-am info \ ++ info-am install install-am install-data install-data-am \ ++ install-dvi install-dvi-am install-exec install-exec-am \ ++ install-html install-html-am install-info install-info-am \ ++ install-man install-pdf install-pdf-am install-ps \ ++ install-ps-am install-strip install-toollibffiHEADERS \ ++ installcheck installcheck-am installdirs maintainer-clean \ ++ maintainer-clean-generic mostlyclean mostlyclean-generic \ ++ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ ++ uninstall-am uninstall-toollibffiHEADERS + + + # Tell versions [3.59,3.63) of GNU make to not export all variables. +diff -Naur gcc-4.6.3.orig/libffi/Makefile.in gcc-4.6.3/libffi/Makefile.in +--- gcc-4.6.3.orig/libffi/Makefile.in 2012-03-01 06:03:46.000000000 -0600 ++++ gcc-4.6.3/libffi/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -61,13 +61,10 @@ + @PA_LINUX_TRUE@am__append_24 = src/pa/linux.S src/pa/ffi.c + @PA_HPUX_TRUE@am__append_25 = src/pa/hpux32.S src/pa/ffi.c + subdir = . +-DIST_COMMON = README $(am__configure_deps) $(srcdir)/../compile \ +- $(srcdir)/../config.guess $(srcdir)/../config.sub \ +- $(srcdir)/../depcomp $(srcdir)/../install-sh \ +- $(srcdir)/../ltmain.sh $(srcdir)/../missing \ +- $(srcdir)/../mkinstalldirs $(srcdir)/Makefile.am \ +- $(srcdir)/Makefile.in $(srcdir)/fficonfig.h.in \ +- $(top_srcdir)/configure ChangeLog ++DIST_COMMON = README ChangeLog $(srcdir)/Makefile.in \ ++ $(srcdir)/Makefile.am $(top_srcdir)/configure \ ++ $(am__configure_deps) $(srcdir)/fficonfig.h.in \ ++ $(srcdir)/../mkinstalldirs $(srcdir)/../depcomp + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \ + $(top_srcdir)/../config/lead-dot.m4 \ +@@ -201,7 +198,6 @@ + SOURCES = $(libffi_la_SOURCES) $(nodist_libffi_la_SOURCES) \ + $(libffi_convenience_la_SOURCES) \ + $(nodist_libffi_convenience_la_SOURCES) +-DIST_SOURCES = $(libffi_la_SOURCES) $(libffi_convenience_la_SOURCES) + MULTISRCTOP = + MULTIBUILDTOP = + MULTIDIRS = +@@ -218,47 +214,10 @@ + RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive + AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ +- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ +- distdir dist dist-all distcheck ++ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS + ETAGS = etags + CTAGS = ctags + DIST_SUBDIRS = $(SUBDIRS) +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +-distdir = $(PACKAGE)-$(VERSION) +-top_distdir = $(distdir) +-am__remove_distdir = \ +- { test ! -d "$(distdir)" \ +- || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ +- && rm -fr "$(distdir)"; }; } +-am__relativize = \ +- dir0=`pwd`; \ +- sed_first='s,^\([^/]*\)/.*$$,\1,'; \ +- sed_rest='s,^[^/]*/*,,'; \ +- sed_last='s,^.*/\([^/]*\)$$,\1,'; \ +- sed_butlast='s,/*[^/]*$$,,'; \ +- while test -n "$$dir1"; do \ +- first=`echo "$$dir1" | sed -e "$$sed_first"`; \ +- if test "$$first" != "."; then \ +- if test "$$first" = ".."; then \ +- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ +- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ +- else \ +- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ +- if test "$$first2" = "$$first"; then \ +- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ +- else \ +- dir2="../$$dir2"; \ +- fi; \ +- dir0="$$dir0"/"$$first"; \ +- fi; \ +- fi; \ +- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ +- done; \ +- reldir="$$dir2" +-DIST_ARCHIVES = $(distdir).tar.gz +-GZIP_ENV = --best +-distuninstallcheck_listfiles = find . -type f -print +-distcleancheck_listfiles = find . -type f -print + ACLOCAL = @ACLOCAL@ + ALLOCA = @ALLOCA@ + AMTAR = @AMTAR@ +@@ -1184,182 +1143,6 @@ + + distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +- +-distdir: $(DISTFILES) +- $(am__remove_distdir) +- test -d "$(distdir)" || mkdir "$(distdir)" +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done +- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ +- if test "$$subdir" = .; then :; else \ +- test -d "$(distdir)/$$subdir" \ +- || $(MKDIR_P) "$(distdir)/$$subdir" \ +- || exit 1; \ +- fi; \ +- done +- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ +- if test "$$subdir" = .; then :; else \ +- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ +- $(am__relativize); \ +- new_distdir=$$reldir; \ +- dir1=$$subdir; dir2="$(top_distdir)"; \ +- $(am__relativize); \ +- new_top_distdir=$$reldir; \ +- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ +- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ +- ($(am__cd) $$subdir && \ +- $(MAKE) $(AM_MAKEFLAGS) \ +- top_distdir="$$new_top_distdir" \ +- distdir="$$new_distdir" \ +- am__remove_distdir=: \ +- am__skip_length_check=: \ +- am__skip_mode_fix=: \ +- distdir) \ +- || exit 1; \ +- fi; \ +- done +- -test -n "$(am__skip_mode_fix)" \ +- || find "$(distdir)" -type d ! -perm -755 \ +- -exec chmod u+rwx,go+rx {} \; -o \ +- ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ +- ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ +- ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ +- || chmod -R a+r "$(distdir)" +-dist-gzip: distdir +- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz +- $(am__remove_distdir) +- +-dist-bzip2: distdir +- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 +- $(am__remove_distdir) +- +-dist-lzma: distdir +- tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma +- $(am__remove_distdir) +- +-dist-xz: distdir +- tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz +- $(am__remove_distdir) +- +-dist-tarZ: distdir +- tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z +- $(am__remove_distdir) +- +-dist-shar: distdir +- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz +- $(am__remove_distdir) +- +-dist-zip: distdir +- -rm -f $(distdir).zip +- zip -rq $(distdir).zip $(distdir) +- $(am__remove_distdir) +- +-dist dist-all: distdir +- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz +- $(am__remove_distdir) +- +-# This target untars the dist file and tries a VPATH configuration. Then +-# it guarantees that the distribution is self-contained by making another +-# tarfile. +-distcheck: dist +- case '$(DIST_ARCHIVES)' in \ +- *.tar.gz*) \ +- GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ +- *.tar.bz2*) \ +- bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ +- *.tar.lzma*) \ +- lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ +- *.tar.xz*) \ +- xz -dc $(distdir).tar.xz | $(am__untar) ;;\ +- *.tar.Z*) \ +- uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ +- *.shar.gz*) \ +- GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ +- *.zip*) \ +- unzip $(distdir).zip ;;\ +- esac +- chmod -R a-w $(distdir); chmod a+w $(distdir) +- mkdir $(distdir)/_build +- mkdir $(distdir)/_inst +- chmod a-w $(distdir) +- test -d $(distdir)/_build || exit 0; \ +- dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ +- && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ +- && am__cwd=`pwd` \ +- && $(am__cd) $(distdir)/_build \ +- && ../configure --srcdir=.. --prefix="$$dc_install_base" \ +- $(DISTCHECK_CONFIGURE_FLAGS) \ +- && $(MAKE) $(AM_MAKEFLAGS) \ +- && $(MAKE) $(AM_MAKEFLAGS) dvi \ +- && $(MAKE) $(AM_MAKEFLAGS) check \ +- && $(MAKE) $(AM_MAKEFLAGS) install \ +- && $(MAKE) $(AM_MAKEFLAGS) installcheck \ +- && $(MAKE) $(AM_MAKEFLAGS) uninstall \ +- && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ +- distuninstallcheck \ +- && chmod -R a-w "$$dc_install_base" \ +- && ({ \ +- (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ +- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ +- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ +- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ +- distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ +- } || { rm -rf "$$dc_destdir"; exit 1; }) \ +- && rm -rf "$$dc_destdir" \ +- && $(MAKE) $(AM_MAKEFLAGS) dist \ +- && rm -rf $(DIST_ARCHIVES) \ +- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ +- && cd "$$am__cwd" \ +- || exit 1 +- $(am__remove_distdir) +- @(echo "$(distdir) archives ready for distribution: "; \ +- list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ +- sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' +-distuninstallcheck: +- @$(am__cd) '$(distuninstallcheck_dir)' \ +- && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ +- || { echo "ERROR: files left after uninstall:" ; \ +- if test -n "$(DESTDIR)"; then \ +- echo " (check DESTDIR support)"; \ +- fi ; \ +- $(distuninstallcheck_listfiles) ; \ +- exit 1; } >&2 +-distcleancheck: distclean +- @if test '$(srcdir)' = . ; then \ +- echo "ERROR: distcleancheck can only run from a VPATH build" ; \ +- exit 1 ; \ +- fi +- @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ +- || { echo "ERROR: files left in build directory after distclean:" ; \ +- $(distcleancheck_listfiles) ; \ +- exit 1; } >&2 + check-am: all-am + check: check-recursive + all-am: Makefile $(LTLIBRARIES) all-multi fficonfig.h +@@ -1510,18 +1293,15 @@ + all all-am all-multi am--refresh check check-am clean \ + clean-generic clean-libtool clean-multi \ + clean-noinstLTLIBRARIES clean-toolexeclibLTLIBRARIES ctags \ +- ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-lzma \ +- dist-shar dist-tarZ dist-xz dist-zip distcheck distclean \ +- distclean-compile distclean-generic distclean-hdr \ +- distclean-libtool distclean-multi distclean-tags \ +- distcleancheck distdir distuninstallcheck dvi dvi-am html \ +- html-am info info-am install install-am install-data \ +- install-data-am install-dvi install-dvi-am install-exec \ +- install-exec-am install-html install-html-am install-info \ +- install-info-am install-man install-multi install-pdf \ +- install-pdf-am install-ps install-ps-am install-strip \ +- install-toolexeclibLTLIBRARIES installcheck installcheck-am \ +- installdirs installdirs-am maintainer-clean \ ++ ctags-recursive distclean distclean-compile distclean-generic \ ++ distclean-hdr distclean-libtool distclean-multi distclean-tags \ ++ dvi dvi-am html html-am info info-am install install-am \ ++ install-data install-data-am install-dvi install-dvi-am \ ++ install-exec install-exec-am install-html install-html-am \ ++ install-info install-info-am install-man install-multi \ ++ install-pdf install-pdf-am install-ps install-ps-am \ ++ install-strip install-toolexeclibLTLIBRARIES installcheck \ ++ installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic maintainer-clean-multi mostlyclean \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ + mostlyclean-multi pdf pdf-am ps ps-am tags tags-recursive \ +diff -Naur gcc-4.6.3.orig/libffi/man/Makefile.in gcc-4.6.3/libffi/man/Makefile.in +--- gcc-4.6.3.orig/libffi/man/Makefile.in 2010-04-02 13:18:06.000000000 -0500 ++++ gcc-4.6.3/libffi/man/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -35,7 +35,7 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = man +-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \ + $(top_srcdir)/../config/lead-dot.m4 \ +@@ -52,7 +52,6 @@ + CONFIG_CLEAN_FILES = + CONFIG_CLEAN_VPATH_FILES = + SOURCES = +-DIST_SOURCES = + am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; + am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ +@@ -78,7 +77,6 @@ + am__installdirs = "$(DESTDIR)$(man3dir)" + NROFF = nroff + MANS = $(man_MANS) +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ + ALLOCA = @ALLOCA@ + AMTAR = @AMTAR@ +@@ -292,50 +290,6 @@ + ctags: CTAGS + CTAGS: + +- +-distdir: $(DISTFILES) +- @list='$(MANS)'; if test -n "$$list"; then \ +- list=`for p in $$list; do \ +- if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ +- if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \ +- if test -n "$$list" && \ +- grep 'ab help2man is required to generate this page' $$list >/dev/null; then \ +- echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \ +- grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \ +- echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \ +- echo " typically \`make maintainer-clean' will remove them" >&2; \ +- exit 1; \ +- else :; fi; \ +- else :; fi +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done + check-am: all-am + check: check-am + all-am: Makefile $(MANS) +@@ -439,16 +393,16 @@ + .MAKE: install-am install-strip + + .PHONY: all all-am check check-am clean clean-generic clean-libtool \ +- distclean distclean-generic distclean-libtool distdir dvi \ +- dvi-am html html-am info info-am install install-am \ +- install-data install-data-am install-dvi install-dvi-am \ +- install-exec install-exec-am install-html install-html-am \ +- install-info install-info-am install-man install-man3 \ +- install-pdf install-pdf-am install-ps install-ps-am \ +- install-strip installcheck installcheck-am installdirs \ +- maintainer-clean maintainer-clean-generic mostlyclean \ +- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ +- uninstall uninstall-am uninstall-man uninstall-man3 ++ distclean distclean-generic distclean-libtool dvi dvi-am html \ ++ html-am info info-am install install-am install-data \ ++ install-data-am install-dvi install-dvi-am install-exec \ ++ install-exec-am install-html install-html-am install-info \ ++ install-info-am install-man install-man3 install-pdf \ ++ install-pdf-am install-ps install-ps-am install-strip \ ++ installcheck installcheck-am installdirs maintainer-clean \ ++ maintainer-clean-generic mostlyclean mostlyclean-generic \ ++ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ ++ uninstall-man uninstall-man3 + + + # Tell versions [3.59,3.63) of GNU make to not export all variables. +diff -Naur gcc-4.6.3.orig/libffi/src/powerpc/aix_closure.S gcc-4.6.3/libffi/src/powerpc/aix_closure.S +--- gcc-4.6.3.orig/libffi/src/powerpc/aix_closure.S 2009-12-07 18:41:10.000000000 -0600 ++++ gcc-4.6.3/libffi/src/powerpc/aix_closure.S 2012-03-22 09:35:34.814561000 -0500 +@@ -79,6 +79,8 @@ + .set f20,20 + .set f21,21 + ++ .extern .ffi_closure_helper_DARWIN ++ + #define LIBFFI_ASM + #define JUMPTARGET(name) name + #define L(x) x +@@ -165,6 +167,7 @@ + + /* look up the proper starting point in table */ + /* by using return type as offset */ ++ lhz r3, 10(r3) /* load type from return type */ + ld r4, LC..60(2) /* get address of jump table */ + sldi r3, r3, 4 /* now multiply return type by 16 */ + ld r0, 240+16(r1) /* load return address */ +@@ -337,8 +340,9 @@ + + /* look up the proper starting point in table */ + /* by using return type as offset */ ++ lhz r3, 6(r3) /* load type from return type */ + lwz r4, LC..60(2) /* get address of jump table */ +- slwi r3, r3, 4 /* now multiply return type by 4 */ ++ slwi r3, r3, 4 /* now multiply return type by 16 */ + lwz r0, 176+8(r1) /* load return address */ + add r3, r3, r4 /* add contents of table to table address */ + mtctr r3 +diff -Naur gcc-4.6.3.orig/libffi/src/powerpc/aix.S gcc-4.6.3/libffi/src/powerpc/aix.S +--- gcc-4.6.3.orig/libffi/src/powerpc/aix.S 2009-12-05 15:48:58.000000000 -0600 ++++ gcc-4.6.3/libffi/src/powerpc/aix.S 2012-03-22 09:35:34.814561000 -0500 +@@ -1,5 +1,5 @@ + /* ----------------------------------------------------------------------- +- aix.S - Copyright (c) 2002,2009 Free Software Foundation, Inc. ++ aix.S - Copyright (c) 2002, 2009 Free Software Foundation, Inc. + based on darwin.S by John Hornkvist + + PowerPC Assembly glue. +@@ -79,6 +79,8 @@ + .set f20,20 + .set f21,21 + ++ .extern .ffi_prep_args ++ + #define LIBFFI_ASM + #include + #include +@@ -125,6 +127,7 @@ + /* Call ffi_prep_args. */ + mr r4, r1 + bl .ffi_prep_args ++ nop + + /* Now do the call. */ + ld r0, 0(r29) +@@ -226,6 +229,7 @@ + /* Call ffi_prep_args. */ + mr r4, r1 + bl .ffi_prep_args ++ nop + + /* Now do the call. */ + lwz r0, 0(r29) +diff -Naur gcc-4.6.3.orig/libffi/testsuite/Makefile.in gcc-4.6.3/libffi/testsuite/Makefile.in +--- gcc-4.6.3.orig/libffi/testsuite/Makefile.in 2010-04-02 13:18:06.000000000 -0500 ++++ gcc-4.6.3/libffi/testsuite/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -35,7 +35,7 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = testsuite +-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \ + $(top_srcdir)/../config/lead-dot.m4 \ +@@ -52,10 +52,8 @@ + CONFIG_CLEAN_FILES = + CONFIG_CLEAN_VPATH_FILES = + SOURCES = +-DIST_SOURCES = + DEJATOOL = $(PACKAGE) + RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ + ALLOCA = @ALLOCA@ + AMTAR = @AMTAR@ +@@ -278,37 +276,6 @@ + -l='$(DEJATOOL)'; for tool in $$l; do \ + rm -f $$tool.sum $$tool.log; \ + done +- +-distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done + check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU + check: check-am +@@ -410,8 +377,8 @@ + + .PHONY: all all-am check check-DEJAGNU check-am clean clean-generic \ + clean-libtool distclean distclean-DEJAGNU distclean-generic \ +- distclean-libtool distdir dvi dvi-am html html-am info info-am \ +- install install-am install-data install-data-am install-dvi \ ++ distclean-libtool dvi dvi-am html html-am info info-am install \ ++ install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ +diff -Naur gcc-4.6.3.orig/libgfortran/intrinsics/eoshift2.c gcc-4.6.3/libgfortran/intrinsics/eoshift2.c +--- gcc-4.6.3.orig/libgfortran/intrinsics/eoshift2.c 2009-07-19 10:07:21.000000000 -0500 ++++ gcc-4.6.3/libgfortran/intrinsics/eoshift2.c 2012-05-11 17:33:21.046165000 -0500 +@@ -77,6 +77,12 @@ + + ret->offset = 0; + ret->dtype = array->dtype; ++ ++ if (arraysize > 0) ++ ret->data = internal_malloc_size (size * arraysize); ++ else ++ ret->data = internal_malloc_size (1); ++ + for (i = 0; i < GFC_DESCRIPTOR_RANK (array); i++) + { + index_type ub, str; +@@ -90,12 +96,6 @@ + * GFC_DESCRIPTOR_STRIDE(ret,i-1); + + GFC_DIMENSION_SET(ret->dim[i], 0, ub, str); +- +- if (arraysize > 0) +- ret->data = internal_malloc_size (size * arraysize); +- else +- ret->data = internal_malloc_size (1); +- + } + } + else if (unlikely (compile_options.bounds_check)) +diff -Naur gcc-4.6.3.orig/libgfortran/runtime/environ.c gcc-4.6.3/libgfortran/runtime/environ.c +--- gcc-4.6.3.orig/libgfortran/runtime/environ.c 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libgfortran/runtime/environ.c 2012-10-21 08:43:32.465342000 -0500 +@@ -453,21 +453,35 @@ + { + int low, high, mid; + +- low = -1; +- high = n_elist; +- while (high - low > 1) ++ if (n_elist == 0) ++ { ++ *ip = 0; ++ return 0; ++ } ++ ++ low = 0; ++ high = n_elist - 1; ++ ++ do + { + mid = (low + high) / 2; +- if (unit <= elist[mid].unit) +- high = mid; ++ if (unit == elist[mid].unit) ++ { ++ *ip = mid; ++ return 1; ++ } ++ else if (unit > elist[mid].unit) ++ low = mid + 1; + else +- low = mid; +- } +- *ip = high; +- if (elist[high].unit == unit) +- return 1; ++ high = mid - 1; ++ } while (low <= high); ++ ++ if (unit > elist[mid].unit) ++ *ip = mid + 1; + else +- return 0; ++ *ip = mid; ++ ++ return 0; + } + + /* This matches a keyword. If it is found, return the token supplied, +@@ -582,13 +596,13 @@ + } + if (search_unit (unit, &i)) + { +- elist[unit].conv = endian; ++ elist[i].conv = endian; + } + else + { +- for (j=n_elist; j>=i; j--) ++ for (j=n_elist-1; j>=i; j--) + elist[j+1] = elist[j]; +- ++ + n_elist += 1; + elist[i].unit = unit; + elist[i].conv = endian; +diff -Naur gcc-4.6.3.orig/libgo/configure.ac gcc-4.6.3/libgo/configure.ac +--- gcc-4.6.3.orig/libgo/configure.ac 2011-02-20 22:17:20.000000000 -0600 ++++ gcc-4.6.3/libgo/configure.ac 2012-09-20 09:55:03.645689000 -0500 +@@ -19,7 +19,7 @@ + AC_CANONICAL_SYSTEM + target_alias=${target_alias-$host_alias} + +-AM_INIT_AUTOMAKE([1.9.3 no-define foreign -Wall]) ++AM_INIT_AUTOMAKE([1.9.3 no-define foreign no-dist -Wall]) + AH_TEMPLATE(PACKAGE, [Name of package]) + AH_TEMPLATE(VERSION, [Version number of package]) + +diff -Naur gcc-4.6.3.orig/libgo/Makefile.in gcc-4.6.3/libgo/Makefile.in +--- gcc-4.6.3.orig/libgo/Makefile.in 2011-03-10 19:00:15.000000000 -0600 ++++ gcc-4.6.3/libgo/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -46,12 +46,10 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = . +-DIST_COMMON = README $(am__configure_deps) $(srcdir)/../config.guess \ +- $(srcdir)/../config.sub $(srcdir)/../depcomp \ +- $(srcdir)/../install-sh $(srcdir)/../ltmain.sh \ +- $(srcdir)/../missing $(srcdir)/../mkinstalldirs \ +- $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ +- $(srcdir)/config.h.in $(top_srcdir)/configure ++DIST_COMMON = README $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ ++ $(top_srcdir)/configure $(am__configure_deps) \ ++ $(srcdir)/config.h.in $(srcdir)/../mkinstalldirs \ ++ $(srcdir)/../depcomp + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \ + $(top_srcdir)/../config/lead-dot.m4 \ +@@ -162,52 +160,6 @@ + libgo_la_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) +-am__libgo_la_SOURCES_DIST = runtime/go-append.c runtime/go-assert.c \ +- runtime/go-assert-interface.c \ +- runtime/go-byte-array-to-string.c runtime/go-breakpoint.c \ +- runtime/go-caller.c runtime/go-can-convert-interface.c \ +- runtime/go-cgo.c runtime/go-chan-cap.c runtime/go-chan-len.c \ +- runtime/go-check-interface.c runtime/go-close.c \ +- runtime/go-closed.c runtime/go-construct-map.c \ +- runtime/go-convert-interface.c runtime/go-copy.c \ +- runtime/go-defer.c runtime/go-deferred-recover.c \ +- runtime/go-eface-compare.c runtime/go-eface-val-compare.c \ +- runtime/go-getgoroot.c runtime/go-go.c runtime/go-gomaxprocs.c \ +- runtime/go-int-array-to-string.c runtime/go-int-to-string.c \ +- runtime/go-interface-compare.c \ +- runtime/go-interface-eface-compare.c \ +- runtime/go-interface-val-compare.c runtime/go-lock-os-thread.c \ +- runtime/go-map-delete.c runtime/go-map-index.c \ +- runtime/go-map-len.c runtime/go-map-range.c \ +- runtime/go-nanotime.c runtime/go-new-channel.c \ +- runtime/go-new-map.c runtime/go-new.c runtime/go-note.c \ +- runtime/go-panic.c runtime/go-panic-defer.c runtime/go-print.c \ +- runtime/go-rec-big.c runtime/go-rec-nb-big.c \ +- runtime/go-rec-nb-small.c runtime/go-rec-small.c \ +- runtime/go-recover.c runtime/go-reflect.c \ +- runtime/go-reflect-call.c runtime/go-reflect-chan.c \ +- runtime/go-reflect-map.c runtime/go-rune.c \ +- runtime/go-runtime-error.c runtime/go-sched.c \ +- runtime/go-select.c runtime/go-semacquire.c \ +- runtime/go-send-big.c runtime/go-send-nb-big.c \ +- runtime/go-send-nb-small.c runtime/go-send-small.c \ +- runtime/go-signal.c runtime/go-strcmp.c \ +- runtime/go-string-to-byte-array.c \ +- runtime/go-string-to-int-array.c runtime/go-strplus.c \ +- runtime/go-strslice.c runtime/go-trampoline.c \ +- runtime/go-type-eface.c runtime/go-type-error.c \ +- runtime/go-type-identity.c runtime/go-type-interface.c \ +- runtime/go-type-string.c runtime/go-typedesc-equal.c \ +- runtime/go-typestring.c runtime/go-unreflect.c \ +- runtime/go-unsafe-new.c runtime/go-unsafe-newarray.c \ +- runtime/go-unsafe-pointer.c runtime/go-unwind.c \ +- runtime/mcache.c runtime/mcentral.c \ +- runtime/mem_posix_memalign.c runtime/mem.c runtime/mfinal.c \ +- runtime/mfixalloc.c runtime/mgc0.c runtime/mheap.c \ +- runtime/mheapmap32.c runtime/mheapmap64.c runtime/msize.c \ +- runtime/proc.c runtime/thread.c \ +- runtime/rtems-task-variable-add.c chan.c iface.c malloc.c \ +- map.c mprof.c reflect.c sigqueue.c string.c + @HAVE_SYS_MMAN_H_FALSE@am__objects_1 = mem_posix_memalign.lo + @HAVE_SYS_MMAN_H_TRUE@am__objects_1 = mem.lo + @LIBGO_IS_RTEMS_TRUE@am__objects_2 = rtems-task-variable-add.lo +@@ -256,7 +208,6 @@ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ + SOURCES = $(libgobegin_a_SOURCES) $(libgo_la_SOURCES) +-DIST_SOURCES = $(libgobegin_a_SOURCES) $(am__libgo_la_SOURCES_DIST) + MULTISRCTOP = + MULTIBUILDTOP = + MULTIDIRS = +@@ -284,47 +235,10 @@ + RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive + AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ +- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ +- distdir dist dist-all distcheck ++ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS + ETAGS = etags + CTAGS = ctags + DIST_SUBDIRS = testsuite +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +-distdir = $(PACKAGE)-$(VERSION) +-top_distdir = $(distdir) +-am__remove_distdir = \ +- { test ! -d "$(distdir)" \ +- || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ +- && rm -fr "$(distdir)"; }; } +-am__relativize = \ +- dir0=`pwd`; \ +- sed_first='s,^\([^/]*\)/.*$$,\1,'; \ +- sed_rest='s,^[^/]*/*,,'; \ +- sed_last='s,^.*/\([^/]*\)$$,\1,'; \ +- sed_butlast='s,/*[^/]*$$,,'; \ +- while test -n "$$dir1"; do \ +- first=`echo "$$dir1" | sed -e "$$sed_first"`; \ +- if test "$$first" != "."; then \ +- if test "$$first" = ".."; then \ +- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ +- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ +- else \ +- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ +- if test "$$first2" = "$$first"; then \ +- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ +- else \ +- dir2="../$$dir2"; \ +- fi; \ +- dir0="$$dir0"/"$$first"; \ +- fi; \ +- fi; \ +- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ +- done; \ +- reldir="$$dir2" +-DIST_ARCHIVES = $(distdir).tar.gz +-GZIP_ENV = --best +-distuninstallcheck_listfiles = find . -type f -print +-distcleancheck_listfiles = find . -type f -print + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ + AR = @AR@ +@@ -3416,182 +3330,6 @@ + + distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +- +-distdir: $(DISTFILES) +- $(am__remove_distdir) +- test -d "$(distdir)" || mkdir "$(distdir)" +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done +- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ +- if test "$$subdir" = .; then :; else \ +- test -d "$(distdir)/$$subdir" \ +- || $(MKDIR_P) "$(distdir)/$$subdir" \ +- || exit 1; \ +- fi; \ +- done +- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ +- if test "$$subdir" = .; then :; else \ +- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ +- $(am__relativize); \ +- new_distdir=$$reldir; \ +- dir1=$$subdir; dir2="$(top_distdir)"; \ +- $(am__relativize); \ +- new_top_distdir=$$reldir; \ +- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ +- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ +- ($(am__cd) $$subdir && \ +- $(MAKE) $(AM_MAKEFLAGS) \ +- top_distdir="$$new_top_distdir" \ +- distdir="$$new_distdir" \ +- am__remove_distdir=: \ +- am__skip_length_check=: \ +- am__skip_mode_fix=: \ +- distdir) \ +- || exit 1; \ +- fi; \ +- done +- -test -n "$(am__skip_mode_fix)" \ +- || find "$(distdir)" -type d ! -perm -755 \ +- -exec chmod u+rwx,go+rx {} \; -o \ +- ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ +- ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ +- ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ +- || chmod -R a+r "$(distdir)" +-dist-gzip: distdir +- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz +- $(am__remove_distdir) +- +-dist-bzip2: distdir +- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 +- $(am__remove_distdir) +- +-dist-lzma: distdir +- tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma +- $(am__remove_distdir) +- +-dist-xz: distdir +- tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz +- $(am__remove_distdir) +- +-dist-tarZ: distdir +- tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z +- $(am__remove_distdir) +- +-dist-shar: distdir +- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz +- $(am__remove_distdir) +- +-dist-zip: distdir +- -rm -f $(distdir).zip +- zip -rq $(distdir).zip $(distdir) +- $(am__remove_distdir) +- +-dist dist-all: distdir +- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz +- $(am__remove_distdir) +- +-# This target untars the dist file and tries a VPATH configuration. Then +-# it guarantees that the distribution is self-contained by making another +-# tarfile. +-distcheck: dist +- case '$(DIST_ARCHIVES)' in \ +- *.tar.gz*) \ +- GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ +- *.tar.bz2*) \ +- bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ +- *.tar.lzma*) \ +- lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ +- *.tar.xz*) \ +- xz -dc $(distdir).tar.xz | $(am__untar) ;;\ +- *.tar.Z*) \ +- uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ +- *.shar.gz*) \ +- GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ +- *.zip*) \ +- unzip $(distdir).zip ;;\ +- esac +- chmod -R a-w $(distdir); chmod a+w $(distdir) +- mkdir $(distdir)/_build +- mkdir $(distdir)/_inst +- chmod a-w $(distdir) +- test -d $(distdir)/_build || exit 0; \ +- dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ +- && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ +- && am__cwd=`pwd` \ +- && $(am__cd) $(distdir)/_build \ +- && ../configure --srcdir=.. --prefix="$$dc_install_base" \ +- $(DISTCHECK_CONFIGURE_FLAGS) \ +- && $(MAKE) $(AM_MAKEFLAGS) \ +- && $(MAKE) $(AM_MAKEFLAGS) dvi \ +- && $(MAKE) $(AM_MAKEFLAGS) check \ +- && $(MAKE) $(AM_MAKEFLAGS) install \ +- && $(MAKE) $(AM_MAKEFLAGS) installcheck \ +- && $(MAKE) $(AM_MAKEFLAGS) uninstall \ +- && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ +- distuninstallcheck \ +- && chmod -R a-w "$$dc_install_base" \ +- && ({ \ +- (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ +- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ +- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ +- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ +- distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ +- } || { rm -rf "$$dc_destdir"; exit 1; }) \ +- && rm -rf "$$dc_destdir" \ +- && $(MAKE) $(AM_MAKEFLAGS) dist \ +- && rm -rf $(DIST_ARCHIVES) \ +- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ +- && cd "$$am__cwd" \ +- || exit 1 +- $(am__remove_distdir) +- @(echo "$(distdir) archives ready for distribution: "; \ +- list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ +- sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' +-distuninstallcheck: +- @$(am__cd) '$(distuninstallcheck_dir)' \ +- && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ +- || { echo "ERROR: files left after uninstall:" ; \ +- if test -n "$(DESTDIR)"; then \ +- echo " (check DESTDIR support)"; \ +- fi ; \ +- $(distuninstallcheck_listfiles) ; \ +- exit 1; } >&2 +-distcleancheck: distclean +- @if test '$(srcdir)' = . ; then \ +- echo "ERROR: distcleancheck can only run from a VPATH build" ; \ +- exit 1 ; \ +- fi +- @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ +- || { echo "ERROR: files left in build directory after distclean:" ; \ +- $(distcleancheck_listfiles) ; \ +- exit 1; } >&2 + check-am: all-am + check: check-recursive + all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) all-multi $(DATA) \ +@@ -3743,18 +3481,16 @@ + all all-am all-multi am--refresh check check-am clean \ + clean-generic clean-libtool clean-local clean-multi \ + clean-toolexeclibLIBRARIES clean-toolexeclibLTLIBRARIES ctags \ +- ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-lzma \ +- dist-shar dist-tarZ dist-xz dist-zip distcheck distclean \ +- distclean-compile distclean-generic distclean-hdr \ +- distclean-libtool distclean-multi distclean-tags \ +- distcleancheck distdir distuninstallcheck dvi dvi-am html \ +- html-am info info-am install install-am install-data \ +- install-data-am install-dvi install-dvi-am install-exec \ +- install-exec-am install-html install-html-am install-info \ +- install-info-am install-man install-multi install-pdf \ +- install-pdf-am install-ps install-ps-am install-strip \ +- install-toolexeclibLIBRARIES install-toolexeclibLTLIBRARIES \ +- install-toolexeclibgoDATA install-toolexeclibgoarchiveDATA \ ++ ctags-recursive distclean distclean-compile distclean-generic \ ++ distclean-hdr distclean-libtool distclean-multi distclean-tags \ ++ dvi dvi-am html html-am info info-am install install-am \ ++ install-data install-data-am install-dvi install-dvi-am \ ++ install-exec install-exec-am install-html install-html-am \ ++ install-info install-info-am install-man install-multi \ ++ install-pdf install-pdf-am install-ps install-ps-am \ ++ install-strip install-toolexeclibLIBRARIES \ ++ install-toolexeclibLTLIBRARIES install-toolexeclibgoDATA \ ++ install-toolexeclibgoarchiveDATA \ + install-toolexeclibgocompressDATA \ + install-toolexeclibgocontainerDATA \ + install-toolexeclibgocryptoDATA \ +diff -Naur gcc-4.6.3.orig/libgo/testsuite/Makefile.in gcc-4.6.3/libgo/testsuite/Makefile.in +--- gcc-4.6.3.orig/libgo/testsuite/Makefile.in 2011-01-24 17:42:22.000000000 -0600 ++++ gcc-4.6.3/libgo/testsuite/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -35,7 +35,7 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = testsuite +-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \ + $(top_srcdir)/../config/lead-dot.m4 \ +@@ -54,10 +54,8 @@ + CONFIG_CLEAN_FILES = + CONFIG_CLEAN_VPATH_FILES = + SOURCES = +-DIST_SOURCES = + DEJATOOL = $(PACKAGE) + RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ + AR = @AR@ +@@ -298,37 +296,6 @@ + -l='$(DEJATOOL)'; for tool in $$l; do \ + rm -f $$tool.sum $$tool.log; \ + done +- +-distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done + check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU + check: check-am +@@ -430,8 +397,8 @@ + + .PHONY: all all-am check check-DEJAGNU check-am clean clean-generic \ + clean-libtool distclean distclean-DEJAGNU distclean-generic \ +- distclean-libtool distdir dvi dvi-am html html-am info info-am \ +- install install-am install-data install-data-am install-dvi \ ++ distclean-libtool dvi dvi-am html html-am info info-am install \ ++ install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ +diff -Naur gcc-4.6.3.orig/libjava/classpath/configure.ac gcc-4.6.3/libjava/classpath/configure.ac +--- gcc-4.6.3.orig/libjava/classpath/configure.ac 2011-01-30 23:34:09.000000000 -0600 ++++ gcc-4.6.3/libjava/classpath/configure.ac 2012-09-20 09:55:03.645689000 -0500 +@@ -75,7 +75,7 @@ + AC_SUBST(CLASSPATH_CONVENIENCE) + + AC_PREREQ(2.64) +-AM_INIT_AUTOMAKE([1.9.0 gnu std-options tar-ustar -Wno-portability]) ++AM_INIT_AUTOMAKE([1.9.0 gnu std-options tar-ustar no-dist -Wno-portability]) + AC_CONFIG_HEADERS([include/config.h]) + AC_PREFIX_DEFAULT(/usr/local/classpath) + +diff -Naur gcc-4.6.3.orig/libjava/classpath/doc/api/Makefile.in gcc-4.6.3/libjava/classpath/doc/api/Makefile.in +--- gcc-4.6.3.orig/libjava/classpath/doc/api/Makefile.in 2010-10-12 10:55:12.000000000 -0500 ++++ gcc-4.6.3/libjava/classpath/doc/api/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -36,7 +36,7 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = doc/api +-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ + $(top_srcdir)/../../config/lead-dot.m4 \ +@@ -69,9 +69,7 @@ + CONFIG_CLEAN_FILES = + CONFIG_CLEAN_VPATH_FILES = + SOURCES = +-DIST_SOURCES = + DATA = $(noinst_DATA) +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ + ANTLR = @ANTLR@ +@@ -330,37 +328,6 @@ + ctags: CTAGS + CTAGS: + +- +-distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done + check-am: all-am + check: check-am + all-am: Makefile $(DATA) +@@ -459,16 +426,16 @@ + .MAKE: install-am install-strip + + .PHONY: all all-am check check-am clean clean-generic clean-libtool \ +- clean-local distclean distclean-generic distclean-libtool \ +- distdir dvi dvi-am html html-am info info-am install \ +- install-am install-data install-data-am install-data-local \ +- install-dvi install-dvi-am install-exec install-exec-am \ +- install-html install-html-am install-info install-info-am \ +- install-man install-pdf install-pdf-am install-ps \ +- install-ps-am install-strip installcheck installcheck-am \ +- installdirs maintainer-clean maintainer-clean-generic \ +- mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ +- ps ps-am uninstall uninstall-am uninstall-local ++ clean-local distclean distclean-generic distclean-libtool dvi \ ++ dvi-am html html-am info info-am install install-am \ ++ install-data install-data-am install-data-local install-dvi \ ++ install-dvi-am install-exec install-exec-am install-html \ ++ install-html-am install-info install-info-am install-man \ ++ install-pdf install-pdf-am install-ps install-ps-am \ ++ install-strip installcheck installcheck-am installdirs \ ++ maintainer-clean maintainer-clean-generic mostlyclean \ ++ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ ++ uninstall uninstall-am uninstall-local + + + @CREATE_API_DOCS_TRUE@install-data-local: +diff -Naur gcc-4.6.3.orig/libjava/classpath/doc/Makefile.in gcc-4.6.3/libjava/classpath/doc/Makefile.in +--- gcc-4.6.3.orig/libjava/classpath/doc/Makefile.in 2010-10-12 10:55:12.000000000 -0500 ++++ gcc-4.6.3/libjava/classpath/doc/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -35,7 +35,7 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = doc +-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in texinfo.tex ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ + $(top_srcdir)/../../config/lead-dot.m4 \ +@@ -68,7 +68,6 @@ + CONFIG_CLEAN_FILES = + CONFIG_CLEAN_VPATH_FILES = + SOURCES = +-DIST_SOURCES = + INFO_DEPS = cp-tools.info + am__TEXINFO_TEX_DIR = $(srcdir)/../../gcc/doc/include + DVIS = cp-tools.dvi +@@ -116,37 +115,10 @@ + RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive + AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ +- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ +- distdir ++ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS + ETAGS = etags + CTAGS = ctags + DIST_SUBDIRS = $(SUBDIRS) +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +-am__relativize = \ +- dir0=`pwd`; \ +- sed_first='s,^\([^/]*\)/.*$$,\1,'; \ +- sed_rest='s,^[^/]*/*,,'; \ +- sed_last='s,^.*/\([^/]*\)$$,\1,'; \ +- sed_butlast='s,/*[^/]*$$,,'; \ +- while test -n "$$dir1"; do \ +- first=`echo "$$dir1" | sed -e "$$sed_first"`; \ +- if test "$$first" != "."; then \ +- if test "$$first" = ".."; then \ +- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ +- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ +- else \ +- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ +- if test "$$first2" = "$$first"; then \ +- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ +- else \ +- dir2="../$$dir2"; \ +- fi; \ +- dir0="$$dir0"/"$$first"; \ +- fi; \ +- fi; \ +- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ +- done; \ +- reldir="$$dir2" + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ + ANTLR = @ANTLR@ +@@ -756,81 +728,6 @@ + + distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +- +-distdir: $(DISTFILES) +- @list='$(MANS)'; if test -n "$$list"; then \ +- list=`for p in $$list; do \ +- if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ +- if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \ +- if test -n "$$list" && \ +- grep 'ab help2man is required to generate this page' $$list >/dev/null; then \ +- echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \ +- grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \ +- echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \ +- echo " typically \`make maintainer-clean' will remove them" >&2; \ +- exit 1; \ +- else :; fi; \ +- else :; fi +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done +- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ +- if test "$$subdir" = .; then :; else \ +- test -d "$(distdir)/$$subdir" \ +- || $(MKDIR_P) "$(distdir)/$$subdir" \ +- || exit 1; \ +- fi; \ +- done +- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ +- if test "$$subdir" = .; then :; else \ +- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ +- $(am__relativize); \ +- new_distdir=$$reldir; \ +- dir1=$$subdir; dir2="$(top_distdir)"; \ +- $(am__relativize); \ +- new_top_distdir=$$reldir; \ +- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ +- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ +- ($(am__cd) $$subdir && \ +- $(MAKE) $(AM_MAKEFLAGS) \ +- top_distdir="$$new_top_distdir" \ +- distdir="$$new_distdir" \ +- am__remove_distdir=: \ +- am__skip_length_check=: \ +- am__skip_mode_fix=: \ +- distdir) \ +- || exit 1; \ +- fi; \ +- done +- $(MAKE) $(AM_MAKEFLAGS) \ +- top_distdir="$(top_distdir)" distdir="$(distdir)" \ +- dist-info + check-am: all-am + check: check-recursive + all-am: Makefile $(INFO_DEPS) $(MANS) all-local +@@ -1020,18 +917,18 @@ + all all-am all-local check check-am clean clean-aminfo \ + clean-generic clean-libtool ctags ctags-recursive dist-info \ + distclean distclean-generic distclean-libtool distclean-tags \ +- distdir dvi dvi-am html html-am info info-am install \ +- install-am install-data install-data-am install-dvi \ +- install-dvi-am install-exec install-exec-am install-html \ +- install-html-am install-info install-info-am install-man \ +- install-man1 install-pdf install-pdf-am install-ps \ +- install-ps-am install-strip installcheck installcheck-am \ +- installdirs installdirs-am maintainer-clean \ +- maintainer-clean-aminfo maintainer-clean-generic mostlyclean \ +- mostlyclean-aminfo mostlyclean-generic mostlyclean-libtool pdf \ +- pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ +- uninstall-dvi-am uninstall-html-am uninstall-info-am \ +- uninstall-man uninstall-man1 uninstall-pdf-am uninstall-ps-am ++ dvi dvi-am html html-am info info-am install install-am \ ++ install-data install-data-am install-dvi install-dvi-am \ ++ install-exec install-exec-am install-html install-html-am \ ++ install-info install-info-am install-man install-man1 \ ++ install-pdf install-pdf-am install-ps install-ps-am \ ++ install-strip installcheck installcheck-am installdirs \ ++ installdirs-am maintainer-clean maintainer-clean-aminfo \ ++ maintainer-clean-generic mostlyclean mostlyclean-aminfo \ ++ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ ++ tags tags-recursive uninstall uninstall-am uninstall-dvi-am \ ++ uninstall-html-am uninstall-info-am uninstall-man \ ++ uninstall-man1 uninstall-pdf-am uninstall-ps-am + + + .texinfo.dvi: +diff -Naur gcc-4.6.3.orig/libjava/classpath/examples/Makefile.in gcc-4.6.3/libjava/classpath/examples/Makefile.in +--- gcc-4.6.3.orig/libjava/classpath/examples/Makefile.in 2010-10-12 10:55:12.000000000 -0500 ++++ gcc-4.6.3/libjava/classpath/examples/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -36,8 +36,8 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = examples +-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ +- $(srcdir)/Makefile.java2d.in $(srcdir)/Makefile.jawt.in ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ ++ $(srcdir)/Makefile.jawt.in $(srcdir)/Makefile.java2d.in + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ + $(top_srcdir)/../../config/lead-dot.m4 \ +@@ -70,7 +70,6 @@ + CONFIG_CLEAN_FILES = Makefile.jawt Makefile.java2d + CONFIG_CLEAN_VPATH_FILES = + SOURCES = +-DIST_SOURCES = + am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; + am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ +@@ -94,7 +93,6 @@ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' + am__installdirs = "$(DESTDIR)$(exampledir)" + DATA = $(example_DATA) +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ + ANTLR = @ANTLR@ +@@ -419,40 +417,6 @@ + ctags: CTAGS + CTAGS: + +- +-distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done +- $(MAKE) $(AM_MAKEFLAGS) \ +- top_distdir="$(top_distdir)" distdir="$(distdir)" \ +- dist-hook + check-am: all-am + check: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) check-am +@@ -557,17 +521,17 @@ + .MAKE: all check install install-am install-strip + + .PHONY: all all-am check check-am clean clean-generic clean-libtool \ +- clean-local dist-hook distclean distclean-generic \ +- distclean-libtool distdir dvi dvi-am html html-am info info-am \ +- install install-am install-data install-data-am \ +- install-data-local install-dvi install-dvi-am \ +- install-exampleDATA install-exec install-exec-am install-html \ +- install-html-am install-info install-info-am install-man \ +- install-pdf install-pdf-am install-ps install-ps-am \ +- install-strip installcheck installcheck-am installdirs \ +- maintainer-clean maintainer-clean-generic mostlyclean \ +- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ +- uninstall uninstall-am uninstall-exampleDATA uninstall-local ++ clean-local distclean distclean-generic distclean-libtool dvi \ ++ dvi-am html html-am info info-am install install-am \ ++ install-data install-data-am install-data-local install-dvi \ ++ install-dvi-am install-exampleDATA install-exec \ ++ install-exec-am install-html install-html-am install-info \ ++ install-info-am install-man install-pdf install-pdf-am \ ++ install-ps install-ps-am install-strip installcheck \ ++ installcheck-am installdirs maintainer-clean \ ++ maintainer-clean-generic mostlyclean mostlyclean-generic \ ++ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ ++ uninstall-exampleDATA uninstall-local + + + # Make sure all sources and icons are also installed so users can use them. +diff -Naur gcc-4.6.3.orig/libjava/classpath/external/jsr166/Makefile.in gcc-4.6.3/libjava/classpath/external/jsr166/Makefile.in +--- gcc-4.6.3.orig/libjava/classpath/external/jsr166/Makefile.in 2010-10-12 10:55:12.000000000 -0500 ++++ gcc-4.6.3/libjava/classpath/external/jsr166/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -35,7 +35,7 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = external/jsr166 +-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ + $(top_srcdir)/../../config/lead-dot.m4 \ +@@ -68,8 +68,6 @@ + CONFIG_CLEAN_FILES = + CONFIG_CLEAN_VPATH_FILES = + SOURCES = +-DIST_SOURCES = +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ + ANTLR = @ANTLR@ +@@ -398,37 +396,6 @@ + ctags: CTAGS + CTAGS: + +- +-distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done + check-am: all-am + check: check-am + all-am: Makefile +@@ -527,13 +494,13 @@ + .MAKE: install-am install-strip + + .PHONY: all all-am check check-am clean clean-generic clean-libtool \ +- distclean distclean-generic distclean-libtool distdir dvi \ +- dvi-am html html-am info info-am install install-am \ +- install-data install-data-am install-dvi install-dvi-am \ +- install-exec install-exec-am install-html install-html-am \ +- install-info install-info-am install-man install-pdf \ +- install-pdf-am install-ps install-ps-am install-strip \ +- installcheck installcheck-am installdirs maintainer-clean \ ++ distclean distclean-generic distclean-libtool dvi dvi-am html \ ++ html-am info info-am install install-am install-data \ ++ install-data-am install-dvi install-dvi-am install-exec \ ++ install-exec-am install-html install-html-am install-info \ ++ install-info-am install-man install-pdf install-pdf-am \ ++ install-ps install-ps-am install-strip installcheck \ ++ installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am + +diff -Naur gcc-4.6.3.orig/libjava/classpath/external/Makefile.in gcc-4.6.3/libjava/classpath/external/Makefile.in +--- gcc-4.6.3.orig/libjava/classpath/external/Makefile.in 2010-10-12 10:55:12.000000000 -0500 ++++ gcc-4.6.3/libjava/classpath/external/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -35,7 +35,7 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = external +-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ + $(top_srcdir)/../../config/lead-dot.m4 \ +@@ -68,7 +68,6 @@ + CONFIG_CLEAN_FILES = + CONFIG_CLEAN_VPATH_FILES = + SOURCES = +-DIST_SOURCES = + RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ +@@ -79,37 +78,10 @@ + RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive + AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ +- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ +- distdir ++ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS + ETAGS = etags + CTAGS = ctags + DIST_SUBDIRS = $(SUBDIRS) +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +-am__relativize = \ +- dir0=`pwd`; \ +- sed_first='s,^\([^/]*\)/.*$$,\1,'; \ +- sed_rest='s,^[^/]*/*,,'; \ +- sed_last='s,^.*/\([^/]*\)$$,\1,'; \ +- sed_butlast='s,/*[^/]*$$,,'; \ +- while test -n "$$dir1"; do \ +- first=`echo "$$dir1" | sed -e "$$sed_first"`; \ +- if test "$$first" != "."; then \ +- if test "$$first" = ".."; then \ +- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ +- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ +- else \ +- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ +- if test "$$first2" = "$$first"; then \ +- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ +- else \ +- dir2="../$$dir2"; \ +- fi; \ +- dir0="$$dir0"/"$$first"; \ +- fi; \ +- fi; \ +- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ +- done; \ +- reldir="$$dir2" + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ + ANTLR = @ANTLR@ +@@ -496,65 +468,6 @@ + + distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +- +-distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done +- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ +- if test "$$subdir" = .; then :; else \ +- test -d "$(distdir)/$$subdir" \ +- || $(MKDIR_P) "$(distdir)/$$subdir" \ +- || exit 1; \ +- fi; \ +- done +- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ +- if test "$$subdir" = .; then :; else \ +- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ +- $(am__relativize); \ +- new_distdir=$$reldir; \ +- dir1=$$subdir; dir2="$(top_distdir)"; \ +- $(am__relativize); \ +- new_top_distdir=$$reldir; \ +- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ +- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ +- ($(am__cd) $$subdir && \ +- $(MAKE) $(AM_MAKEFLAGS) \ +- top_distdir="$$new_top_distdir" \ +- distdir="$$new_distdir" \ +- am__remove_distdir=: \ +- am__skip_length_check=: \ +- am__skip_mode_fix=: \ +- distdir) \ +- || exit 1; \ +- fi; \ +- done + check-am: all-am + check: check-recursive + all-am: Makefile +@@ -657,13 +570,13 @@ + .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am clean clean-generic clean-libtool \ + ctags ctags-recursive distclean distclean-generic \ +- distclean-libtool distclean-tags distdir dvi dvi-am html \ +- html-am info info-am install install-am install-data \ +- install-data-am install-dvi install-dvi-am install-exec \ +- install-exec-am install-html install-html-am install-info \ +- install-info-am install-man install-pdf install-pdf-am \ +- install-ps install-ps-am install-strip installcheck \ +- installcheck-am installdirs installdirs-am maintainer-clean \ ++ distclean-libtool distclean-tags dvi dvi-am html html-am info \ ++ info-am install install-am install-data install-data-am \ ++ install-dvi install-dvi-am install-exec install-exec-am \ ++ install-html install-html-am install-info install-info-am \ ++ install-man install-pdf install-pdf-am install-ps \ ++ install-ps-am install-strip installcheck installcheck-am \ ++ installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ + uninstall uninstall-am +diff -Naur gcc-4.6.3.orig/libjava/classpath/external/relaxngDatatype/Makefile.in gcc-4.6.3/libjava/classpath/external/relaxngDatatype/Makefile.in +--- gcc-4.6.3.orig/libjava/classpath/external/relaxngDatatype/Makefile.in 2010-10-12 10:55:12.000000000 -0500 ++++ gcc-4.6.3/libjava/classpath/external/relaxngDatatype/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -35,7 +35,7 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = external/relaxngDatatype +-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ + $(top_srcdir)/../../config/lead-dot.m4 \ +@@ -68,8 +68,6 @@ + CONFIG_CLEAN_FILES = + CONFIG_CLEAN_VPATH_FILES = + SOURCES = +-DIST_SOURCES = +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ + ANTLR = @ANTLR@ +@@ -338,37 +336,6 @@ + ctags: CTAGS + CTAGS: + +- +-distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done + check-am: all-am + check: check-am + all-am: Makefile +@@ -467,13 +434,13 @@ + .MAKE: install-am install-strip + + .PHONY: all all-am check check-am clean clean-generic clean-libtool \ +- distclean distclean-generic distclean-libtool distdir dvi \ +- dvi-am html html-am info info-am install install-am \ +- install-data install-data-am install-dvi install-dvi-am \ +- install-exec install-exec-am install-html install-html-am \ +- install-info install-info-am install-man install-pdf \ +- install-pdf-am install-ps install-ps-am install-strip \ +- installcheck installcheck-am installdirs maintainer-clean \ ++ distclean distclean-generic distclean-libtool dvi dvi-am html \ ++ html-am info info-am install install-am install-data \ ++ install-data-am install-dvi install-dvi-am install-exec \ ++ install-exec-am install-html install-html-am install-info \ ++ install-info-am install-man install-pdf install-pdf-am \ ++ install-ps install-ps-am install-strip installcheck \ ++ installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am + +diff -Naur gcc-4.6.3.orig/libjava/classpath/external/sax/Makefile.in gcc-4.6.3/libjava/classpath/external/sax/Makefile.in +--- gcc-4.6.3.orig/libjava/classpath/external/sax/Makefile.in 2010-10-12 10:55:12.000000000 -0500 ++++ gcc-4.6.3/libjava/classpath/external/sax/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -35,7 +35,7 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = external/sax +-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ + $(top_srcdir)/../../config/lead-dot.m4 \ +@@ -68,8 +68,6 @@ + CONFIG_CLEAN_FILES = + CONFIG_CLEAN_VPATH_FILES = + SOURCES = +-DIST_SOURCES = +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ + ANTLR = @ANTLR@ +@@ -366,37 +364,6 @@ + ctags: CTAGS + CTAGS: + +- +-distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done + check-am: all-am + check: check-am + all-am: Makefile +@@ -495,13 +462,13 @@ + .MAKE: install-am install-strip + + .PHONY: all all-am check check-am clean clean-generic clean-libtool \ +- distclean distclean-generic distclean-libtool distdir dvi \ +- dvi-am html html-am info info-am install install-am \ +- install-data install-data-am install-dvi install-dvi-am \ +- install-exec install-exec-am install-html install-html-am \ +- install-info install-info-am install-man install-pdf \ +- install-pdf-am install-ps install-ps-am install-strip \ +- installcheck installcheck-am installdirs maintainer-clean \ ++ distclean distclean-generic distclean-libtool dvi dvi-am html \ ++ html-am info info-am install install-am install-data \ ++ install-data-am install-dvi install-dvi-am install-exec \ ++ install-exec-am install-html install-html-am install-info \ ++ install-info-am install-man install-pdf install-pdf-am \ ++ install-ps install-ps-am install-strip installcheck \ ++ installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am + +diff -Naur gcc-4.6.3.orig/libjava/classpath/external/w3c_dom/Makefile.in gcc-4.6.3/libjava/classpath/external/w3c_dom/Makefile.in +--- gcc-4.6.3.orig/libjava/classpath/external/w3c_dom/Makefile.in 2010-10-12 10:55:12.000000000 -0500 ++++ gcc-4.6.3/libjava/classpath/external/w3c_dom/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -35,7 +35,7 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = external/w3c_dom +-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ + $(top_srcdir)/../../config/lead-dot.m4 \ +@@ -68,8 +68,6 @@ + CONFIG_CLEAN_FILES = + CONFIG_CLEAN_VPATH_FILES = + SOURCES = +-DIST_SOURCES = +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ + ANTLR = @ANTLR@ +@@ -473,37 +471,6 @@ + ctags: CTAGS + CTAGS: + +- +-distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done + check-am: all-am + check: check-am + all-am: Makefile +@@ -602,13 +569,13 @@ + .MAKE: install-am install-strip + + .PHONY: all all-am check check-am clean clean-generic clean-libtool \ +- distclean distclean-generic distclean-libtool distdir dvi \ +- dvi-am html html-am info info-am install install-am \ +- install-data install-data-am install-dvi install-dvi-am \ +- install-exec install-exec-am install-html install-html-am \ +- install-info install-info-am install-man install-pdf \ +- install-pdf-am install-ps install-ps-am install-strip \ +- installcheck installcheck-am installdirs maintainer-clean \ ++ distclean distclean-generic distclean-libtool dvi dvi-am html \ ++ html-am info info-am install install-am install-data \ ++ install-data-am install-dvi install-dvi-am install-exec \ ++ install-exec-am install-html install-html-am install-info \ ++ install-info-am install-man install-pdf install-pdf-am \ ++ install-ps install-ps-am install-strip installcheck \ ++ installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am + +diff -Naur gcc-4.6.3.orig/libjava/classpath/include/Makefile.in gcc-4.6.3/libjava/classpath/include/Makefile.in +--- gcc-4.6.3.orig/libjava/classpath/include/Makefile.in 2010-10-12 10:55:12.000000000 -0500 ++++ gcc-4.6.3/libjava/classpath/include/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -35,7 +35,7 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = include +-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(srcdir)/config.h.in + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ +@@ -69,8 +69,6 @@ + CONFIG_CLEAN_FILES = + CONFIG_CLEAN_VPATH_FILES = + SOURCES = +-DIST_SOURCES = +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ + ANTLR = @ANTLR@ +@@ -500,37 +498,6 @@ + ctags: CTAGS + CTAGS: + +- +-distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done + check-am: all-am + check: check-am + @CREATE_JNI_HEADERS_FALSE@all-local: +@@ -632,8 +599,8 @@ + + .PHONY: all all-am all-local check check-am clean clean-generic \ + clean-libtool distclean distclean-generic distclean-hdr \ +- distclean-libtool distdir dvi dvi-am html html-am info info-am \ +- install install-am install-data install-data-am install-dvi \ ++ distclean-libtool dvi dvi-am html html-am info info-am install \ ++ install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ +diff -Naur gcc-4.6.3.orig/libjava/classpath/lib/Makefile.in gcc-4.6.3/libjava/classpath/lib/Makefile.in +--- gcc-4.6.3.orig/libjava/classpath/lib/Makefile.in 2010-10-12 10:55:12.000000000 -0500 ++++ gcc-4.6.3/libjava/classpath/lib/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -36,9 +36,9 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = lib +-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ +- $(srcdir)/copy-vmresources.sh.in $(srcdir)/gen-classlist.sh.in \ +- $(srcdir)/mkcollections.pl.in ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ ++ $(srcdir)/mkcollections.pl.in $(srcdir)/gen-classlist.sh.in \ ++ $(srcdir)/copy-vmresources.sh.in + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ + $(top_srcdir)/../../config/lead-dot.m4 \ +@@ -72,9 +72,7 @@ + copy-vmresources.sh + CONFIG_CLEAN_VPATH_FILES = + SOURCES = +-DIST_SOURCES = + DATA = $(noinst_DATA) +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ + ANTLR = @ANTLR@ +@@ -356,40 +354,6 @@ + ctags: CTAGS + CTAGS: + +- +-distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done +- $(MAKE) $(AM_MAKEFLAGS) \ +- top_distdir="$(top_distdir)" distdir="$(distdir)" \ +- dist-hook + check-am: all-am + check: check-am + all-am: Makefile $(DATA) +@@ -492,17 +456,16 @@ + .MAKE: install-am install-strip + + .PHONY: all all-am check check-am clean clean-generic clean-libtool \ +- clean-local dist-hook distclean distclean-generic \ +- distclean-libtool distdir dvi dvi-am html html-am info info-am \ +- install install-am install-data install-data-am \ +- install-data-local install-dvi install-dvi-am install-exec \ +- install-exec-am install-html install-html-am install-info \ +- install-info-am install-man install-pdf install-pdf-am \ +- install-ps install-ps-am install-strip installcheck \ +- installcheck-am installdirs maintainer-clean \ +- maintainer-clean-generic mostlyclean mostlyclean-generic \ +- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ +- uninstall-local ++ clean-local distclean distclean-generic distclean-libtool dvi \ ++ dvi-am html html-am info info-am install install-am \ ++ install-data install-data-am install-data-local install-dvi \ ++ install-dvi-am install-exec install-exec-am install-html \ ++ install-html-am install-info install-info-am install-man \ ++ install-pdf install-pdf-am install-ps install-ps-am \ ++ install-strip installcheck installcheck-am installdirs \ ++ maintainer-clean maintainer-clean-generic mostlyclean \ ++ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ ++ uninstall uninstall-am uninstall-local + + + sinclude $(JAVA_DEPEND) +diff -Naur gcc-4.6.3.orig/libjava/classpath/Makefile.in gcc-4.6.3/libjava/classpath/Makefile.in +--- gcc-4.6.3.orig/libjava/classpath/Makefile.in 2010-10-12 10:55:12.000000000 -0500 ++++ gcc-4.6.3/libjava/classpath/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -35,25 +35,15 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = . +-DIST_COMMON = README $(am__configure_deps) $(srcdir)/../../compile \ +- $(srcdir)/../../config.guess $(srcdir)/../../config.sub \ +- $(srcdir)/../../install-sh $(srcdir)/../../ltmain.sh \ +- $(srcdir)/../../missing $(srcdir)/../../mkinstalldirs \ +- $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ +- $(top_srcdir)/configure \ ++DIST_COMMON = INSTALL NEWS README AUTHORS ChangeLog \ ++ $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ ++ $(top_srcdir)/configure $(am__configure_deps) \ ++ $(srcdir)/../../mkinstalldirs \ + $(top_srcdir)/gnu/classpath/Configuration.java.in \ + $(top_srcdir)/gnu/java/security/Configuration.java.in \ + $(top_srcdir)/resource/META-INF/services/java.util.prefs.PreferencesFactory.in \ + $(top_srcdir)/resource/META-INF/services/javax.sound.sampled.spi.AudioFileReader.in \ +- $(top_srcdir)/resource/META-INF/services/javax.sound.sampled.spi.MixerProvider.in \ +- ../../ABOUT-NLS ../../COPYING ../../COPYING.LIB \ +- ../../ChangeLog ../../README ../../compile ../../config.guess \ +- ../../config.rpath ../../config.sub ../../depcomp \ +- ../../install-sh ../../ltmain.sh ../../missing \ +- ../../mkinstalldirs ../../ylwrap AUTHORS COPYING ChangeLog \ +- INSTALL NEWS TODO compile config.guess config.rpath config.sub \ +- depcomp install-sh ltcf-c.sh ltcf-cxx.sh ltcf-gcj.sh ltconfig \ +- ltmain.sh missing mkinstalldirs ++ $(top_srcdir)/resource/META-INF/services/javax.sound.sampled.spi.MixerProvider.in + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ + $(top_srcdir)/../../config/lead-dot.m4 \ +@@ -92,7 +82,6 @@ + resource/META-INF/services/javax.sound.sampled.spi.MixerProvider + CONFIG_CLEAN_VPATH_FILES = + SOURCES = +-DIST_SOURCES = + MULTISRCTOP = + MULTIBUILDTOP = + MULTIDIRS = +@@ -109,46 +98,9 @@ + RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive + AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ +- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ +- distdir dist dist-all distcheck ++ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS + ETAGS = etags + CTAGS = ctags +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +-distdir = $(PACKAGE)-$(VERSION) +-top_distdir = $(distdir) +-am__remove_distdir = \ +- { test ! -d "$(distdir)" \ +- || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ +- && rm -fr "$(distdir)"; }; } +-am__relativize = \ +- dir0=`pwd`; \ +- sed_first='s,^\([^/]*\)/.*$$,\1,'; \ +- sed_rest='s,^[^/]*/*,,'; \ +- sed_last='s,^.*/\([^/]*\)$$,\1,'; \ +- sed_butlast='s,/*[^/]*$$,,'; \ +- while test -n "$$dir1"; do \ +- first=`echo "$$dir1" | sed -e "$$sed_first"`; \ +- if test "$$first" != "."; then \ +- if test "$$first" = ".."; then \ +- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ +- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ +- else \ +- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ +- if test "$$first2" = "$$first"; then \ +- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ +- else \ +- dir2="../$$dir2"; \ +- fi; \ +- dir0="$$dir0"/"$$first"; \ +- fi; \ +- fi; \ +- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ +- done; \ +- reldir="$$dir2" +-DIST_ARCHIVES = $(distdir).tar.gz +-GZIP_ENV = --best +-distuninstallcheck_listfiles = find . -type f -print +-distcleancheck_listfiles = find . -type f -print + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ + ANTLR = @ANTLR@ +@@ -582,185 +534,6 @@ + + distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +- +-distdir: $(DISTFILES) +- $(am__remove_distdir) +- test -d "$(distdir)" || mkdir "$(distdir)" +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done +- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ +- if test "$$subdir" = .; then :; else \ +- test -d "$(distdir)/$$subdir" \ +- || $(MKDIR_P) "$(distdir)/$$subdir" \ +- || exit 1; \ +- fi; \ +- done +- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ +- if test "$$subdir" = .; then :; else \ +- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ +- $(am__relativize); \ +- new_distdir=$$reldir; \ +- dir1=$$subdir; dir2="$(top_distdir)"; \ +- $(am__relativize); \ +- new_top_distdir=$$reldir; \ +- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ +- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ +- ($(am__cd) $$subdir && \ +- $(MAKE) $(AM_MAKEFLAGS) \ +- top_distdir="$$new_top_distdir" \ +- distdir="$$new_distdir" \ +- am__remove_distdir=: \ +- am__skip_length_check=: \ +- am__skip_mode_fix=: \ +- distdir) \ +- || exit 1; \ +- fi; \ +- done +- $(MAKE) $(AM_MAKEFLAGS) \ +- top_distdir="$(top_distdir)" distdir="$(distdir)" \ +- dist-hook +- -test -n "$(am__skip_mode_fix)" \ +- || find "$(distdir)" -type d ! -perm -755 \ +- -exec chmod u+rwx,go+rx {} \; -o \ +- ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ +- ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ +- ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ +- || chmod -R a+r "$(distdir)" +-dist-gzip: distdir +- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz +- $(am__remove_distdir) +- +-dist-bzip2: distdir +- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 +- $(am__remove_distdir) +- +-dist-lzma: distdir +- tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma +- $(am__remove_distdir) +- +-dist-xz: distdir +- tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz +- $(am__remove_distdir) +- +-dist-tarZ: distdir +- tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z +- $(am__remove_distdir) +- +-dist-shar: distdir +- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz +- $(am__remove_distdir) +- +-dist-zip: distdir +- -rm -f $(distdir).zip +- zip -rq $(distdir).zip $(distdir) +- $(am__remove_distdir) +- +-dist dist-all: distdir +- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz +- $(am__remove_distdir) +- +-# This target untars the dist file and tries a VPATH configuration. Then +-# it guarantees that the distribution is self-contained by making another +-# tarfile. +-distcheck: dist +- case '$(DIST_ARCHIVES)' in \ +- *.tar.gz*) \ +- GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ +- *.tar.bz2*) \ +- bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ +- *.tar.lzma*) \ +- lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ +- *.tar.xz*) \ +- xz -dc $(distdir).tar.xz | $(am__untar) ;;\ +- *.tar.Z*) \ +- uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ +- *.shar.gz*) \ +- GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ +- *.zip*) \ +- unzip $(distdir).zip ;;\ +- esac +- chmod -R a-w $(distdir); chmod a+w $(distdir) +- mkdir $(distdir)/_build +- mkdir $(distdir)/_inst +- chmod a-w $(distdir) +- test -d $(distdir)/_build || exit 0; \ +- dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ +- && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ +- && am__cwd=`pwd` \ +- && $(am__cd) $(distdir)/_build \ +- && ../configure --srcdir=.. --prefix="$$dc_install_base" \ +- $(DISTCHECK_CONFIGURE_FLAGS) \ +- && $(MAKE) $(AM_MAKEFLAGS) \ +- && $(MAKE) $(AM_MAKEFLAGS) dvi \ +- && $(MAKE) $(AM_MAKEFLAGS) check \ +- && $(MAKE) $(AM_MAKEFLAGS) install \ +- && $(MAKE) $(AM_MAKEFLAGS) installcheck \ +- && $(MAKE) $(AM_MAKEFLAGS) uninstall \ +- && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ +- distuninstallcheck \ +- && chmod -R a-w "$$dc_install_base" \ +- && ({ \ +- (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ +- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ +- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ +- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ +- distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ +- } || { rm -rf "$$dc_destdir"; exit 1; }) \ +- && rm -rf "$$dc_destdir" \ +- && $(MAKE) $(AM_MAKEFLAGS) dist \ +- && rm -rf $(DIST_ARCHIVES) \ +- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ +- && cd "$$am__cwd" \ +- || exit 1 +- $(am__remove_distdir) +- @(echo "$(distdir) archives ready for distribution: "; \ +- list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ +- sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' +-distuninstallcheck: +- @$(am__cd) '$(distuninstallcheck_dir)' \ +- && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ +- || { echo "ERROR: files left after uninstall:" ; \ +- if test -n "$(DESTDIR)"; then \ +- echo " (check DESTDIR support)"; \ +- fi ; \ +- $(distuninstallcheck_listfiles) ; \ +- exit 1; } >&2 +-distcleancheck: distclean +- @if test '$(srcdir)' = . ; then \ +- echo "ERROR: distcleancheck can only run from a VPATH build" ; \ +- exit 1 ; \ +- fi +- @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ +- || { echo "ERROR: files left in build directory after distclean:" ; \ +- $(distcleancheck_listfiles) ; \ +- exit 1; } >&2 + check-am: all-am + check: check-recursive + all-am: Makefile all-multi +@@ -869,20 +642,17 @@ + .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am all-multi am--refresh check check-am clean \ + clean-generic clean-libtool clean-multi ctags ctags-recursive \ +- dist dist-all dist-bzip2 dist-gzip dist-hook dist-lzma \ +- dist-shar dist-tarZ dist-xz dist-zip distcheck distclean \ +- distclean-generic distclean-libtool distclean-multi \ +- distclean-tags distcleancheck distdir distuninstallcheck dvi \ +- dvi-am html html-am info info-am install install-am \ +- install-data install-data-am install-dvi install-dvi-am \ +- install-exec install-exec-am install-html install-html-am \ +- install-info install-info-am install-man install-multi \ +- install-pdf install-pdf-am install-ps install-ps-am \ +- install-strip installcheck installcheck-am installdirs \ +- installdirs-am maintainer-clean maintainer-clean-generic \ +- maintainer-clean-multi mostlyclean mostlyclean-generic \ +- mostlyclean-libtool mostlyclean-multi pdf pdf-am ps ps-am tags \ +- tags-recursive uninstall uninstall-am ++ distclean distclean-generic distclean-libtool distclean-multi \ ++ distclean-tags dvi dvi-am html html-am info info-am install \ ++ install-am install-data install-data-am install-dvi \ ++ install-dvi-am install-exec install-exec-am install-html \ ++ install-html-am install-info install-info-am install-man \ ++ install-multi install-pdf install-pdf-am install-ps \ ++ install-ps-am install-strip installcheck installcheck-am \ ++ installdirs installdirs-am maintainer-clean \ ++ maintainer-clean-generic maintainer-clean-multi mostlyclean \ ++ mostlyclean-generic mostlyclean-libtool mostlyclean-multi pdf \ ++ pdf-am ps ps-am tags tags-recursive uninstall uninstall-am + + + native: lib +diff -Naur gcc-4.6.3.orig/libjava/classpath/native/fdlibm/Makefile.in gcc-4.6.3/libjava/classpath/native/fdlibm/Makefile.in +--- gcc-4.6.3.orig/libjava/classpath/native/fdlibm/Makefile.in 2010-10-12 10:55:12.000000000 -0500 ++++ gcc-4.6.3/libjava/classpath/native/fdlibm/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -36,7 +36,7 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = native/fdlibm +-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ + $(top_srcdir)/../../config/lead-dot.m4 \ +@@ -95,10 +95,8 @@ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ + SOURCES = $(libfdlibm_la_SOURCES) +-DIST_SOURCES = $(libfdlibm_la_SOURCES) + ETAGS = etags + CTAGS = ctags +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ + ANTLR = @ANTLR@ +@@ -553,37 +551,6 @@ + + distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +- +-distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done + check-am: all-am + check: check-am + all-am: Makefile $(LTLIBRARIES) +@@ -689,8 +656,8 @@ + .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-noinstLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ +- distclean-tags distdir dvi dvi-am html html-am info info-am \ +- install install-am install-data install-data-am install-dvi \ ++ distclean-tags dvi dvi-am html html-am info info-am install \ ++ install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ +diff -Naur gcc-4.6.3.orig/libjava/classpath/native/jawt/Makefile.in gcc-4.6.3/libjava/classpath/native/jawt/Makefile.in +--- gcc-4.6.3.orig/libjava/classpath/native/jawt/Makefile.in 2010-10-12 10:55:12.000000000 -0500 ++++ gcc-4.6.3/libjava/classpath/native/jawt/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -36,7 +36,7 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = native/jawt +-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ + $(top_srcdir)/../../config/lead-dot.m4 \ +@@ -112,10 +112,8 @@ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ + SOURCES = $(libjawt_la_SOURCES) +-DIST_SOURCES = $(libjawt_la_SOURCES) + ETAGS = etags + CTAGS = ctags +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ + ANTLR = @ANTLR@ +@@ -492,37 +490,6 @@ + + distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +- +-distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done + check-am: all-am + check: check-am + all-am: Makefile $(LTLIBRARIES) +@@ -631,8 +598,8 @@ + .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ +- distclean-tags distdir dvi dvi-am html html-am info info-am \ +- install install-am install-data install-data-am install-dvi \ ++ distclean-tags dvi dvi-am html html-am info info-am install \ ++ install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \ +diff -Naur gcc-4.6.3.orig/libjava/classpath/native/jni/classpath/Makefile.in gcc-4.6.3/libjava/classpath/native/jni/classpath/Makefile.in +--- gcc-4.6.3.orig/libjava/classpath/native/jni/classpath/Makefile.in 2010-10-12 10:55:12.000000000 -0500 ++++ gcc-4.6.3/libjava/classpath/native/jni/classpath/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -36,7 +36,7 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = native/jni/classpath +-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ + $(top_srcdir)/../../config/lead-dot.m4 \ +@@ -86,10 +86,8 @@ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ + SOURCES = $(libclasspath_la_SOURCES) +-DIST_SOURCES = $(libclasspath_la_SOURCES) + ETAGS = etags + CTAGS = ctags +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ + ANTLR = @ANTLR@ +@@ -445,37 +443,6 @@ + + distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +- +-distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done + check-am: all-am + check: check-am + all-am: Makefile $(LTLIBRARIES) +@@ -581,8 +548,8 @@ + .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-noinstLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ +- distclean-tags distdir dvi dvi-am html html-am info info-am \ +- install install-am install-data install-data-am install-dvi \ ++ distclean-tags dvi dvi-am html html-am info info-am install \ ++ install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ +diff -Naur gcc-4.6.3.orig/libjava/classpath/native/jni/gconf-peer/Makefile.in gcc-4.6.3/libjava/classpath/native/jni/gconf-peer/Makefile.in +--- gcc-4.6.3.orig/libjava/classpath/native/jni/gconf-peer/Makefile.in 2010-10-12 10:55:12.000000000 -0500 ++++ gcc-4.6.3/libjava/classpath/native/jni/gconf-peer/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -36,7 +36,7 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = native/jni/gconf-peer +-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ + $(top_srcdir)/../../config/lead-dot.m4 \ +@@ -112,10 +112,8 @@ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ + SOURCES = $(libgconfpeer_la_SOURCES) +-DIST_SOURCES = $(libgconfpeer_la_SOURCES) + ETAGS = etags + CTAGS = ctags +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ + ANTLR = @ANTLR@ +@@ -489,37 +487,6 @@ + + distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +- +-distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done + check-am: all-am + check: check-am + all-am: Makefile $(LTLIBRARIES) +@@ -628,8 +595,8 @@ + .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ +- distclean-tags distdir dvi dvi-am html html-am info info-am \ +- install install-am install-data install-data-am install-dvi \ ++ distclean-tags dvi dvi-am html html-am info info-am install \ ++ install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \ +diff -Naur gcc-4.6.3.orig/libjava/classpath/native/jni/gstreamer-peer/Makefile.in gcc-4.6.3/libjava/classpath/native/jni/gstreamer-peer/Makefile.in +--- gcc-4.6.3.orig/libjava/classpath/native/jni/gstreamer-peer/Makefile.in 2010-10-12 10:55:12.000000000 -0500 ++++ gcc-4.6.3/libjava/classpath/native/jni/gstreamer-peer/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -36,7 +36,7 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = native/jni/gstreamer-peer +-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ + $(top_srcdir)/../../config/lead-dot.m4 \ +@@ -114,10 +114,8 @@ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ + SOURCES = $(libgstreamerpeer_la_SOURCES) +-DIST_SOURCES = $(libgstreamerpeer_la_SOURCES) + ETAGS = etags + CTAGS = ctags +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ + ANTLR = @ANTLR@ +@@ -514,37 +512,6 @@ + + distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +- +-distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done + check-am: all-am + check: check-am + all-am: Makefile $(LTLIBRARIES) +@@ -653,8 +620,8 @@ + .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ +- distclean-tags distdir dvi dvi-am html html-am info info-am \ +- install install-am install-data install-data-am install-dvi \ ++ distclean-tags dvi dvi-am html html-am info info-am install \ ++ install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \ +diff -Naur gcc-4.6.3.orig/libjava/classpath/native/jni/gtk-peer/Makefile.in gcc-4.6.3/libjava/classpath/native/jni/gtk-peer/Makefile.in +--- gcc-4.6.3.orig/libjava/classpath/native/jni/gtk-peer/Makefile.in 2010-10-12 10:55:12.000000000 -0500 ++++ gcc-4.6.3/libjava/classpath/native/jni/gtk-peer/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -36,7 +36,7 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = native/jni/gtk-peer +-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ + $(top_srcdir)/../../config/lead-dot.m4 \ +@@ -150,10 +150,8 @@ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ + SOURCES = $(libgtkpeer_la_SOURCES) +-DIST_SOURCES = $(libgtkpeer_la_SOURCES) + ETAGS = etags + CTAGS = ctags +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ + ANTLR = @ANTLR@ +@@ -620,37 +618,6 @@ + + distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +- +-distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done + check-am: all-am + check: check-am + all-am: Makefile $(LTLIBRARIES) +@@ -759,8 +726,8 @@ + .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ +- distclean-tags distdir dvi dvi-am html html-am info info-am \ +- install install-am install-data install-data-am install-dvi \ ++ distclean-tags dvi dvi-am html html-am info info-am install \ ++ install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \ +diff -Naur gcc-4.6.3.orig/libjava/classpath/native/jni/java-io/Makefile.in gcc-4.6.3/libjava/classpath/native/jni/java-io/Makefile.in +--- gcc-4.6.3.orig/libjava/classpath/native/jni/java-io/Makefile.in 2010-10-12 10:55:12.000000000 -0500 ++++ gcc-4.6.3/libjava/classpath/native/jni/java-io/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -36,7 +36,7 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = native/jni/java-io +-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ + $(top_srcdir)/../../config/lead-dot.m4 \ +@@ -111,10 +111,8 @@ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ + SOURCES = $(libjavaio_la_SOURCES) +-DIST_SOURCES = $(libjavaio_la_SOURCES) + ETAGS = etags + CTAGS = ctags +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ + ANTLR = @ANTLR@ +@@ -494,37 +492,6 @@ + + distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +- +-distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done + check-am: all-am + check: check-am + all-am: Makefile $(LTLIBRARIES) +@@ -633,8 +600,8 @@ + .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ +- distclean-tags distdir dvi dvi-am html html-am info info-am \ +- install install-am install-data install-data-am install-dvi \ ++ distclean-tags dvi dvi-am html html-am info info-am install \ ++ install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \ +diff -Naur gcc-4.6.3.orig/libjava/classpath/native/jni/java-lang/Makefile.in gcc-4.6.3/libjava/classpath/native/jni/java-lang/Makefile.in +--- gcc-4.6.3.orig/libjava/classpath/native/jni/java-lang/Makefile.in 2010-10-12 10:55:12.000000000 -0500 ++++ gcc-4.6.3/libjava/classpath/native/jni/java-lang/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -36,7 +36,7 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = native/jni/java-lang +-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ + $(top_srcdir)/../../config/lead-dot.m4 \ +@@ -123,12 +123,8 @@ + SOURCES = $(libjavalang_la_SOURCES) \ + $(libjavalangmanagement_la_SOURCES) \ + $(libjavalangreflect_la_SOURCES) +-DIST_SOURCES = $(libjavalang_la_SOURCES) \ +- $(libjavalangmanagement_la_SOURCES) \ +- $(libjavalangreflect_la_SOURCES) + ETAGS = etags + CTAGS = ctags +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ + ANTLR = @ANTLR@ +@@ -521,37 +517,6 @@ + + distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +- +-distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done + check-am: all-am + check: check-am + all-am: Makefile $(LTLIBRARIES) +@@ -660,8 +625,8 @@ + .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ +- distclean-tags distdir dvi dvi-am html html-am info info-am \ +- install install-am install-data install-data-am install-dvi \ ++ distclean-tags dvi dvi-am html html-am info info-am install \ ++ install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \ +diff -Naur gcc-4.6.3.orig/libjava/classpath/native/jni/java-math/Makefile.in gcc-4.6.3/libjava/classpath/native/jni/java-math/Makefile.in +--- gcc-4.6.3.orig/libjava/classpath/native/jni/java-math/Makefile.in 2010-10-12 10:55:12.000000000 -0500 ++++ gcc-4.6.3/libjava/classpath/native/jni/java-math/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -36,7 +36,7 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = native/jni/java-math +-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ + $(top_srcdir)/../../config/lead-dot.m4 \ +@@ -112,10 +112,8 @@ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ + SOURCES = $(libjavamath_la_SOURCES) +-DIST_SOURCES = $(libjavamath_la_SOURCES) + ETAGS = etags + CTAGS = ctags +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ + ANTLR = @ANTLR@ +@@ -487,37 +485,6 @@ + + distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +- +-distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done + check-am: all-am + check: check-am + all-am: Makefile $(LTLIBRARIES) +@@ -626,8 +593,8 @@ + .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ +- distclean-tags distdir dvi dvi-am html html-am info info-am \ +- install install-am install-data install-data-am install-dvi \ ++ distclean-tags dvi dvi-am html html-am info info-am install \ ++ install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \ +diff -Naur gcc-4.6.3.orig/libjava/classpath/native/jni/java-net/Makefile.in gcc-4.6.3/libjava/classpath/native/jni/java-net/Makefile.in +--- gcc-4.6.3.orig/libjava/classpath/native/jni/java-net/Makefile.in 2010-10-12 10:55:12.000000000 -0500 ++++ gcc-4.6.3/libjava/classpath/native/jni/java-net/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -36,7 +36,7 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = native/jni/java-net +-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ + $(top_srcdir)/../../config/lead-dot.m4 \ +@@ -96,10 +96,6 @@ + $(top_builddir)/native/jni/classpath/jcl.lo \ + $(top_builddir)/native/jni/native-lib/libclasspathnative.la \ + $(am__DEPENDENCIES_1) +-am__libjavanet_la_SOURCES_DIST = javanet.c javanet.h \ +- java_net_VMInetAddress.c java_net_VMNetworkInterface.c \ +- java_net_VMURLConnection.c gnu_java_net_VMPlainSocketImpl.c \ +- gnu_java_net_local_LocalSocketImpl.c local.c local.h + @ENABLE_LOCAL_SOCKETS_FALSE@am__objects_1 = gnu_java_net_local_LocalSocketImpl.lo + @ENABLE_LOCAL_SOCKETS_TRUE@am__objects_1 = gnu_java_net_local_LocalSocketImpl.lo \ + @ENABLE_LOCAL_SOCKETS_TRUE@ local.lo +@@ -121,10 +117,8 @@ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ + SOURCES = $(libjavanet_la_SOURCES) +-DIST_SOURCES = $(am__libjavanet_la_SOURCES_DIST) + ETAGS = etags + CTAGS = ctags +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ + ANTLR = @ANTLR@ +@@ -518,37 +512,6 @@ + + distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +- +-distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done + check-am: all-am + check: check-am + all-am: Makefile $(LTLIBRARIES) +@@ -657,8 +620,8 @@ + .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ +- distclean-tags distdir dvi dvi-am html html-am info info-am \ +- install install-am install-data install-data-am install-dvi \ ++ distclean-tags dvi dvi-am html html-am info info-am install \ ++ install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \ +diff -Naur gcc-4.6.3.orig/libjava/classpath/native/jni/java-nio/Makefile.in gcc-4.6.3/libjava/classpath/native/jni/java-nio/Makefile.in +--- gcc-4.6.3.orig/libjava/classpath/native/jni/java-nio/Makefile.in 2010-10-12 10:55:12.000000000 -0500 ++++ gcc-4.6.3/libjava/classpath/native/jni/java-nio/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -36,7 +36,7 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = native/jni/java-nio +-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ + $(top_srcdir)/../../config/lead-dot.m4 \ +@@ -119,10 +119,8 @@ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ + SOURCES = $(libjavanio_la_SOURCES) +-DIST_SOURCES = $(libjavanio_la_SOURCES) + ETAGS = etags + CTAGS = ctags +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ + ANTLR = @ANTLR@ +@@ -519,37 +517,6 @@ + + distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +- +-distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done + check-am: all-am + check: check-am + all-am: Makefile $(LTLIBRARIES) +@@ -658,8 +625,8 @@ + .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ +- distclean-tags distdir dvi dvi-am html html-am info info-am \ +- install install-am install-data install-data-am install-dvi \ ++ distclean-tags dvi dvi-am html html-am info info-am install \ ++ install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \ +diff -Naur gcc-4.6.3.orig/libjava/classpath/native/jni/java-util/Makefile.in gcc-4.6.3/libjava/classpath/native/jni/java-util/Makefile.in +--- gcc-4.6.3.orig/libjava/classpath/native/jni/java-util/Makefile.in 2010-10-12 10:55:12.000000000 -0500 ++++ gcc-4.6.3/libjava/classpath/native/jni/java-util/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -36,7 +36,7 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = native/jni/java-util +-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ + $(top_srcdir)/../../config/lead-dot.m4 \ +@@ -108,10 +108,8 @@ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ + SOURCES = $(libjavautil_la_SOURCES) +-DIST_SOURCES = $(libjavautil_la_SOURCES) + ETAGS = etags + CTAGS = ctags +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ + ANTLR = @ANTLR@ +@@ -483,37 +481,6 @@ + + distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +- +-distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done + check-am: all-am + check: check-am + all-am: Makefile $(LTLIBRARIES) +@@ -622,8 +589,8 @@ + .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ +- distclean-tags distdir dvi dvi-am html html-am info info-am \ +- install install-am install-data install-data-am install-dvi \ ++ distclean-tags dvi dvi-am html html-am info info-am install \ ++ install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \ +diff -Naur gcc-4.6.3.orig/libjava/classpath/native/jni/Makefile.in gcc-4.6.3/libjava/classpath/native/jni/Makefile.in +--- gcc-4.6.3.orig/libjava/classpath/native/jni/Makefile.in 2010-10-12 10:55:12.000000000 -0500 ++++ gcc-4.6.3/libjava/classpath/native/jni/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -35,7 +35,7 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = native/jni +-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ + $(top_srcdir)/../../config/lead-dot.m4 \ +@@ -68,7 +68,6 @@ + CONFIG_CLEAN_FILES = + CONFIG_CLEAN_VPATH_FILES = + SOURCES = +-DIST_SOURCES = + RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ +@@ -79,36 +78,9 @@ + RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive + AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ +- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ +- distdir ++ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS + ETAGS = etags + CTAGS = ctags +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +-am__relativize = \ +- dir0=`pwd`; \ +- sed_first='s,^\([^/]*\)/.*$$,\1,'; \ +- sed_rest='s,^[^/]*/*,,'; \ +- sed_last='s,^.*/\([^/]*\)$$,\1,'; \ +- sed_butlast='s,/*[^/]*$$,,'; \ +- while test -n "$$dir1"; do \ +- first=`echo "$$dir1" | sed -e "$$sed_first"`; \ +- if test "$$first" != "."; then \ +- if test "$$first" = ".."; then \ +- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ +- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ +- else \ +- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ +- if test "$$first2" = "$$first"; then \ +- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ +- else \ +- dir2="../$$dir2"; \ +- fi; \ +- dir0="$$dir0"/"$$first"; \ +- fi; \ +- fi; \ +- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ +- done; \ +- reldir="$$dir2" + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ + ANTLR = @ANTLR@ +@@ -510,65 +482,6 @@ + + distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +- +-distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done +- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ +- if test "$$subdir" = .; then :; else \ +- test -d "$(distdir)/$$subdir" \ +- || $(MKDIR_P) "$(distdir)/$$subdir" \ +- || exit 1; \ +- fi; \ +- done +- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ +- if test "$$subdir" = .; then :; else \ +- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ +- $(am__relativize); \ +- new_distdir=$$reldir; \ +- dir1=$$subdir; dir2="$(top_distdir)"; \ +- $(am__relativize); \ +- new_top_distdir=$$reldir; \ +- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ +- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ +- ($(am__cd) $$subdir && \ +- $(MAKE) $(AM_MAKEFLAGS) \ +- top_distdir="$$new_top_distdir" \ +- distdir="$$new_distdir" \ +- am__remove_distdir=: \ +- am__skip_length_check=: \ +- am__skip_mode_fix=: \ +- distdir) \ +- || exit 1; \ +- fi; \ +- done + check-am: all-am + check: check-recursive + all-am: Makefile all-local +@@ -671,16 +584,16 @@ + .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am all-local check check-am clean clean-generic \ + clean-libtool ctags ctags-recursive distclean \ +- distclean-generic distclean-libtool distclean-tags distdir dvi \ +- dvi-am html html-am info info-am install install-am \ +- install-data install-data-am install-dvi install-dvi-am \ +- install-exec install-exec-am install-html install-html-am \ +- install-info install-info-am install-man install-pdf \ +- install-pdf-am install-ps install-ps-am install-strip \ +- installcheck installcheck-am installdirs installdirs-am \ +- maintainer-clean maintainer-clean-generic mostlyclean \ +- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ +- tags tags-recursive uninstall uninstall-am ++ distclean-generic distclean-libtool distclean-tags dvi dvi-am \ ++ html html-am info info-am install install-am install-data \ ++ install-data-am install-dvi install-dvi-am install-exec \ ++ install-exec-am install-html install-html-am install-info \ ++ install-info-am install-man install-pdf install-pdf-am \ ++ install-ps install-ps-am install-strip installcheck \ ++ installcheck-am installdirs installdirs-am maintainer-clean \ ++ maintainer-clean-generic mostlyclean mostlyclean-generic \ ++ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ ++ uninstall uninstall-am + + + all-local: +diff -Naur gcc-4.6.3.orig/libjava/classpath/native/jni/midi-alsa/Makefile.in gcc-4.6.3/libjava/classpath/native/jni/midi-alsa/Makefile.in +--- gcc-4.6.3.orig/libjava/classpath/native/jni/midi-alsa/Makefile.in 2010-10-12 10:55:12.000000000 -0500 ++++ gcc-4.6.3/libjava/classpath/native/jni/midi-alsa/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -36,7 +36,7 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = native/jni/midi-alsa +-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ + $(top_srcdir)/../../config/lead-dot.m4 \ +@@ -114,10 +114,8 @@ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ + SOURCES = $(libgjsmalsa_la_SOURCES) +-DIST_SOURCES = $(libgjsmalsa_la_SOURCES) + ETAGS = etags + CTAGS = ctags +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ + ANTLR = @ANTLR@ +@@ -496,37 +494,6 @@ + + distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +- +-distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done + check-am: all-am + check: check-am + all-am: Makefile $(LTLIBRARIES) +@@ -635,8 +602,8 @@ + .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ +- distclean-tags distdir dvi dvi-am html html-am info info-am \ +- install install-am install-data install-data-am install-dvi \ ++ distclean-tags dvi dvi-am html html-am info info-am install \ ++ install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \ +diff -Naur gcc-4.6.3.orig/libjava/classpath/native/jni/midi-dssi/Makefile.in gcc-4.6.3/libjava/classpath/native/jni/midi-dssi/Makefile.in +--- gcc-4.6.3.orig/libjava/classpath/native/jni/midi-dssi/Makefile.in 2010-10-12 10:55:12.000000000 -0500 ++++ gcc-4.6.3/libjava/classpath/native/jni/midi-dssi/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -36,7 +36,7 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = native/jni/midi-dssi +-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ + $(top_srcdir)/../../config/lead-dot.m4 \ +@@ -114,10 +114,8 @@ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ + SOURCES = $(libgjsmdssi_la_SOURCES) +-DIST_SOURCES = $(libgjsmdssi_la_SOURCES) + ETAGS = etags + CTAGS = ctags +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ + ANTLR = @ANTLR@ +@@ -496,37 +494,6 @@ + + distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +- +-distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done + check-am: all-am + check: check-am + all-am: Makefile $(LTLIBRARIES) +@@ -635,8 +602,8 @@ + .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ +- distclean-tags distdir dvi dvi-am html html-am info info-am \ +- install install-am install-data install-data-am install-dvi \ ++ distclean-tags dvi dvi-am html html-am info info-am install \ ++ install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \ +diff -Naur gcc-4.6.3.orig/libjava/classpath/native/jni/native-lib/Makefile.in gcc-4.6.3/libjava/classpath/native/jni/native-lib/Makefile.in +--- gcc-4.6.3.orig/libjava/classpath/native/jni/native-lib/Makefile.in 2010-10-12 10:55:12.000000000 -0500 ++++ gcc-4.6.3/libjava/classpath/native/jni/native-lib/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -36,7 +36,7 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = native/jni/native-lib +-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ + $(top_srcdir)/../../config/lead-dot.m4 \ +@@ -86,10 +86,8 @@ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ + SOURCES = $(libclasspathnative_la_SOURCES) +-DIST_SOURCES = $(libclasspathnative_la_SOURCES) + ETAGS = etags + CTAGS = ctags +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ + ANTLR = @ANTLR@ +@@ -448,37 +446,6 @@ + + distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +- +-distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done + check-am: all-am + check: check-am + all-am: Makefile $(LTLIBRARIES) +@@ -584,8 +551,8 @@ + .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-noinstLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ +- distclean-tags distdir dvi dvi-am html html-am info info-am \ +- install install-am install-data install-data-am install-dvi \ ++ distclean-tags dvi dvi-am html html-am info info-am install \ ++ install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ +diff -Naur gcc-4.6.3.orig/libjava/classpath/native/jni/qt-peer/Makefile.in gcc-4.6.3/libjava/classpath/native/jni/qt-peer/Makefile.in +--- gcc-4.6.3.orig/libjava/classpath/native/jni/qt-peer/Makefile.in 2010-10-12 10:55:12.000000000 -0500 ++++ gcc-4.6.3/libjava/classpath/native/jni/qt-peer/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -39,7 +39,7 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = native/jni/qt-peer +-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ + $(top_srcdir)/../../config/lead-dot.m4 \ +@@ -116,10 +116,8 @@ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ + SOURCES = $(libqtpeer_la_SOURCES) $(nodist_libqtpeer_la_SOURCES) +-DIST_SOURCES = $(libqtpeer_la_SOURCES) + ETAGS = etags + CTAGS = ctags +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ + ANTLR = @ANTLR@ +@@ -577,37 +575,6 @@ + + distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +- +-distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done + check-am: all-am + check: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) check-am +@@ -717,8 +684,8 @@ + .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-noinstLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ +- distclean-tags distdir dvi dvi-am html html-am info info-am \ +- install install-am install-data install-data-am install-dvi \ ++ distclean-tags dvi dvi-am html html-am info info-am install \ ++ install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ +diff -Naur gcc-4.6.3.orig/libjava/classpath/native/jni/xmlj/Makefile.in gcc-4.6.3/libjava/classpath/native/jni/xmlj/Makefile.in +--- gcc-4.6.3.orig/libjava/classpath/native/jni/xmlj/Makefile.in 2010-10-12 10:55:12.000000000 -0500 ++++ gcc-4.6.3/libjava/classpath/native/jni/xmlj/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -36,7 +36,7 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = native/jni/xmlj +-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ + $(top_srcdir)/../../config/lead-dot.m4 \ +@@ -110,10 +110,8 @@ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ + SOURCES = $(libxmlj_la_SOURCES) +-DIST_SOURCES = $(libxmlj_la_SOURCES) + ETAGS = etags + CTAGS = ctags +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ + ANTLR = @ANTLR@ +@@ -511,37 +509,6 @@ + + distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +- +-distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done + check-am: all-am + check: check-am + all-am: Makefile $(LTLIBRARIES) +@@ -650,8 +617,8 @@ + .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ +- distclean-tags distdir dvi dvi-am html html-am info info-am \ +- install install-am install-data install-data-am install-dvi \ ++ distclean-tags dvi dvi-am html html-am info info-am install \ ++ install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \ +diff -Naur gcc-4.6.3.orig/libjava/classpath/native/Makefile.in gcc-4.6.3/libjava/classpath/native/Makefile.in +--- gcc-4.6.3.orig/libjava/classpath/native/Makefile.in 2010-10-12 10:55:12.000000000 -0500 ++++ gcc-4.6.3/libjava/classpath/native/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -35,7 +35,7 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = native +-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ + $(top_srcdir)/../../config/lead-dot.m4 \ +@@ -68,7 +68,6 @@ + CONFIG_CLEAN_FILES = + CONFIG_CLEAN_VPATH_FILES = + SOURCES = +-DIST_SOURCES = + RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ +@@ -79,36 +78,9 @@ + RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive + AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ +- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ +- distdir ++ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS + ETAGS = etags + CTAGS = ctags +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +-am__relativize = \ +- dir0=`pwd`; \ +- sed_first='s,^\([^/]*\)/.*$$,\1,'; \ +- sed_rest='s,^[^/]*/*,,'; \ +- sed_last='s,^.*/\([^/]*\)$$,\1,'; \ +- sed_butlast='s,/*[^/]*$$,,'; \ +- while test -n "$$dir1"; do \ +- first=`echo "$$dir1" | sed -e "$$sed_first"`; \ +- if test "$$first" != "."; then \ +- if test "$$first" = ".."; then \ +- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ +- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ +- else \ +- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ +- if test "$$first2" = "$$first"; then \ +- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ +- else \ +- dir2="../$$dir2"; \ +- fi; \ +- dir0="$$dir0"/"$$first"; \ +- fi; \ +- fi; \ +- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ +- done; \ +- reldir="$$dir2" + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ + ANTLR = @ANTLR@ +@@ -498,65 +470,6 @@ + + distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +- +-distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done +- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ +- if test "$$subdir" = .; then :; else \ +- test -d "$(distdir)/$$subdir" \ +- || $(MKDIR_P) "$(distdir)/$$subdir" \ +- || exit 1; \ +- fi; \ +- done +- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ +- if test "$$subdir" = .; then :; else \ +- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ +- $(am__relativize); \ +- new_distdir=$$reldir; \ +- dir1=$$subdir; dir2="$(top_distdir)"; \ +- $(am__relativize); \ +- new_top_distdir=$$reldir; \ +- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ +- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ +- ($(am__cd) $$subdir && \ +- $(MAKE) $(AM_MAKEFLAGS) \ +- top_distdir="$$new_top_distdir" \ +- distdir="$$new_distdir" \ +- am__remove_distdir=: \ +- am__skip_length_check=: \ +- am__skip_mode_fix=: \ +- distdir) \ +- || exit 1; \ +- fi; \ +- done + check-am: all-am + check: check-recursive + all-am: Makefile +@@ -659,13 +572,13 @@ + .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am clean clean-generic clean-libtool \ + ctags ctags-recursive distclean distclean-generic \ +- distclean-libtool distclean-tags distdir dvi dvi-am html \ +- html-am info info-am install install-am install-data \ +- install-data-am install-dvi install-dvi-am install-exec \ +- install-exec-am install-html install-html-am install-info \ +- install-info-am install-man install-pdf install-pdf-am \ +- install-ps install-ps-am install-strip installcheck \ +- installcheck-am installdirs installdirs-am maintainer-clean \ ++ distclean-libtool distclean-tags dvi dvi-am html html-am info \ ++ info-am install install-am install-data install-data-am \ ++ install-dvi install-dvi-am install-exec install-exec-am \ ++ install-html install-html-am install-info install-info-am \ ++ install-man install-pdf install-pdf-am install-ps \ ++ install-ps-am install-strip installcheck installcheck-am \ ++ installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ + uninstall uninstall-am +diff -Naur gcc-4.6.3.orig/libjava/classpath/native/plugin/Makefile.in gcc-4.6.3/libjava/classpath/native/plugin/Makefile.in +--- gcc-4.6.3.orig/libjava/classpath/native/plugin/Makefile.in 2010-10-12 10:55:12.000000000 -0500 ++++ gcc-4.6.3/libjava/classpath/native/plugin/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -36,7 +36,7 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = native/plugin +-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ + $(top_srcdir)/../../config/lead-dot.m4 \ +@@ -112,10 +112,8 @@ + --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ + SOURCES = $(libgcjwebplugin_la_SOURCES) +-DIST_SOURCES = $(libgcjwebplugin_la_SOURCES) + ETAGS = etags + CTAGS = ctags +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ + ANTLR = @ANTLR@ +@@ -497,37 +495,6 @@ + + distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +- +-distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done + check-am: all-am + check: check-am + all-am: Makefile $(LTLIBRARIES) +@@ -636,8 +603,8 @@ + .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ +- distclean-tags distdir dvi dvi-am html html-am info info-am \ +- install install-am install-data install-data-am install-dvi \ ++ distclean-tags dvi dvi-am html html-am info info-am install \ ++ install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \ +diff -Naur gcc-4.6.3.orig/libjava/classpath/resource/Makefile.in gcc-4.6.3/libjava/classpath/resource/Makefile.in +--- gcc-4.6.3.orig/libjava/classpath/resource/Makefile.in 2010-10-12 10:55:12.000000000 -0500 ++++ gcc-4.6.3/libjava/classpath/resource/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -36,7 +36,7 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = resource +-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ + $(top_srcdir)/../../config/lead-dot.m4 \ +@@ -69,7 +69,6 @@ + CONFIG_CLEAN_FILES = + CONFIG_CLEAN_VPATH_FILES = + SOURCES = +-DIST_SOURCES = + am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; + am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ +@@ -93,7 +92,6 @@ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' + am__installdirs = "$(DESTDIR)$(loggingdir)" "$(DESTDIR)$(securitydir)" + DATA = $(logging_DATA) $(security_DATA) +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ + ANTLR = @ANTLR@ +@@ -393,37 +391,6 @@ + ctags: CTAGS + CTAGS: + +- +-distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done + check-am: all-am + check: check-am + all-am: Makefile $(DATA) +@@ -525,17 +492,17 @@ + .MAKE: install-am install-strip + + .PHONY: all all-am check check-am clean clean-generic clean-libtool \ +- distclean distclean-generic distclean-libtool distdir dvi \ +- dvi-am html html-am info info-am install install-am \ +- install-data install-data-am install-dvi install-dvi-am \ +- install-exec install-exec-am install-html install-html-am \ +- install-info install-info-am install-loggingDATA install-man \ +- install-pdf install-pdf-am install-ps install-ps-am \ +- install-securityDATA install-strip installcheck \ +- installcheck-am installdirs maintainer-clean \ +- maintainer-clean-generic mostlyclean mostlyclean-generic \ +- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ +- uninstall-loggingDATA uninstall-securityDATA ++ distclean distclean-generic distclean-libtool dvi dvi-am html \ ++ html-am info info-am install install-am install-data \ ++ install-data-am install-dvi install-dvi-am install-exec \ ++ install-exec-am install-html install-html-am install-info \ ++ install-info-am install-loggingDATA install-man install-pdf \ ++ install-pdf-am install-ps install-ps-am install-securityDATA \ ++ install-strip installcheck installcheck-am installdirs \ ++ maintainer-clean maintainer-clean-generic mostlyclean \ ++ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ ++ uninstall uninstall-am uninstall-loggingDATA \ ++ uninstall-securityDATA + + + # Tell versions [3.59,3.63) of GNU make to not export all variables. +diff -Naur gcc-4.6.3.orig/libjava/classpath/scripts/Makefile.in gcc-4.6.3/libjava/classpath/scripts/Makefile.in +--- gcc-4.6.3.orig/libjava/classpath/scripts/Makefile.in 2010-10-12 10:55:12.000000000 -0500 ++++ gcc-4.6.3/libjava/classpath/scripts/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -35,8 +35,8 @@ + host_triplet = @host@ + target_triplet = @target@ + subdir = scripts +-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ +- $(srcdir)/check_jni_methods.sh.in $(srcdir)/classpath.spec.in ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ ++ $(srcdir)/classpath.spec.in $(srcdir)/check_jni_methods.sh.in + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ + $(top_srcdir)/../../config/lead-dot.m4 \ +@@ -69,8 +69,6 @@ + CONFIG_CLEAN_FILES = classpath.spec check_jni_methods.sh + CONFIG_CLEAN_VPATH_FILES = + SOURCES = +-DIST_SOURCES = +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ + ANTLR = @ANTLR@ +@@ -331,37 +329,6 @@ + ctags: CTAGS + CTAGS: + +- +-distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done + check-am: all-am + check: check-am + all-am: Makefile +@@ -460,13 +427,13 @@ + .MAKE: install-am install-strip + + .PHONY: all all-am check check-am clean clean-generic clean-libtool \ +- distclean distclean-generic distclean-libtool distdir dvi \ +- dvi-am html html-am info info-am install install-am \ +- install-data install-data-am install-dvi install-dvi-am \ +- install-exec install-exec-am install-html install-html-am \ +- install-info install-info-am install-man install-pdf \ +- install-pdf-am install-ps install-ps-am install-strip \ +- installcheck installcheck-am installdirs maintainer-clean \ ++ distclean distclean-generic distclean-libtool dvi dvi-am html \ ++ html-am info info-am install install-am install-data \ ++ install-data-am install-dvi install-dvi-am install-exec \ ++ install-exec-am install-html install-html-am install-info \ ++ install-info-am install-man install-pdf install-pdf-am \ ++ install-ps install-ps-am install-strip installcheck \ ++ installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am + +diff -Naur gcc-4.6.3.orig/libjava/classpath/tools/Makefile.in gcc-4.6.3/libjava/classpath/tools/Makefile.in +--- gcc-4.6.3.orig/libjava/classpath/tools/Makefile.in 2010-10-12 10:55:12.000000000 -0500 ++++ gcc-4.6.3/libjava/classpath/tools/Makefile.in 2012-09-20 09:55:03.645689000 -0500 +@@ -44,13 +44,13 @@ + @CREATE_WRAPPERS_TRUE@@INSTALL_BINARIES_FALSE@ $(am__EXEEXT_2) + @CREATE_GJDOC_TRUE@@CREATE_WRAPPERS_FALSE@am__append_2 = gjdoc + subdir = tools +-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ +- $(srcdir)/gappletviewer.in $(srcdir)/gjar.in \ +- $(srcdir)/gjarsigner.in $(srcdir)/gjavah.in $(srcdir)/gjdoc.in \ +- $(srcdir)/gkeytool.in $(srcdir)/gnative2ascii.in \ +- $(srcdir)/gorbd.in $(srcdir)/grmic.in $(srcdir)/grmid.in \ +- $(srcdir)/grmiregistry.in $(srcdir)/gserialver.in \ +- $(srcdir)/gtnameserv.in ++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ ++ $(srcdir)/gappletviewer.in $(srcdir)/gjarsigner.in \ ++ $(srcdir)/gkeytool.in $(srcdir)/gjar.in \ ++ $(srcdir)/gnative2ascii.in $(srcdir)/gserialver.in \ ++ $(srcdir)/grmiregistry.in $(srcdir)/gtnameserv.in \ ++ $(srcdir)/gorbd.in $(srcdir)/grmid.in $(srcdir)/grmic.in \ ++ $(srcdir)/gjavah.in $(srcdir)/gjdoc.in + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ + $(top_srcdir)/../../config/lead-dot.m4 \ +@@ -96,7 +96,6 @@ + @CREATE_WRAPPERS_TRUE@ $(am__EXEEXT_1) + am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" + PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) +-am__gappletviewer_SOURCES_DIST = toolwrapper.c + @CREATE_WRAPPERS_TRUE@am_gappletviewer_OBJECTS = \ + @CREATE_WRAPPERS_TRUE@ gappletviewer-toolwrapper.$(OBJEXT) + gappletviewer_OBJECTS = $(am_gappletviewer_OBJECTS) +@@ -104,14 +103,12 @@ + gappletviewer_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(gappletviewer_CFLAGS) \ + $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +-am__gjar_SOURCES_DIST = toolwrapper.c + @CREATE_WRAPPERS_TRUE@am_gjar_OBJECTS = gjar-toolwrapper.$(OBJEXT) + gjar_OBJECTS = $(am_gjar_OBJECTS) + gjar_LDADD = $(LDADD) + gjar_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(gjar_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +-am__gjarsigner_SOURCES_DIST = toolwrapper.c + @CREATE_WRAPPERS_TRUE@am_gjarsigner_OBJECTS = \ + @CREATE_WRAPPERS_TRUE@ gjarsigner-toolwrapper.$(OBJEXT) + gjarsigner_OBJECTS = $(am_gjarsigner_OBJECTS) +@@ -119,7 +116,6 @@ + gjarsigner_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(gjarsigner_CFLAGS) \ + $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +-am__gjavah_SOURCES_DIST = toolwrapper.c + @CREATE_WRAPPERS_TRUE@am_gjavah_OBJECTS = \ + @CREATE_WRAPPERS_TRUE@ gjavah-toolwrapper.$(OBJEXT) + gjavah_OBJECTS = $(am_gjavah_OBJECTS) +@@ -127,14 +123,12 @@ + gjavah_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(gjavah_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +-am__gjdoc_SOURCES_DIST = toolwrapper.c + @CREATE_WRAPPERS_TRUE@am_gjdoc_OBJECTS = gjdoc-toolwrapper.$(OBJEXT) + gjdoc_OBJECTS = $(am_gjdoc_OBJECTS) + gjdoc_LDADD = $(LDADD) + gjdoc_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(gjdoc_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +-am__gkeytool_SOURCES_DIST = toolwrapper.c + @CREATE_WRAPPERS_TRUE@am_gkeytool_OBJECTS = \ + @CREATE_WRAPPERS_TRUE@ gkeytool-toolwrapper.$(OBJEXT) + gkeytool_OBJECTS = $(am_gkeytool_OBJECTS) +@@ -142,7 +136,6 @@ + gkeytool_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(gkeytool_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +-am__gnative2ascii_SOURCES_DIST = toolwrapper.c + @CREATE_WRAPPERS_TRUE@am_gnative2ascii_OBJECTS = \ + @CREATE_WRAPPERS_TRUE@ gnative2ascii-toolwrapper.$(OBJEXT) + gnative2ascii_OBJECTS = $(am_gnative2ascii_OBJECTS) +@@ -150,28 +143,24 @@ + gnative2ascii_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(gnative2ascii_CFLAGS) \ + $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +-am__gorbd_SOURCES_DIST = toolwrapper.c + @CREATE_WRAPPERS_TRUE@am_gorbd_OBJECTS = gorbd-toolwrapper.$(OBJEXT) + gorbd_OBJECTS = $(am_gorbd_OBJECTS) + gorbd_LDADD = $(LDADD) + gorbd_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(gorbd_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +-am__grmic_SOURCES_DIST = toolwrapper.c + @CREATE_WRAPPERS_TRUE@am_grmic_OBJECTS = grmic-toolwrapper.$(OBJEXT) + grmic_OBJECTS = $(am_grmic_OBJECTS) + grmic_LDADD = $(LDADD) + grmic_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(grmic_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +-am__grmid_SOURCES_DIST = toolwrapper.c + @CREATE_WRAPPERS_TRUE@am_grmid_OBJECTS = grmid-toolwrapper.$(OBJEXT) + grmid_OBJECTS = $(am_grmid_OBJECTS) + grmid_LDADD = $(LDADD) + grmid_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(grmid_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +-am__grmiregistry_SOURCES_DIST = toolwrapper.c + @CREATE_WRAPPERS_TRUE@am_grmiregistry_OBJECTS = \ + @CREATE_WRAPPERS_TRUE@ grmiregistry-toolwrapper.$(OBJEXT) + grmiregistry_OBJECTS = $(am_grmiregistry_OBJECTS) +@@ -179,7 +168,6 @@ + grmiregistry_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(grmiregistry_CFLAGS) \ + $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +-am__gserialver_SOURCES_DIST = toolwrapper.c + @CREATE_WRAPPERS_TRUE@am_gserialver_OBJECTS = \ + @CREATE_WRAPPERS_TRUE@ gserialver-toolwrapper.$(OBJEXT) + gserialver_OBJECTS = $(am_gserialver_OBJECTS) +@@ -187,7 +175,6 @@ + gserialver_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(gserialver_CFLAGS) \ + $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +-am__gtnameserv_SOURCES_DIST = toolwrapper.c + @CREATE_WRAPPERS_TRUE@am_gtnameserv_OBJECTS = \ + @CREATE_WRAPPERS_TRUE@ gtnameserv-toolwrapper.$(OBJEXT) + gtnameserv_OBJECTS = $(am_gtnameserv_OBJECTS) +@@ -235,17 +222,9 @@ + $(gkeytool_SOURCES) $(gnative2ascii_SOURCES) $(gorbd_SOURCES) \ + $(grmic_SOURCES) $(grmid_SOURCES) $(grmiregistry_SOURCES) \ + $(gserialver_SOURCES) $(gtnameserv_SOURCES) +-DIST_SOURCES = $(am__gappletviewer_SOURCES_DIST) \ +- $(am__gjar_SOURCES_DIST) $(am__gjarsigner_SOURCES_DIST) \ +- $(am__gjavah_SOURCES_DIST) $(am__gjdoc_SOURCES_DIST) \ +- $(am__gkeytool_SOURCES_DIST) $(am__gnative2ascii_SOURCES_DIST) \ +- $(am__gorbd_SOURCES_DIST) $(am__grmic_SOURCES_DIST) \ +- $(am__grmid_SOURCES_DIST) $(am__grmiregistry_SOURCES_DIST) \ +- $(am__gserialver_SOURCES_DIST) $(am__gtnameserv_SOURCES_DIST) + DATA = $(noinst_DATA) + ETAGS = etags + CTAGS = ctags +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ + AMTAR = @AMTAR@ + ANTLR = @ANTLR@ +@@ -1199,40 +1178,6 @@ + + distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +- +-distdir: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done +- $(MAKE) $(AM_MAKEFLAGS) \ +- top_distdir="$(top_distdir)" distdir="$(distdir)" \ +- dist-hook + check-am: all-am + check: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) check-am +@@ -1343,9 +1288,9 @@ + + .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic clean-libtool clean-local clean-noinstPROGRAMS \ +- ctags dist-hook distclean distclean-compile distclean-generic \ +- distclean-libtool distclean-tags distdir dvi dvi-am html \ +- html-am info info-am install install-am install-binPROGRAMS \ ++ ctags distclean distclean-compile distclean-generic \ ++ distclean-libtool distclean-tags dvi dvi-am html html-am info \ ++ info-am install install-am install-binPROGRAMS \ + install-binSCRIPTS install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ +diff -Naur gcc-4.6.3.orig/libjava/configure gcc-4.6.3/libjava/configure +--- gcc-4.6.3.orig/libjava/configure 2012-03-01 06:03:46.000000000 -0600 ++++ gcc-4.6.3/libjava/configure 2012-03-02 12:21:41.598223000 -0600 +@@ -19775,14 +19775,9 @@ + SYSTEMSPEC="-lunicows $SYSTEMSPEC" + fi + ;; +- *-*-darwin9*) ++ *-*-darwin[912]*) + SYSTEMSPEC="%{!Zdynamiclib:%{!Zbundle:-allow_stack_execute}}" + ;; +- *-*-darwin[12]*) +- # Something is incompatible with pie, would be nice to fix it and +- # remove -no_pie. PR49461 +- SYSTEMSPEC="-no_pie %{!Zdynamiclib:%{!Zbundle:-allow_stack_execute}}" +- ;; + *) + SYSTEMSPEC= + ;; +diff -Naur gcc-4.6.3.orig/libjava/configure.ac gcc-4.6.3/libjava/configure.ac +--- gcc-4.6.3.orig/libjava/configure.ac 2012-02-03 04:35:06.000000000 -0600 ++++ gcc-4.6.3/libjava/configure.ac 2012-03-02 12:21:41.598223000 -0600 +@@ -886,14 +886,9 @@ + SYSTEMSPEC="-lunicows $SYSTEMSPEC" + fi + ;; +- *-*-darwin9*) ++ *-*-darwin[[912]]*) + SYSTEMSPEC="%{!Zdynamiclib:%{!Zbundle:-allow_stack_execute}}" + ;; +- *-*-darwin[[12]]*) +- # Something is incompatible with pie, would be nice to fix it and +- # remove -no_pie. PR49461 +- SYSTEMSPEC="-no_pie %{!Zdynamiclib:%{!Zbundle:-allow_stack_execute}}" +- ;; + *) + SYSTEMSPEC= + ;; +diff -Naur gcc-4.6.3.orig/libquadmath/libquadmath.info gcc-4.6.3/libquadmath/libquadmath.info +--- gcc-4.6.3.orig/libquadmath/libquadmath.info 2012-03-01 06:41:20.000000000 -0600 ++++ gcc-4.6.3/libquadmath/libquadmath.info 1969-12-31 18:00:00.000000000 -0600 +@@ -1,924 +0,0 @@ +-This is libquadmath.info, produced by makeinfo version 4.13 from +-/d//gcc-4.6.3/gcc-4.6.3/libquadmath/libquadmath.texi. +- +-Copyright (C) 2010 Free Software Foundation, Inc. +- +- Permission is granted to copy, distribute and/or modify this +- document under the terms of the GNU Free Documentation License, +- Version 1.2 or any later version published by the Free Software +- Foundation; with no Invariant Sections, with the Front-Cover Texts +- being "A GNU Manual," and with the Back-Cover Texts as in (a) +- below. A copy of the license is included in the section entitled +- "GNU Free Documentation License." +- +- (a) The FSF's Back-Cover Text is: "You have the freedom to copy +- and modify this GNU manual. +- +-INFO-DIR-SECTION GNU Libraries +-START-INFO-DIR-ENTRY +-* libquadmath: (libquadmath). GCC Quad-Precision Math Library +-END-INFO-DIR-ENTRY +- +- This manual documents the GCC Quad-Precision Math Library API. +- +- Published by the Free Software Foundation 51 Franklin Street, Fifth +-Floor Boston, MA 02110-1301 USA +- +- Copyright (C) 2010 Free Software Foundation, Inc. +- +- Permission is granted to copy, distribute and/or modify this +- document under the terms of the GNU Free Documentation License, +- Version 1.2 or any later version published by the Free Software +- Foundation; with no Invariant Sections, with the Front-Cover Texts +- being "A GNU Manual," and with the Back-Cover Texts as in (a) +- below. A copy of the license is included in the section entitled +- "GNU Free Documentation License." +- +- (a) The FSF's Back-Cover Text is: "You have the freedom to copy +- and modify this GNU manual. +- +- +-File: libquadmath.info, Node: Top, Next: Typedef and constants, Up: (dir) +- +-Introduction +-************ +- +-This manual documents the usage of libquadmath, the GCC Quad-Precision +-Math Library Application Programming Interface (API). +- +-* Menu: +- +-* Typedef and constants:: Defined data types and constants +-* Math Library Routines:: The Libquadmath math runtime application +- programming interface. +-* I/O Library Routines:: The Libquadmath I/O runtime application +- programming interface. +-* GNU Free Documentation License:: +- How you can copy and share this manual. +-* Reporting Bugs:: How to report bugs in GCC Libquadmath. +- +- +-File: libquadmath.info, Node: Typedef and constants, Next: Math Library Routines, Prev: Top, Up: Top +- +-1 Typedef and constants +-*********************** +- +-The following data type has been defined via `typedef'. +- +-`__complex128': `__float128'-based complex number +- +- The following macros are defined, which give the numeric limits of +-the `__float128' data type. +- +-`FLT128_MAX': largest finite number +- +-`FLT128_MIN': smallest positive number with full precision +- +-`FLT128_EPSILON': difference between 1 and the next larger +- representable number +- +-`FLT128_DENORM_MIN': smallest positive denormalized number +- +-`FLT128_MANT_DIG': number of digits in the mantissa (bit precision) +- +-`FLT128_MIN_EXP': maximal negative exponent +- +-`FLT128_MAX_EXP': maximal positive exponent +- +-`FLT128_DIG': number of decimal digits in the mantissa +- +-`FLT128_MIN_10_EXP': maximal negative decimal exponent +- +-`FLT128_MAX_10_EXP': maximal positive decimal exponent +- +- The following mathematical constants of type `__float128' are +-defined. +- +-`M_Eq': the constant e (Euler's number) +- +-`M_LOG2Eq': binary logarithm of 2 +- +-`M_LOG10Eq': common, decimal logarithm of 2 +- +-`M_LN2q': natural logarithm of 2 +- +-`M_LN10q': natural logarithm of 10 +- +-`M_PIq': pi +- +-`M_PI_2q': two pi +- +-`M_PI_4q': four pi +- +-`M_1_PIq': one over pi +- +-`M_2_PIq': one over two pi +- +-`M_2_SQRTPIq': two over square root of pi +- +-`M_SQRT2q': square root of 2 +- +-`M_SQRT1_2q': one over square root of 2 +- +- +-File: libquadmath.info, Node: Math Library Routines, Next: I/O Library Routines, Prev: Typedef and constants, Up: Top +- +-2 Math Library Routines +-*********************** +- +-The following mathematical functions are available: +- +-`acosq': arc cosine function +- +-`acoshq': inverse hyperbolic cosine function +- +-`asinq': arc sine function +- +-`asinhq': inverse hyperbolic sine function +- +-`atanq': arc tangent function +- +-`atanhq': inverse hyperbolic tangent function +- +-`atan2q': arc tangent function +- +-`cbrtq': cube root function +- +-`ceilq': ceiling value function +- +-`copysignq': copy sign of a number +- +-`coshq': hyperbolic cosine function +- +-`cosq': cosine function +- +-`erfq': error function +- +-`erfcq': complementary error function +- +-`expq': exponential function +- +-`expm1q': exponential minus 1 function +- +-`fabsq': absolute value function +- +-`fdimq': positive difference function +- +-`finiteq': check finiteness of value +- +-`floorq': floor value function +- +-`fmaq': fused multiply and add +- +-`fmaxq': determine maximum of two values +- +-`fminq': determine minimum of two values +- +-`fmodq': remainder value function +- +-`frexpq': extract mantissa and exponent +- +-`hypotq': Eucledian distance function +- +-`ilogbq': get exponent of the value +- +-`isinfq': check for infinity +- +-`isnanq': check for not a number +- +-`j0q': Bessel function of the first kind, first order +- +-`j1q': Bessel function of the first kind, second order +- +-`jnq': Bessel function of the first kind, N-th order +- +-`ldexpq': load exponent of the value +- +-`lgammaq': logarithmic gamma function +- +-`llrintq': round to nearest integer value +- +-`llroundq': round to nearest integer value away from zero +- +-`logq': natural logarithm function +- +-`log10q': base 10 logarithm function +- +-`log1pq': compute natural logarithm of the value plus one +- +-`log2q': base 2 logarithm function +- +-`lrintq': round to nearest integer value +- +-`lroundq': round to nearest integer value away from zero +- +-`modfq': decompose the floating-point number +- +-`nanq': return quiet NaN +- +-`nearbyintq': round to nearest integer +- +-`nextafterq': next representable floating-point number +- +-`powq': power function +- +-`remainderq': remainder function +- +-`remquoq': remainder and part of quotient +- +-`rintq': round-to-nearest integral value +- +-`roundq': round-to-nearest integral value, return `__float128' +- +-`scalblnq': compute exponent using `FLT_RADIX' +- +-`scalbnq': compute exponent using `FLT_RADIX' +- +-`signbitq': return sign bit +- +-`sincosq': calculate sine and cosine simulataneously +- +-`sinhq': hyperbolic sine function +- +-`sinq': sine function +- +-`sqrtq': square root function +- +-`tanq': tangent function +- +-`tanhq': hyperbolic tangent function +- +-`tgammaq': true gamma function +- +-`truncq': round to integer, towards zero +- +-`y0q': Bessel function of the second kind, first order +- +-`y1q': Bessel function of the second kind, second order +- +-`ynq': Bessel function of the second kind, N-th order +- +-`cabsq' complex absolute value function +- +-`cargq': calculate the argument +- +-`cimagq' imaginary part of complex number +- +-`crealq': real part of complex number +- +-`cacoshq': complex arc hyperbolic cosine function +- +-`cacosq': complex arc cosine function +- +-`casinhq': complex arc hyperbolic sine function +- +-`casinq': complex arc sine function +- +-`catanhq': complex arc hyperbolic tangent function +- +-`catanq': complex arc tangent function +- +-`ccosq' complex cosine function: +- +-`ccoshq': complex hyperbolic cosine function +- +-`cexpq': complex exponential function +- +-`cexpiq': computes the exponential function of "i" times a +- real value +- +-`clogq': complex natural logarithm +- +-`clog10q': complex base 10 logarithm +- +-`conjq': complex conjugate function +- +-`cpowq': complex power function +- +-`cprojq': project into Riemann Sphere +- +-`csinq': complex sine function +- +-`csinhq': complex hyperbolic sine function +- +-`csqrtq': complex square root +- +-`ctanq': complex tangent function +- +-`ctanhq': complex hyperbolic tangent function +- +- +-File: libquadmath.info, Node: I/O Library Routines, Next: GNU Free Documentation License, Prev: Math Library Routines, Up: Top +- +-3 I/O Library Routines +-********************** +- +-* Menu: +- +-* `strtoflt128': strtoflt128, Convert from string +-* `quadmath_snprintf': quadmath_snprintf, Convert to string +- +- +-File: libquadmath.info, Node: strtoflt128, Next: quadmath_snprintf, Up: I/O Library Routines +- +-3.1 `strtoflt128' -- Convert from string +-======================================== +- +-The function `dmath_strtopQ' converts a string into a `__float128' +-number. +- +-Syntax +- `__float128 strtoflt128 (const char *s, char **sp)' +- +-_Arguments_: +- S input string +- SP the address of the next character in the string +- +- The argument SP contains, if not `NULL', the address of the next +- character following the parts of the string, which have been read. +- +-Example +- #include +- +- int main () +- { +- __float128 r; +- +- r = strtoflt128 ("1.2345678", NULL); +- +- return 0; +- } +- +- +-File: libquadmath.info, Node: quadmath_snprintf, Prev: strtoflt128, Up: I/O Library Routines +- +-3.2 `quadmath_snprintf' -- Convert to string +-============================================ +- +-The function `quadmath_snprintf' converts a `__float128' floating-point +-number into a string. It is a specialized alternative to `snprintf', +-where the format string is restricted to a single conversion specifier +-with `Q' modifier and conversion specifier `e', `E', `f', `F', `g', +-`G', `a' or `A', with no extra characters before or after the +-conversion specifier. The `%m$' or `*m$' style must not be used in the +-format. +- +-Syntax +- `int quadmath_snprintf (char *s, size_t size, const char *format, +- ...)' +- +-_Arguments_: +- S output string +- SIZE byte size of the string, including tailing NUL +- FORMAT conversion specifier string +- +-Example +- #include +- #include +- #include +- +- int main () +- { +- __float128 r; +- int prec = 20; +- int width = 46; +- char buf[128]; +- +- r = 2.0q; +- r = sqrtq (r); +- int n = quadmath_snprintf (buf, sizeof buf, "%+-#*.20Qe", width, r); +- if ((size_t) n < sizeof buf) +- printf ("%s\n", buf); +- /* Prints: +1.41421356237309504880e+00 */ +- quadmath_snprintf (buf, sizeof buf, "%Qa", r); +- if ((size_t) n < sizeof buf) +- printf ("%s\n", buf); +- /* Prints: 0x1.6a09e667f3bcc908b2fb1366ea96p+0 */ +- n = quadmath_snprintf (NULL, 0, "%+-#46.*Qe", prec, r); +- if (n > -1) +- { +- char *str = malloc (n + 1); +- if (str) +- { +- quadmath_snprintf (str, n + 1, "%+-#46.*Qe", prec, r); +- printf ("%s\n", str); +- /* Prints: +1.41421356237309504880e+00 */ +- } +- free (str); +- } +- return 0; +- } +- +- +- On some targets when supported by the C library hooks are installed +-for `printf' family of functions, so that `printf ("%Qe", 1.2Q);' etc. +-works too. +- +- +-File: libquadmath.info, Node: GNU Free Documentation License, Next: Reporting Bugs, Prev: I/O Library Routines, Up: Top +- +-GNU Free Documentation License +-****************************** +- +- Version 1.3, 3 November 2008 +- +- Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. +- `http://fsf.org/' +- +- Everyone is permitted to copy and distribute verbatim copies +- of this license document, but changing it is not allowed. +- +- 0. PREAMBLE +- +- The purpose of this License is to make a manual, textbook, or other +- functional and useful document "free" in the sense of freedom: to +- assure everyone the effective freedom to copy and redistribute it, +- with or without modifying it, either commercially or +- noncommercially. Secondarily, this License preserves for the +- author and publisher a way to get credit for their work, while not +- being considered responsible for modifications made by others. +- +- This License is a kind of "copyleft", which means that derivative +- works of the document must themselves be free in the same sense. +- It complements the GNU General Public License, which is a copyleft +- license designed for free software. +- +- We have designed this License in order to use it for manuals for +- free software, because free software needs free documentation: a +- free program should come with manuals providing the same freedoms +- that the software does. But this License is not limited to +- software manuals; it can be used for any textual work, regardless +- of subject matter or whether it is published as a printed book. +- We recommend this License principally for works whose purpose is +- instruction or reference. +- +- 1. APPLICABILITY AND DEFINITIONS +- +- This License applies to any manual or other work, in any medium, +- that contains a notice placed by the copyright holder saying it +- can be distributed under the terms of this License. Such a notice +- grants a world-wide, royalty-free license, unlimited in duration, +- to use that work under the conditions stated herein. The +- "Document", below, refers to any such manual or work. Any member +- of the public is a licensee, and is addressed as "you". You +- accept the license if you copy, modify or distribute the work in a +- way requiring permission under copyright law. +- +- A "Modified Version" of the Document means any work containing the +- Document or a portion of it, either copied verbatim, or with +- modifications and/or translated into another language. +- +- A "Secondary Section" is a named appendix or a front-matter section +- of the Document that deals exclusively with the relationship of the +- publishers or authors of the Document to the Document's overall +- subject (or to related matters) and contains nothing that could +- fall directly within that overall subject. (Thus, if the Document +- is in part a textbook of mathematics, a Secondary Section may not +- explain any mathematics.) The relationship could be a matter of +- historical connection with the subject or with related matters, or +- of legal, commercial, philosophical, ethical or political position +- regarding them. +- +- The "Invariant Sections" are certain Secondary Sections whose +- titles are designated, as being those of Invariant Sections, in +- the notice that says that the Document is released under this +- License. If a section does not fit the above definition of +- Secondary then it is not allowed to be designated as Invariant. +- The Document may contain zero Invariant Sections. If the Document +- does not identify any Invariant Sections then there are none. +- +- The "Cover Texts" are certain short passages of text that are +- listed, as Front-Cover Texts or Back-Cover Texts, in the notice +- that says that the Document is released under this License. A +- Front-Cover Text may be at most 5 words, and a Back-Cover Text may +- be at most 25 words. +- +- A "Transparent" copy of the Document means a machine-readable copy, +- represented in a format whose specification is available to the +- general public, that is suitable for revising the document +- straightforwardly with generic text editors or (for images +- composed of pixels) generic paint programs or (for drawings) some +- widely available drawing editor, and that is suitable for input to +- text formatters or for automatic translation to a variety of +- formats suitable for input to text formatters. A copy made in an +- otherwise Transparent file format whose markup, or absence of +- markup, has been arranged to thwart or discourage subsequent +- modification by readers is not Transparent. An image format is +- not Transparent if used for any substantial amount of text. A +- copy that is not "Transparent" is called "Opaque". +- +- Examples of suitable formats for Transparent copies include plain +- ASCII without markup, Texinfo input format, LaTeX input format, +- SGML or XML using a publicly available DTD, and +- standard-conforming simple HTML, PostScript or PDF designed for +- human modification. Examples of transparent image formats include +- PNG, XCF and JPG. Opaque formats include proprietary formats that +- can be read and edited only by proprietary word processors, SGML or +- XML for which the DTD and/or processing tools are not generally +- available, and the machine-generated HTML, PostScript or PDF +- produced by some word processors for output purposes only. +- +- The "Title Page" means, for a printed book, the title page itself, +- plus such following pages as are needed to hold, legibly, the +- material this License requires to appear in the title page. For +- works in formats which do not have any title page as such, "Title +- Page" means the text near the most prominent appearance of the +- work's title, preceding the beginning of the body of the text. +- +- The "publisher" means any person or entity that distributes copies +- of the Document to the public. +- +- A section "Entitled XYZ" means a named subunit of the Document +- whose title either is precisely XYZ or contains XYZ in parentheses +- following text that translates XYZ in another language. (Here XYZ +- stands for a specific section name mentioned below, such as +- "Acknowledgements", "Dedications", "Endorsements", or "History".) +- To "Preserve the Title" of such a section when you modify the +- Document means that it remains a section "Entitled XYZ" according +- to this definition. +- +- The Document may include Warranty Disclaimers next to the notice +- which states that this License applies to the Document. These +- Warranty Disclaimers are considered to be included by reference in +- this License, but only as regards disclaiming warranties: any other +- implication that these Warranty Disclaimers may have is void and +- has no effect on the meaning of this License. +- +- 2. VERBATIM COPYING +- +- You may copy and distribute the Document in any medium, either +- commercially or noncommercially, provided that this License, the +- copyright notices, and the license notice saying this License +- applies to the Document are reproduced in all copies, and that you +- add no other conditions whatsoever to those of this License. You +- may not use technical measures to obstruct or control the reading +- or further copying of the copies you make or distribute. However, +- you may accept compensation in exchange for copies. If you +- distribute a large enough number of copies you must also follow +- the conditions in section 3. +- +- You may also lend copies, under the same conditions stated above, +- and you may publicly display copies. +- +- 3. COPYING IN QUANTITY +- +- If you publish printed copies (or copies in media that commonly +- have printed covers) of the Document, numbering more than 100, and +- the Document's license notice requires Cover Texts, you must +- enclose the copies in covers that carry, clearly and legibly, all +- these Cover Texts: Front-Cover Texts on the front cover, and +- Back-Cover Texts on the back cover. Both covers must also clearly +- and legibly identify you as the publisher of these copies. The +- front cover must present the full title with all words of the +- title equally prominent and visible. You may add other material +- on the covers in addition. Copying with changes limited to the +- covers, as long as they preserve the title of the Document and +- satisfy these conditions, can be treated as verbatim copying in +- other respects. +- +- If the required texts for either cover are too voluminous to fit +- legibly, you should put the first ones listed (as many as fit +- reasonably) on the actual cover, and continue the rest onto +- adjacent pages. +- +- If you publish or distribute Opaque copies of the Document +- numbering more than 100, you must either include a +- machine-readable Transparent copy along with each Opaque copy, or +- state in or with each Opaque copy a computer-network location from +- which the general network-using public has access to download +- using public-standard network protocols a complete Transparent +- copy of the Document, free of added material. If you use the +- latter option, you must take reasonably prudent steps, when you +- begin distribution of Opaque copies in quantity, to ensure that +- this Transparent copy will remain thus accessible at the stated +- location until at least one year after the last time you +- distribute an Opaque copy (directly or through your agents or +- retailers) of that edition to the public. +- +- It is requested, but not required, that you contact the authors of +- the Document well before redistributing any large number of +- copies, to give them a chance to provide you with an updated +- version of the Document. +- +- 4. MODIFICATIONS +- +- You may copy and distribute a Modified Version of the Document +- under the conditions of sections 2 and 3 above, provided that you +- release the Modified Version under precisely this License, with +- the Modified Version filling the role of the Document, thus +- licensing distribution and modification of the Modified Version to +- whoever possesses a copy of it. In addition, you must do these +- things in the Modified Version: +- +- A. Use in the Title Page (and on the covers, if any) a title +- distinct from that of the Document, and from those of +- previous versions (which should, if there were any, be listed +- in the History section of the Document). You may use the +- same title as a previous version if the original publisher of +- that version gives permission. +- +- B. List on the Title Page, as authors, one or more persons or +- entities responsible for authorship of the modifications in +- the Modified Version, together with at least five of the +- principal authors of the Document (all of its principal +- authors, if it has fewer than five), unless they release you +- from this requirement. +- +- C. State on the Title page the name of the publisher of the +- Modified Version, as the publisher. +- +- D. Preserve all the copyright notices of the Document. +- +- E. Add an appropriate copyright notice for your modifications +- adjacent to the other copyright notices. +- +- F. Include, immediately after the copyright notices, a license +- notice giving the public permission to use the Modified +- Version under the terms of this License, in the form shown in +- the Addendum below. +- +- G. Preserve in that license notice the full lists of Invariant +- Sections and required Cover Texts given in the Document's +- license notice. +- +- H. Include an unaltered copy of this License. +- +- I. Preserve the section Entitled "History", Preserve its Title, +- and add to it an item stating at least the title, year, new +- authors, and publisher of the Modified Version as given on +- the Title Page. If there is no section Entitled "History" in +- the Document, create one stating the title, year, authors, +- and publisher of the Document as given on its Title Page, +- then add an item describing the Modified Version as stated in +- the previous sentence. +- +- J. Preserve the network location, if any, given in the Document +- for public access to a Transparent copy of the Document, and +- likewise the network locations given in the Document for +- previous versions it was based on. These may be placed in +- the "History" section. You may omit a network location for a +- work that was published at least four years before the +- Document itself, or if the original publisher of the version +- it refers to gives permission. +- +- K. For any section Entitled "Acknowledgements" or "Dedications", +- Preserve the Title of the section, and preserve in the +- section all the substance and tone of each of the contributor +- acknowledgements and/or dedications given therein. +- +- L. Preserve all the Invariant Sections of the Document, +- unaltered in their text and in their titles. Section numbers +- or the equivalent are not considered part of the section +- titles. +- +- M. Delete any section Entitled "Endorsements". Such a section +- may not be included in the Modified Version. +- +- N. Do not retitle any existing section to be Entitled +- "Endorsements" or to conflict in title with any Invariant +- Section. +- +- O. Preserve any Warranty Disclaimers. +- +- If the Modified Version includes new front-matter sections or +- appendices that qualify as Secondary Sections and contain no +- material copied from the Document, you may at your option +- designate some or all of these sections as invariant. To do this, +- add their titles to the list of Invariant Sections in the Modified +- Version's license notice. These titles must be distinct from any +- other section titles. +- +- You may add a section Entitled "Endorsements", provided it contains +- nothing but endorsements of your Modified Version by various +- parties--for example, statements of peer review or that the text +- has been approved by an organization as the authoritative +- definition of a standard. +- +- You may add a passage of up to five words as a Front-Cover Text, +- and a passage of up to 25 words as a Back-Cover Text, to the end +- of the list of Cover Texts in the Modified Version. Only one +- passage of Front-Cover Text and one of Back-Cover Text may be +- added by (or through arrangements made by) any one entity. If the +- Document already includes a cover text for the same cover, +- previously added by you or by arrangement made by the same entity +- you are acting on behalf of, you may not add another; but you may +- replace the old one, on explicit permission from the previous +- publisher that added the old one. +- +- The author(s) and publisher(s) of the Document do not by this +- License give permission to use their names for publicity for or to +- assert or imply endorsement of any Modified Version. +- +- 5. COMBINING DOCUMENTS +- +- You may combine the Document with other documents released under +- this License, under the terms defined in section 4 above for +- modified versions, provided that you include in the combination +- all of the Invariant Sections of all of the original documents, +- unmodified, and list them all as Invariant Sections of your +- combined work in its license notice, and that you preserve all +- their Warranty Disclaimers. +- +- The combined work need only contain one copy of this License, and +- multiple identical Invariant Sections may be replaced with a single +- copy. If there are multiple Invariant Sections with the same name +- but different contents, make the title of each such section unique +- by adding at the end of it, in parentheses, the name of the +- original author or publisher of that section if known, or else a +- unique number. Make the same adjustment to the section titles in +- the list of Invariant Sections in the license notice of the +- combined work. +- +- In the combination, you must combine any sections Entitled +- "History" in the various original documents, forming one section +- Entitled "History"; likewise combine any sections Entitled +- "Acknowledgements", and any sections Entitled "Dedications". You +- must delete all sections Entitled "Endorsements." +- +- 6. COLLECTIONS OF DOCUMENTS +- +- You may make a collection consisting of the Document and other +- documents released under this License, and replace the individual +- copies of this License in the various documents with a single copy +- that is included in the collection, provided that you follow the +- rules of this License for verbatim copying of each of the +- documents in all other respects. +- +- You may extract a single document from such a collection, and +- distribute it individually under this License, provided you insert +- a copy of this License into the extracted document, and follow +- this License in all other respects regarding verbatim copying of +- that document. +- +- 7. AGGREGATION WITH INDEPENDENT WORKS +- +- A compilation of the Document or its derivatives with other +- separate and independent documents or works, in or on a volume of +- a storage or distribution medium, is called an "aggregate" if the +- copyright resulting from the compilation is not used to limit the +- legal rights of the compilation's users beyond what the individual +- works permit. When the Document is included in an aggregate, this +- License does not apply to the other works in the aggregate which +- are not themselves derivative works of the Document. +- +- If the Cover Text requirement of section 3 is applicable to these +- copies of the Document, then if the Document is less than one half +- of the entire aggregate, the Document's Cover Texts may be placed +- on covers that bracket the Document within the aggregate, or the +- electronic equivalent of covers if the Document is in electronic +- form. Otherwise they must appear on printed covers that bracket +- the whole aggregate. +- +- 8. TRANSLATION +- +- Translation is considered a kind of modification, so you may +- distribute translations of the Document under the terms of section +- 4. Replacing Invariant Sections with translations requires special +- permission from their copyright holders, but you may include +- translations of some or all Invariant Sections in addition to the +- original versions of these Invariant Sections. You may include a +- translation of this License, and all the license notices in the +- Document, and any Warranty Disclaimers, provided that you also +- include the original English version of this License and the +- original versions of those notices and disclaimers. In case of a +- disagreement between the translation and the original version of +- this License or a notice or disclaimer, the original version will +- prevail. +- +- If a section in the Document is Entitled "Acknowledgements", +- "Dedications", or "History", the requirement (section 4) to +- Preserve its Title (section 1) will typically require changing the +- actual title. +- +- 9. TERMINATION +- +- You may not copy, modify, sublicense, or distribute the Document +- except as expressly provided under this License. Any attempt +- otherwise to copy, modify, sublicense, or distribute it is void, +- and will automatically terminate your rights under this License. +- +- However, if you cease all violation of this License, then your +- license from a particular copyright holder is reinstated (a) +- provisionally, unless and until the copyright holder explicitly +- and finally terminates your license, and (b) permanently, if the +- copyright holder fails to notify you of the violation by some +- reasonable means prior to 60 days after the cessation. +- +- Moreover, your license from a particular copyright holder is +- reinstated permanently if the copyright holder notifies you of the +- violation by some reasonable means, this is the first time you have +- received notice of violation of this License (for any work) from +- that copyright holder, and you cure the violation prior to 30 days +- after your receipt of the notice. +- +- Termination of your rights under this section does not terminate +- the licenses of parties who have received copies or rights from +- you under this License. If your rights have been terminated and +- not permanently reinstated, receipt of a copy of some or all of +- the same material does not give you any rights to use it. +- +- 10. FUTURE REVISIONS OF THIS LICENSE +- +- The Free Software Foundation may publish new, revised versions of +- the GNU Free Documentation License from time to time. Such new +- versions will be similar in spirit to the present version, but may +- differ in detail to address new problems or concerns. See +- `http://www.gnu.org/copyleft/'. +- +- Each version of the License is given a distinguishing version +- number. If the Document specifies that a particular numbered +- version of this License "or any later version" applies to it, you +- have the option of following the terms and conditions either of +- that specified version or of any later version that has been +- published (not as a draft) by the Free Software Foundation. If +- the Document does not specify a version number of this License, +- you may choose any version ever published (not as a draft) by the +- Free Software Foundation. If the Document specifies that a proxy +- can decide which future versions of this License can be used, that +- proxy's public statement of acceptance of a version permanently +- authorizes you to choose that version for the Document. +- +- 11. RELICENSING +- +- "Massive Multiauthor Collaboration Site" (or "MMC Site") means any +- World Wide Web server that publishes copyrightable works and also +- provides prominent facilities for anybody to edit those works. A +- public wiki that anybody can edit is an example of such a server. +- A "Massive Multiauthor Collaboration" (or "MMC") contained in the +- site means any set of copyrightable works thus published on the MMC +- site. +- +- "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 +- license published by Creative Commons Corporation, a not-for-profit +- corporation with a principal place of business in San Francisco, +- California, as well as future copyleft versions of that license +- published by that same organization. +- +- "Incorporate" means to publish or republish a Document, in whole or +- in part, as part of another Document. +- +- An MMC is "eligible for relicensing" if it is licensed under this +- License, and if all works that were first published under this +- License somewhere other than this MMC, and subsequently +- incorporated in whole or in part into the MMC, (1) had no cover +- texts or invariant sections, and (2) were thus incorporated prior +- to November 1, 2008. +- +- The operator of an MMC Site may republish an MMC contained in the +- site under CC-BY-SA on the same site at any time before August 1, +- 2009, provided the MMC is eligible for relicensing. +- +- +-ADDENDUM: How to use this License for your documents +-==================================================== +- +-To use this License in a document you have written, include a copy of +-the License in the document and put the following copyright and license +-notices just after the title page: +- +- Copyright (C) YEAR YOUR NAME. +- Permission is granted to copy, distribute and/or modify this document +- under the terms of the GNU Free Documentation License, Version 1.3 +- or any later version published by the Free Software Foundation; +- with no Invariant Sections, no Front-Cover Texts, and no Back-Cover +- Texts. A copy of the license is included in the section entitled ``GNU +- Free Documentation License''. +- +- If you have Invariant Sections, Front-Cover Texts and Back-Cover +-Texts, replace the "with...Texts." line with this: +- +- with the Invariant Sections being LIST THEIR TITLES, with +- the Front-Cover Texts being LIST, and with the Back-Cover Texts +- being LIST. +- +- If you have Invariant Sections without Cover Texts, or some other +-combination of the three, merge those two alternatives to suit the +-situation. +- +- If your document contains nontrivial examples of program code, we +-recommend releasing these examples in parallel under your choice of +-free software license, such as the GNU General Public License, to +-permit their use in free software. +- +- +-File: libquadmath.info, Node: Reporting Bugs, Prev: GNU Free Documentation License, Up: Top +- +-4 Reporting Bugs +-**************** +- +-Bugs in the GCC Quad-Precision Math Library implementation should be +-reported via `http://gcc.gnu.org/bugs.html'. +- +- +- +-Tag Table: +-Node: Top1661 +-Node: Typedef and constants2395 +-Node: Math Library Routines3813 +-Node: I/O Library Routines7618 +-Node: strtoflt1287943 +-Node: quadmath_snprintf8703 +-Node: GNU Free Documentation License10894 +-Node: Reporting Bugs36060 +- +-End Tag Table +diff -Naur gcc-4.6.3.orig/libstdc++-v3/acinclude.m4 gcc-4.6.3/libstdc++-v3/acinclude.m4 +--- gcc-4.6.3.orig/libstdc++-v3/acinclude.m4 2011-10-05 18:09:51.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/acinclude.m4 2012-07-22 11:46:02.814828000 -0500 +@@ -3213,6 +3213,58 @@ + ]) + ]) + ++dnl ++dnl Check whether gthreads types can be copy-assigned in C++11 mode. ++dnl ++AC_DEFUN([GLIBCXX_GTHREADS_CXX11_COPY_ASSIGN], [ ++ ++ AC_LANG_SAVE ++ AC_LANG_CPLUSPLUS ++ ac_save_CXXFLAGS="$CXXFLAGS" ++ CXXFLAGS="$CXXFLAGS -std=c++0x -I${toplevel_srcdir}/gcc" ++ ++ target_thread_file=`$CXX -v 2>&1 | sed -n 's/^Thread model: //p'` ++ case $target_thread_file in ++ posix) ++ CXXFLAGS="$CXXFLAGS -DSUPPORTS_WEAK -DGTHREAD_USE_WEAK -D_PTHREADS" ++ esac ++ ++ AC_MSG_CHECKING([whether gthreads types are copy-assignable in C++11 mode]) ++ ++ AC_TRY_COMPILE([#include "gthr.h"], ++ [ ++ #ifdef __GTHREAD_MUTEX_INIT ++ __gthread_mutex_t m1; ++ __gthread_mutex_t m2 = __GTHREAD_MUTEX_INIT; ++ m1 = m2; ++ #endif ++ #ifdef __GTHREAD_RECURSIVE_MUTEX_INIT ++ __gthread_recursive_mutex_t r1; ++ __gthread_recursive_mutex_t r2 = __GTHREAD_RECURSIVE_MUTEX_INIT; ++ r1 = r2; ++ #endif ++ #ifdef __GTHREAD_HAS_COND ++ #ifdef __GTHREAD_COND_INIT ++ __gthread_cond_t c1; ++ __gthread_cond_t c2 = __GTHREAD_COND_INIT; ++ c1 = c2; ++ #endif ++ #endif ++ ], [ac_gthread_cxx11_copy_assign=1], [ac_gthread_cxx11_copy_assign=0]) ++ ++ if test $ac_gthread_cxx11_copy_assign = 1 ; then res_gthr_copy_assign=yes ; ++ else res_gthr_copy_assign=no ; fi ++ AC_MSG_RESULT([$res_gthr_copy_assign]) ++ ++ if test x"$res_gthr_copy_assign" = x"no"; then ++ AC_DEFINE(_GLIBCXX_GTHREADS_NO_COPY_ASSIGN_IN_CXX11, 1, ++ [Define if gthreads types cannot be copy-assigned in C++11.]) ++ fi ++ ++ CXXFLAGS="$ac_save_CXXFLAGS" ++ AC_LANG_RESTORE ++]) ++ + # Macros from the top-level gcc directory. + m4_include([../config/gc++filt.m4]) + m4_include([../config/tls.m4]) +diff -Naur gcc-4.6.3.orig/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h gcc-4.6.3/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h +--- gcc-4.6.3.orig/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h 2011-01-30 16:39:36.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h 2012-06-20 03:30:55.151768000 -0500 +@@ -1,6 +1,6 @@ + // Locale support -*- C++ -*- + +-// Copyright (C) 2000, 2009 Free Software Foundation, Inc. ++// Copyright (C) 2000, 2009, 2011, 2012 Free Software Foundation, Inc. + // + // This file is part of the GNU ISO C++ Library. This library is free + // software; you can redistribute it and/or modify it under the +@@ -31,8 +31,6 @@ + // anoncvs@anoncvs.netbsd.org:/cvsroot/basesrc/include/ctype.h + // See www.netbsd.org for details of access. + +-#include +- + namespace std _GLIBCXX_VISIBILITY(default) + { + _GLIBCXX_BEGIN_NAMESPACE_VERSION +@@ -47,7 +45,7 @@ + // on the mask type. Because of this, we don't use an enum. + typedef unsigned char mask; + +-#if __NetBSD_Version__ < 599004100 ++#ifndef _CTYPE_U + static const mask upper = _U; + static const mask lower = _L; + static const mask alpha = _U | _L; +diff -Naur gcc-4.6.3.orig/libstdc++-v3/config.h.in gcc-4.6.3/libstdc++-v3/config.h.in +--- gcc-4.6.3.orig/libstdc++-v3/config.h.in 2010-07-27 05:36:50.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/config.h.in 2012-07-22 11:46:02.814828000 -0500 +@@ -692,6 +692,9 @@ + /* Define if a fully dynamic basic_string is wanted. */ + #undef _GLIBCXX_FULLY_DYNAMIC_STRING + ++/* Define if gthreads types cannot be copy-assigned in C++11. */ ++#undef _GLIBCXX_GTHREADS_NO_COPY_ASSIGN_IN_CXX11 ++ + /* Define if gthreads library is available. */ + #undef _GLIBCXX_HAS_GTHREADS + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/configure gcc-4.6.3/libstdc++-v3/configure +--- gcc-4.6.3.orig/libstdc++-v3/configure 2011-11-20 15:24:07.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/configure 2012-07-22 11:46:02.814828000 -0500 +@@ -19477,6 +19477,84 @@ + + + ++# For copy-assignable gthreads types ++ ++ ++ ++ ac_ext=cpp ++ac_cpp='$CXXCPP $CPPFLAGS' ++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ++ ++ ac_save_CXXFLAGS="$CXXFLAGS" ++ CXXFLAGS="$CXXFLAGS -std=c++0x -I${toplevel_srcdir}/gcc" ++ ++ target_thread_file=`$CXX -v 2>&1 | sed -n 's/^Thread model: //p'` ++ case $target_thread_file in ++ posix) ++ CXXFLAGS="$CXXFLAGS -DSUPPORTS_WEAK -DGTHREAD_USE_WEAK -D_PTHREADS" ++ esac ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gthreads types are copy-assignable in C++11 mode" >&5 ++$as_echo_n "checking whether gthreads types are copy-assignable in C++11 mode... " >&6; } ++ ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++#include "gthr.h" ++int ++main () ++{ ++ ++ #ifdef __GTHREAD_MUTEX_INIT ++ __gthread_mutex_t m1; ++ __gthread_mutex_t m2 = __GTHREAD_MUTEX_INIT; ++ m1 = m2; ++ #endif ++ #ifdef __GTHREAD_RECURSIVE_MUTEX_INIT ++ __gthread_recursive_mutex_t r1; ++ __gthread_recursive_mutex_t r2 = __GTHREAD_RECURSIVE_MUTEX_INIT; ++ r1 = r2; ++ #endif ++ #ifdef __GTHREAD_HAS_COND ++ #ifdef __GTHREAD_COND_INIT ++ __gthread_cond_t c1; ++ __gthread_cond_t c2 = __GTHREAD_COND_INIT; ++ c1 = c2; ++ #endif ++ #endif ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_cxx_try_compile "$LINENO"; then : ++ ac_gthread_cxx11_copy_assign=1 ++else ++ ac_gthread_cxx11_copy_assign=0 ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ ++ if test $ac_gthread_cxx11_copy_assign = 1 ; then res_gthr_copy_assign=yes ; ++ else res_gthr_copy_assign=no ; fi ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $res_gthr_copy_assign" >&5 ++$as_echo "$res_gthr_copy_assign" >&6; } ++ ++ if test x"$res_gthr_copy_assign" = x"no"; then ++ ++$as_echo "#define _GLIBCXX_GTHREADS_NO_COPY_ASSIGN_IN_CXX11 1" >>confdefs.h ++ ++ fi ++ ++ CXXFLAGS="$ac_save_CXXFLAGS" ++ ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++ ++ ++ + + ac_fn_c_check_header_mongrel "$LINENO" "locale.h" "ac_cv_header_locale_h" "$ac_includes_default" + if test "x$ac_cv_header_locale_h" = x""yes; then : +diff -Naur gcc-4.6.3.orig/libstdc++-v3/configure.ac gcc-4.6.3/libstdc++-v3/configure.ac +--- gcc-4.6.3.orig/libstdc++-v3/configure.ac 2011-10-05 18:09:51.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/configure.ac 2012-07-22 11:46:02.814828000 -0500 +@@ -164,6 +164,9 @@ + # For gthread support + GLIBCXX_CHECK_GTHREADS + ++# For copy-assignable gthreads types ++GLIBCXX_GTHREADS_CXX11_COPY_ASSIGN ++ + AC_LC_MESSAGES + + # Check for available headers. +diff -Naur gcc-4.6.3.orig/libstdc++-v3/include/bits/stl_algo.h gcc-4.6.3/libstdc++-v3/include/bits/stl_algo.h +--- gcc-4.6.3.orig/libstdc++-v3/include/bits/stl_algo.h 2011-09-27 03:22:07.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/include/bits/stl_algo.h 2012-04-12 17:26:02.694716000 -0500 +@@ -1811,7 +1811,8 @@ + for (; __first != __last; ++__first) + if (__pred(*__first)) + { +- *__result1 = _GLIBCXX_MOVE(*__first); ++ if (__result1 != __first) ++ *__result1 = _GLIBCXX_MOVE(*__first); + ++__result1; + } + else +diff -Naur gcc-4.6.3.orig/libstdc++-v3/include/debug/safe_iterator.h gcc-4.6.3/libstdc++-v3/include/debug/safe_iterator.h +--- gcc-4.6.3.orig/libstdc++-v3/include/debug/safe_iterator.h 2011-01-21 13:41:13.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/include/debug/safe_iterator.h 2012-03-08 16:31:19.955944000 -0600 +@@ -1,6 +1,6 @@ + // Safe iterator implementation -*- C++ -*- + +-// Copyright (C) 2003, 2004, 2005, 2006, 2009, 2010, 2011 ++// Copyright (C) 2003, 2004, 2005, 2006, 2009, 2010, 2011, 2012 + // Free Software Foundation, Inc. + // + // This file is part of the GNU ISO C++ Library. This library is free +@@ -142,6 +142,24 @@ + ._M_iterator(__x, "other")); + } + ++#ifdef __GXX_EXPERIMENTAL_CXX0X__ ++ /** ++ * @brief Move construction. ++ * @post __x is singular and unattached ++ */ ++ _Safe_iterator(_Safe_iterator&& __x) : _M_current() ++ { ++ _GLIBCXX_DEBUG_VERIFY(!__x._M_singular() ++ || __x._M_current == _Iterator(), ++ _M_message(__msg_init_copy_singular) ++ ._M_iterator(*this, "this") ++ ._M_iterator(__x, "other")); ++ std::swap(_M_current, __x._M_current); ++ this->_M_attach(__x._M_sequence); ++ __x._M_detach(); ++ } ++#endif ++ + /** + * @brief Converting constructor from a mutable iterator to a + * constant iterator. +@@ -181,6 +199,27 @@ + return *this; + } + ++#ifdef __GXX_EXPERIMENTAL_CXX0X__ ++ /** ++ * @brief Move assignment. ++ * @post __x is singular and unattached ++ */ ++ _Safe_iterator& ++ operator=(_Safe_iterator&& __x) ++ { ++ _GLIBCXX_DEBUG_VERIFY(!__x._M_singular() ++ || __x._M_current == _Iterator(), ++ _M_message(__msg_copy_singular) ++ ._M_iterator(*this, "this") ++ ._M_iterator(__x, "other")); ++ _M_current = __x._M_current; ++ _M_attach(__x._M_sequence); ++ __x._M_detach(); ++ __x._M_current = _Iterator(); ++ return *this; ++ } ++#endif ++ + /** + * @brief Iterator dereference. + * @pre iterator is dereferenceable +@@ -415,7 +454,9 @@ + /// Is this iterator equal to the sequence's before_begin() iterator if + /// any? + bool _M_is_before_begin() const +- { return _BeforeBeginHelper<_Sequence>::_M_Is(base(), _M_get_sequence()); } ++ { ++ return _BeforeBeginHelper<_Sequence>::_M_Is(base(), _M_get_sequence()); ++ } + }; + + template +diff -Naur gcc-4.6.3.orig/libstdc++-v3/include/ext/concurrence.h gcc-4.6.3/libstdc++-v3/include/ext/concurrence.h +--- gcc-4.6.3.orig/libstdc++-v3/include/ext/concurrence.h 2011-01-30 16:39:36.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/include/ext/concurrence.h 2012-07-22 11:46:02.814828000 -0500 +@@ -1,6 +1,6 @@ + // Support for concurrent programing -*- C++ -*- + +-// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 ++// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 + // Free Software Foundation, Inc. + // + // This file is part of the GNU ISO C++ Library. This library is free +@@ -140,6 +140,18 @@ + } + #endif + ++ template ++ static inline void ++ __copy_gthr_type(_Tp& __to, const _Tp& __from) ++ { ++#if defined __GXX_EXPERIMENTAL_CXX0X__ \ ++ && defined _GLIBCXX_GTHREADS_NO_COPY_ASSIGN_IN_CXX11 ++ __builtin_memcpy(&__to, &__from, sizeof(__to)); ++#else ++ __to = __from; ++#endif ++ } ++ + class __mutex + { + private: +@@ -156,7 +168,7 @@ + { + #if defined __GTHREAD_MUTEX_INIT + __gthread_mutex_t __tmp = __GTHREAD_MUTEX_INIT; +- _M_mutex = __tmp; ++ __copy_gthr_type(_M_mutex, __tmp); + #else + __GTHREAD_MUTEX_INIT_FUNCTION(&_M_mutex); + #endif +@@ -214,7 +226,7 @@ + { + #if defined __GTHREAD_RECURSIVE_MUTEX_INIT + __gthread_recursive_mutex_t __tmp = __GTHREAD_RECURSIVE_MUTEX_INIT; +- _M_mutex = __tmp; ++ __copy_gthr_type(_M_mutex, __tmp); + #else + __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION(&_M_mutex); + #endif +@@ -270,7 +282,7 @@ + + // matches a gthr-win32.h recursive mutex + template +- static typename __enable_if::__type ++ static typename __enable_if<(bool)sizeof(&_Rm::sema), void>::__type + _S_destroy(_Rm* __mx) + { + __gthread_mutex_t __tmp; +@@ -279,7 +291,7 @@ + + // matches a recursive mutex with a member 'actual' + template +- static typename __enable_if::__type ++ static typename __enable_if<(bool)sizeof(&_Rm::actual), void>::__type + _S_destroy(_Rm* __mx) + { __gthread_mutex_destroy(&__mx->actual); } + +@@ -332,7 +344,7 @@ + { + #if defined __GTHREAD_COND_INIT + __gthread_cond_t __tmp = __GTHREAD_COND_INIT; +- _M_cond = __tmp; ++ __copy_gthr_type(_M_cond, __tmp); + #else + __GTHREAD_COND_INIT_FUNCTION(&_M_cond); + #endif +diff -Naur gcc-4.6.3.orig/libstdc++-v3/include/ext/rope gcc-4.6.3/libstdc++-v3/include/ext/rope +--- gcc-4.6.3.orig/libstdc++-v3/include/ext/rope 2011-01-30 16:39:36.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/include/ext/rope 2012-07-22 11:46:02.814828000 -0500 +@@ -1,7 +1,7 @@ + // SGI's rope class -*- C++ -*- + +-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +-// Free Software Foundation, Inc. ++// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, ++// 2012 Free Software Foundation, Inc. + // + // This file is part of the GNU ISO C++ Library. This library is free + // software; you can redistribute it and/or modify it under the +@@ -445,6 +445,17 @@ + identity_element(_Rope_Concat_fn<_CharT, _Alloc>) + { return rope<_CharT, _Alloc>(); } + ++ static inline void ++ __copy_gthr_mutex(__gthread_mutex_t& __to, const __gthread_mutex_t& __from) ++ { ++#if defined __GXX_EXPERIMENTAL_CXX0X__ \ ++ && defined _GLIBCXX_GTHREADS_NO_COPY_ASSIGN_IN_CXX11 ++ __builtin_memcpy(&__to, &__from, sizeof(__to)); ++#else ++ __to = __from; ++#endif ++ } ++ + // Class _Refcount_Base provides a type, _RC_t, a data member, + // _M_ref_count, and member functions _M_incr and _M_decr, which perform + // atomic preincrement/predecrement. The constructor initializes +@@ -464,7 +475,7 @@ + { + #ifdef __GTHREAD_MUTEX_INIT + __gthread_mutex_t __tmp = __GTHREAD_MUTEX_INIT; +- _M_ref_count_lock = __tmp; ++ __copy_gthr_mutex(_M_ref_count_lock, __tmp); + #elif defined(__GTHREAD_MUTEX_INIT_FUNCTION) + __GTHREAD_MUTEX_INIT_FUNCTION (&_M_ref_count_lock); + #else +@@ -605,7 +616,7 @@ + { + // Do not copy a POSIX/gthr mutex once in use. However, bits are bits. + __gthread_mutex_t __tmp = __GTHREAD_MUTEX_INIT; +- _M_c_string_lock = __tmp; ++ __copy_gthr_mutex(_M_c_string_lock, __tmp); + } + #else + { __GTHREAD_MUTEX_INIT_FUNCTION (&_M_c_string_lock); } +diff -Naur gcc-4.6.3.orig/libstdc++-v3/include/std/condition_variable gcc-4.6.3/libstdc++-v3/include/std/condition_variable +--- gcc-4.6.3.orig/libstdc++-v3/include/std/condition_variable 2011-12-18 18:34:29.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/include/std/condition_variable 2012-07-04 20:10:10.791368000 -0500 +@@ -1,6 +1,6 @@ + // -*- C++ -*- + +-// Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. ++// Copyright (C) 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. + // + // This file is part of the GNU ISO C++ Library. This library is free + // software; you can redistribute it and/or modify it under the +@@ -171,6 +171,26 @@ + condition_variable _M_cond; + mutex _M_mutex; + ++ // scoped unlock - unlocks in ctor, re-locks in dtor ++ template ++ struct _Unlock ++ { ++ explicit _Unlock(_Lock& __lk) : _M_lock(__lk) { __lk.unlock(); } ++ ++ ~_Unlock() noexcept(false) ++ { ++ if (uncaught_exception()) ++ __try { _M_lock.lock(); } __catch(...) { } ++ else ++ _M_lock.lock(); ++ } ++ ++ _Unlock(const _Unlock&) = delete; ++ _Unlock& operator=(const _Unlock&) = delete; ++ ++ _Lock& _M_lock; ++ }; ++ + public: + typedef condition_variable::native_handle_type native_handle_type; + +@@ -198,21 +218,8 @@ + void + wait(_Lock& __lock) + { +- // scoped unlock - unlocks in ctor, re-locks in dtor +- struct _Unlock { +- explicit _Unlock(_Lock& __lk) : _M_lock(__lk) { __lk.unlock(); } +- ~_Unlock() noexcept(false) +- { +- if (uncaught_exception()) +- __try { _M_lock.lock(); } __catch(...) { } +- else +- _M_lock.lock(); +- } +- _Lock& _M_lock; +- }; +- + unique_lock __my_lock(_M_mutex); +- _Unlock __unlock(__lock); ++ _Unlock<_Lock> __unlock(__lock); + // _M_mutex must be unlocked before re-locking __lock so move + // ownership of _M_mutex lock to an object with shorter lifetime. + unique_lock __my_lock2(std::move(__my_lock)); +@@ -233,11 +240,12 @@ + wait_until(_Lock& __lock, + const chrono::time_point<_Clock, _Duration>& __atime) + { +- unique_lock __my_lock(_M_mutex); +- __lock.unlock(); +- cv_status __status = _M_cond.wait_until(__my_lock, __atime); +- __lock.lock(); +- return __status; ++ unique_lock __my_lock(_M_mutex); ++ _Unlock<_Lock> __unlock(__lock); ++ // _M_mutex must be unlocked before re-locking __lock so move ++ // ownership of _M_mutex lock to an object with shorter lifetime. ++ unique_lock __my_lock2(std::move(__my_lock)); ++ return _M_cond.wait_until(__my_lock2, __atime); + } + + template +- static typename enable_if::type ++ static typename enable_if<(bool)sizeof(&_Rm::sema), void>::type + _S_destroy(_Rm* __mx) + { + __gthread_mutex_t __tmp; +@@ -139,7 +139,7 @@ + + // matches a recursive mutex with a member 'actual' + template +- static typename enable_if::type ++ static typename enable_if<(bool)sizeof(&_Rm::actual), void>::type + _S_destroy(_Rm* __mx) + { __gthread_mutex_destroy(&__mx->actual); } + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/src/condition_variable.cc gcc-4.6.3/libstdc++-v3/src/condition_variable.cc +--- gcc-4.6.3.orig/libstdc++-v3/src/condition_variable.cc 2011-01-30 16:39:36.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/src/condition_variable.cc 2012-07-22 11:46:02.814828000 -0500 +@@ -1,6 +1,6 @@ + // condition_variable -*- C++ -*- + +-// Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. ++// Copyright (C) 2008, 2009, 2010, 2012 Free Software Foundation, Inc. + // + // This file is part of the GNU ISO C++ Library. This library is free + // software; you can redistribute it and/or modify it under the +@@ -34,7 +34,12 @@ + { + #ifdef __GTHREAD_COND_INIT + __native_type __tmp = __GTHREAD_COND_INIT; ++#if defined __GXX_EXPERIMENTAL_CXX0X__ \ ++ && defined _GLIBCXX_GTHREADS_NO_COPY_ASSIGN_IN_CXX11 ++ __builtin_memcpy(&_M_cond, &__tmp, sizeof(_M_cond)); ++#else + _M_cond = __tmp; ++#endif + #else + int __e = __gthread_cond_init(&_M_cond, 0); + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/18_support/initializer_list/range_access.cc gcc-4.6.3/libstdc++-v3/testsuite/18_support/initializer_list/range_access.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/18_support/initializer_list/range_access.cc 2010-07-27 12:27:06.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/18_support/initializer_list/range_access.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -10,7 +10,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/move_iterators/1.cc gcc-4.6.3/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/move_iterators/1.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/move_iterators/1.cc 2009-09-01 05:19:11.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/move_iterators/1.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy_n/move_iterators/1.cc gcc-4.6.3/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy_n/move_iterators/1.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy_n/move_iterators/1.cc 2009-09-01 05:19:11.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy_n/move_iterators/1.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -11,7 +11,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc gcc-4.6.3/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc 2010-01-08 07:01:24.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -11,7 +11,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc gcc-4.6.3/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc 2010-01-08 07:01:24.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -11,7 +11,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/21_strings/basic_string/range_access.cc gcc-4.6.3/libstdc++-v3/testsuite/21_strings/basic_string/range_access.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/21_strings/basic_string/range_access.cc 2010-07-27 12:27:06.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/21_strings/basic_string/range_access.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -10,7 +10,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/22_locale/ctype_base/53678.cc gcc-4.6.3/libstdc++-v3/testsuite/22_locale/ctype_base/53678.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/22_locale/ctype_base/53678.cc 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/22_locale/ctype_base/53678.cc 2012-06-20 03:30:55.151768000 -0500 +@@ -0,0 +1,28 @@ ++// Copyright (C) 2012 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// You should have received a copy of the GNU General Public License along ++// with this library; see the file COPYING3. If not see ++// . ++ ++// { dg-do compile } ++ ++// 22.2.1 The ctype category ++ ++#include ++ ++// libstdc++/53678 ++void test01() ++{ ++ bool NetBSD __attribute__((unused)) = true; ++} +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/22_locale/num_put/put/char/9780-2.cc gcc-4.6.3/libstdc++-v3/testsuite/22_locale/num_put/put/char/9780-2.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/22_locale/num_put/put/char/9780-2.cc 2010-09-15 05:46:39.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/22_locale/num_put/put/char/9780-2.cc 2012-09-27 16:00:14.870001000 -0500 +@@ -1,7 +1,7 @@ + // { dg-require-namedlocale "de_DE" } + // { dg-require-namedlocale "es_ES" } + +-// Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc. ++// Copyright (C) 2004-2012 Free Software Foundation, Inc. + // + // This file is part of the GNU ISO C++ Library. This library is free + // software; you can redistribute it and/or modify it under the +@@ -22,23 +22,60 @@ + #include + #include + +-int main() ++// Make sure that formatted output uses the locale in the output stream. ++using namespace std; ++locale l1 = locale("de_DE"); ++const num_put& np = use_facet >(l1); ++const numpunct& npunct = use_facet >(l1); ++ ++void test01() + { +- using namespace std; ++ bool test __attribute__((unused)) = true; ++ ++ locale l2 = locale("C"); ++ const numpunct& npunct2 = use_facet >(l2); ++ char c = npunct2.thousands_sep(); ++ string s = npunct2.grouping(); ++ ++ ostringstream oss; ++ oss.imbue(l2); ++ ++ long l = 1234567890; ++ np.put(oss.rdbuf(), oss, ' ', l); ++ string res = oss.str(); ++ ++ VERIFY( res == "1234567890" ); ++} + ++void test02() ++{ + bool test __attribute__((unused)) = true; +- locale l1 = locale("de_DE"); ++ + locale l2 = locale("es_ES"); +- +- const num_put& np = use_facet >(l1); ++ const numpunct& npunct3 = use_facet >(l2); ++ char c = npunct3.thousands_sep(); ++ string s = npunct3.grouping(); ++ + ostringstream oss; + oss.imbue(l2); + + long l = 1234567890; +- np.put(oss.rdbuf(), oss, ' ', l); // 1234567890 ++ np.put(oss.rdbuf(), oss, ' ', l); + string res = oss.str(); +- +- VERIFY( res == "1234567890" ); + ++ if (!s.empty()) ++ VERIFY( res == "1.234.567.890" ); ++ else ++ VERIFY( res == "1234567890" ); ++} ++ ++int main() ++{ ++ // Sanity check. ++ char c = npunct.thousands_sep(); ++ string s = npunct.grouping(); ++ ++ test01(); ++ test02(); + return 0; + } +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/array/range_access.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/array/range_access.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/array/range_access.cc 2010-08-10 05:28:47.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/array/range_access.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -10,7 +10,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/deque/capacity/29134-2.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/deque/capacity/29134-2.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/deque/capacity/29134-2.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/deque/capacity/29134-2.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/deque/capacity/29134.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/deque/capacity/29134.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/deque/capacity/29134.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/deque/capacity/29134.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/deque/capacity/shrink_to_fit.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/deque/capacity/shrink_to_fit.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/deque/capacity/shrink_to_fit.cc 2010-01-08 07:01:24.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/deque/capacity/shrink_to_fit.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -11,7 +11,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/deque/range_access.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/deque/range_access.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/deque/range_access.cc 2010-07-27 12:27:06.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/deque/range_access.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -10,7 +10,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/capacity/1.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/capacity/1.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/capacity/1.cc 2011-01-30 16:39:36.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/capacity/1.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/cons/1.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/cons/1.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/cons/1.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/cons/1.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/cons/2.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/cons/2.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/cons/2.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/cons/2.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/cons/3.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/cons/3.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/cons/3.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/cons/3.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/cons/4.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/cons/4.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/cons/4.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/cons/4.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/cons/5.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/cons/5.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/cons/5.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/cons/5.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/cons/6.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/cons/6.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/cons/6.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/cons/6.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/cons/7.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/cons/7.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/cons/7.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/cons/7.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/cons/8.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/cons/8.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/cons/8.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/cons/8.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/cons/9.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/cons/9.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/cons/9.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/cons/9.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/clear.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/clear.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/clear.cc 2010-11-25 14:53:39.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/clear.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after1_neg.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after1_neg.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after1_neg.cc 2011-01-16 04:35:28.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after1_neg.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -11,7 +11,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after2_neg.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after2_neg.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after2_neg.cc 2011-01-16 04:35:28.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after2_neg.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -11,7 +11,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after3_neg.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after3_neg.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after3_neg.cc 2011-01-16 04:35:28.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after3_neg.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -11,7 +11,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after4_neg.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after4_neg.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after4_neg.cc 2011-01-16 04:35:28.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after4_neg.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -11,7 +11,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after5_neg.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after5_neg.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after5_neg.cc 2011-01-16 04:35:28.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after5_neg.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -11,7 +11,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after6_neg.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after6_neg.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after6_neg.cc 2011-01-16 04:35:28.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after6_neg.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -11,7 +11,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after7_neg.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after7_neg.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after7_neg.cc 2011-01-16 04:35:28.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after7_neg.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -11,7 +11,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after8_neg.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after8_neg.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after8_neg.cc 2011-01-16 04:35:28.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after8_neg.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -11,7 +11,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after9_neg.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after9_neg.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after9_neg.cc 2011-01-16 04:35:28.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after9_neg.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -11,7 +11,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after1_neg.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after1_neg.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after1_neg.cc 2011-01-16 04:35:28.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after1_neg.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -11,7 +11,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after2_neg.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after2_neg.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after2_neg.cc 2011-01-16 04:35:28.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after2_neg.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -11,7 +11,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after3_neg.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after3_neg.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after3_neg.cc 2011-01-16 04:35:28.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after3_neg.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -11,7 +11,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/move_constructor.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/move_constructor.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/move_constructor.cc 2010-11-25 14:53:39.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/move_constructor.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after1_neg.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after1_neg.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after1_neg.cc 2011-01-16 04:35:28.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after1_neg.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -11,7 +11,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after2_neg.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after2_neg.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after2_neg.cc 2011-01-16 04:35:28.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after2_neg.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -11,7 +11,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after3_neg.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after3_neg.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after3_neg.cc 2011-01-16 04:35:28.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after3_neg.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -11,7 +11,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after4_neg.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after4_neg.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after4_neg.cc 2011-01-16 04:35:28.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after4_neg.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -11,7 +11,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after.cc 2010-11-25 14:53:39.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/swap.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/swap.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/debug/swap.cc 2011-01-05 14:52:36.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/debug/swap.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/1.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/1.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/1.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/1.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/2.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/2.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/2.cc 2010-03-15 20:32:53.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/2.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/3.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/3.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/3.cc 2010-10-17 12:34:38.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/3.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/4.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/4.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/4.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/4.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/5.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/5.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/5.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/5.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/operations/1.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/operations/1.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/operations/1.cc 2009-07-31 21:26:32.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/operations/1.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/operations/2.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/operations/2.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/operations/2.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/operations/2.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/operations/3.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/operations/3.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/operations/3.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/operations/3.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/operations/4.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/operations/4.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/operations/4.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/operations/4.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/operations/5.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/operations/5.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/operations/5.cc 2009-07-31 21:26:32.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/operations/5.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/operations/6.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/operations/6.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/operations/6.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/operations/6.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/operations/7.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/operations/7.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/operations/7.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/operations/7.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/range_access.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/range_access.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/forward_list/range_access.cc 2010-07-27 12:27:06.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/forward_list/range_access.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -10,7 +10,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/capacity/1.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/capacity/1.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/capacity/1.cc 2009-06-17 20:40:44.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/capacity/1.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/capacity/1.h gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/capacity/1.h +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/capacity/1.h 2009-06-17 20:40:44.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/capacity/1.h 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/capacity/29134.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/capacity/29134.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/capacity/29134.cc 2011-01-30 16:39:36.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/capacity/29134.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/modifiers/1_c++0x.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/modifiers/1_c++0x.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/modifiers/1_c++0x.cc 2009-12-14 04:26:09.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/modifiers/1_c++0x.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/modifiers/1.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/modifiers/1.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/modifiers/1.cc 2009-06-17 20:40:44.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/modifiers/1.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/modifiers/1.h gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/modifiers/1.h +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/modifiers/1.h 2009-11-19 13:21:05.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/modifiers/1.h 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/modifiers/2.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/modifiers/2.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/modifiers/2.cc 2009-06-17 20:40:44.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/modifiers/2.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/modifiers/2.h gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/modifiers/2.h +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/modifiers/2.h 2009-11-19 13:21:05.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/modifiers/2.h 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/modifiers/3.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/modifiers/3.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/modifiers/3.cc 2009-06-17 20:40:44.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/modifiers/3.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/modifiers/3.h gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/modifiers/3.h +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/modifiers/3.h 2009-11-19 13:21:05.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/modifiers/3.h 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.cc 2009-12-15 23:16:46.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.h gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.h +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.h 2009-12-15 23:16:46.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.h 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/operations/1.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/operations/1.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/operations/1.cc 2009-06-17 20:40:44.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/operations/1.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/operations/1.h gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/operations/1.h +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/operations/1.h 2009-06-17 20:40:44.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/operations/1.h 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/operations/2_c++0x.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/operations/2_c++0x.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/operations/2_c++0x.cc 2009-12-14 04:26:09.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/operations/2_c++0x.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/operations/2.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/operations/2.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/operations/2.cc 2009-06-17 20:40:44.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/operations/2.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/operations/2.h gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/operations/2.h +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/operations/2.h 2009-06-17 20:40:44.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/operations/2.h 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/operations/3_c++0x.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/operations/3_c++0x.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/operations/3_c++0x.cc 2009-12-14 04:26:09.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/operations/3_c++0x.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/operations/3.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/operations/3.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/operations/3.cc 2009-06-17 20:40:44.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/operations/3.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/operations/3.h gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/operations/3.h +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/operations/3.h 2009-06-17 20:40:44.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/operations/3.h 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/operations/42352.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/operations/42352.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/operations/42352.cc 2009-12-11 16:04:56.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/operations/42352.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/operations/4.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/operations/4.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/operations/4.cc 2009-06-17 20:40:44.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/operations/4.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/operations/4.h gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/operations/4.h +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/operations/4.h 2009-06-17 20:40:44.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/operations/4.h 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/operations/5.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/operations/5.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/operations/5.cc 2009-06-17 20:40:44.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/operations/5.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/operations/5.h gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/operations/5.h +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/operations/5.h 2009-06-17 20:40:44.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/operations/5.h 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/range_access.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/range_access.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/list/range_access.cc 2010-07-27 12:27:06.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/list/range_access.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -10,7 +10,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/map/capacity/29134.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/map/capacity/29134.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/map/capacity/29134.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/map/capacity/29134.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/map/range_access.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/map/range_access.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/map/range_access.cc 2010-07-27 12:27:06.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/map/range_access.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -10,7 +10,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/multimap/capacity/29134.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/multimap/capacity/29134.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/multimap/capacity/29134.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/multimap/capacity/29134.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/multimap/range_access.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/multimap/range_access.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/multimap/range_access.cc 2010-07-27 12:27:06.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/multimap/range_access.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -10,7 +10,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/multiset/capacity/29134.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/multiset/capacity/29134.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/multiset/capacity/29134.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/multiset/capacity/29134.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/multiset/range_access.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/multiset/range_access.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/multiset/range_access.cc 2010-07-27 12:27:06.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/multiset/range_access.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -10,7 +10,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/set/capacity/29134.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/set/capacity/29134.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/set/capacity/29134.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/set/capacity/29134.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/set/range_access.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/set/range_access.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/set/range_access.cc 2010-07-27 12:27:06.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/set/range_access.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -10,7 +10,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/unordered_map/range_access.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/unordered_map/range_access.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/unordered_map/range_access.cc 2010-07-27 12:27:06.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/unordered_map/range_access.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -10,7 +10,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/unordered_multimap/range_access.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/unordered_multimap/range_access.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/unordered_multimap/range_access.cc 2010-07-27 12:27:06.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/unordered_multimap/range_access.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -10,7 +10,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/unordered_multiset/range_access.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/unordered_multiset/range_access.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/unordered_multiset/range_access.cc 2010-07-27 12:27:06.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/unordered_multiset/range_access.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -10,7 +10,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/unordered_set/range_access.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/unordered_set/range_access.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/unordered_set/range_access.cc 2010-07-27 12:27:06.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/unordered_set/range_access.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -10,7 +10,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/29134.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/29134.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/29134.cc 2011-01-30 16:39:36.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/29134.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/31370.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/31370.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/31370.cc 2011-01-30 16:39:36.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/31370.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/vector/capacity/29134-2.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/vector/capacity/29134-2.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/vector/capacity/29134-2.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/vector/capacity/29134-2.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/vector/capacity/29134.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/vector/capacity/29134.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/vector/capacity/29134.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/vector/capacity/29134.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/vector/capacity/shrink_to_fit.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/vector/capacity/shrink_to_fit.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/vector/capacity/shrink_to_fit.cc 2010-01-08 07:01:24.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/vector/capacity/shrink_to_fit.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -11,7 +11,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/vector/debug/52433.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/vector/debug/52433.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/vector/debug/52433.cc 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/vector/debug/52433.cc 2012-03-08 16:31:19.955944000 -0600 +@@ -0,0 +1,43 @@ ++// Copyright (C) 2012 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++// ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++// ++// You should have received a copy of the GNU General Public License along ++// with this library; see the file COPYING3. If not see ++// . ++// ++// { dg-require-debug-mode "" } ++// { dg-options "-std=gnu++0x" } ++// { dg-do compile } ++ ++// PR libstdc++/52433 ++ ++#include ++ ++struct X ++{ ++ std::vector::iterator i; ++ ++ X() = default; ++ X(const X&) = default; ++ X(X&&) = default; ++ X& operator=(const X&) = default; ++ X& operator=(X&&) = default; ++}; ++ ++X test01() ++{ ++ X x; ++ x = X(); ++ return x; ++} ++ +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/vector/range_access.cc gcc-4.6.3/libstdc++-v3/testsuite/23_containers/vector/range_access.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/23_containers/vector/range_access.cc 2010-07-27 12:27:06.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/23_containers/vector/range_access.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -10,7 +10,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/24_iterators/range_access.cc gcc-4.6.3/libstdc++-v3/testsuite/24_iterators/range_access.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/24_iterators/range_access.cc 2010-07-27 12:27:06.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/24_iterators/range_access.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -10,7 +10,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy/1.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy/1.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy/1.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy/1.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy/2.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy/2.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy/2.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy/2.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy/34595.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy/34595.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy/34595.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy/34595.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy/3.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy/3.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy/3.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy/3.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy/4.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy/4.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy/4.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy/4.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy/deque_iterators/1.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy/deque_iterators/1.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy/deque_iterators/1.cc 2009-12-23 12:45:41.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy/deque_iterators/1.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy/move_iterators/1.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy/move_iterators/1.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy/move_iterators/1.cc 2009-09-01 05:19:11.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy/move_iterators/1.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy_backward/deque_iterators/1.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy_backward/deque_iterators/1.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy_backward/deque_iterators/1.cc 2009-12-24 06:47:37.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy_backward/deque_iterators/1.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy_backward/move_iterators/1.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy_backward/move_iterators/1.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy_backward/move_iterators/1.cc 2009-09-01 05:19:11.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy_backward/move_iterators/1.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy_n/1.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy_n/1.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy_n/1.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy_n/1.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -11,7 +11,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy_n/2.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy_n/2.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy_n/2.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy_n/2.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -11,7 +11,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy_n/3.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy_n/3.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy_n/3.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy_n/3.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -11,7 +11,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy_n/4.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy_n/4.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy_n/4.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy_n/4.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -11,7 +11,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy_n/move_iterators/1.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy_n/move_iterators/1.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/copy_n/move_iterators/1.cc 2009-09-01 05:19:11.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/copy_n/move_iterators/1.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -11,7 +11,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/fill/4.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/fill/4.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/fill/4.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/fill/4.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/fill_n/1.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/fill_n/1.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/fill_n/1.cc 2009-11-04 20:55:08.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/fill_n/1.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/heap/1.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/heap/1.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/heap/1.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/heap/1.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -8,7 +8,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/heap/moveable2.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/heap/moveable2.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/heap/moveable2.cc 2009-09-01 05:19:11.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/heap/moveable2.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/heap/moveable.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/heap/moveable.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/heap/moveable.cc 2010-01-12 11:16:25.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/heap/moveable.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -10,7 +10,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/is_heap/1.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/is_heap/1.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/is_heap/1.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/is_heap/1.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -11,7 +11,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/is_heap_until/1.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/is_heap_until/1.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/is_heap_until/1.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/is_heap_until/1.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -11,7 +11,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/is_sorted/1.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/is_sorted/1.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/is_sorted/1.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/is_sorted/1.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -11,7 +11,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/is_sorted_until/1.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/is_sorted_until/1.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/is_sorted_until/1.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/is_sorted_until/1.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -11,7 +11,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/move/1.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/move/1.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/move/1.cc 2009-09-01 05:19:11.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/move/1.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/move/deque_iterators/1.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/move/deque_iterators/1.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/move/deque_iterators/1.cc 2009-12-23 12:45:41.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/move/deque_iterators/1.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/move_backward/1.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/move_backward/1.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/move_backward/1.cc 2009-09-01 05:19:11.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/move_backward/1.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/move_backward/deque_iterators/1.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/move_backward/deque_iterators/1.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/move_backward/deque_iterators/1.cc 2009-12-24 06:47:37.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/move_backward/deque_iterators/1.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/partition/1.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/partition/1.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/partition/1.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/partition/1.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/partition/moveable.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/partition/moveable.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/partition/moveable.cc 2010-01-12 11:16:25.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/partition/moveable.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -10,7 +10,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/stable_partition/1.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/stable_partition/1.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/stable_partition/1.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/stable_partition/1.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/stable_partition/moveable.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/stable_partition/moveable.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/stable_partition/moveable.cc 2010-01-12 11:16:25.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/stable_partition/moveable.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -1,6 +1,6 @@ + // { dg-options "-std=gnu++0x" } + +-// Copyright (C) 2009, 2010 Free Software Foundation, Inc. ++// Copyright (C) 2009, 2010, 2012 Free Software Foundation, Inc. + // + // This file is part of the GNU ISO C++ Library. This library is free + // software; you can redistribute it and/or modify it under the +@@ -9,7 +9,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +@@ -39,6 +39,11 @@ + const int B[] = {2, 4, 6, 8, 10, 12, 14, 16, 1, 3, 5, 7, 9, 11, 13, 15, 17}; + const int N = sizeof(A) / sizeof(int); + ++// Check that starting with a true predicate works too. (PR52822) ++const int A2[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17}; ++const int B2[] = {2, 4, 6, 8, 10, 12, 14, 16, 3, 5, 7, 9, 11, 13, 15, 17}; ++const int N2 = sizeof(A2) / sizeof(int); ++ + struct Pred + { + bool +@@ -46,7 +51,7 @@ + { return (x.val % 2) == 0; } + }; + +-// 25.2.12 stable_partition() ++// 25.2.12 stable_partition(), starting with a false predicate. + void + test01() + { +@@ -60,9 +65,24 @@ + VERIFY( std::equal(s1, s1 + N, B) ); + } + ++// 25.2.12 stable_partition(), starting with a true predicate. ++void ++test02() ++{ ++ bool test __attribute__((unused)) = true; ++ ++ rvalstruct s1[N2]; ++ std::copy(A2, A2 + N2, s1); ++ Container con(s1, s1 + N2); ++ ++ std::stable_partition(con.begin(), con.end(), Pred()); ++ VERIFY( std::equal(s1, s1 + N2, B2) ); ++} ++ + int + main() + { + test01(); ++ test02(); + return 0; + } +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/stable_partition/pr52822.cc gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/stable_partition/pr52822.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/25_algorithms/stable_partition/pr52822.cc 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/25_algorithms/stable_partition/pr52822.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -0,0 +1,43 @@ ++// { dg-options "-std=gnu++0x" } ++ ++// Copyright (C) 2012 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// You should have received a copy of the GNU General Public License along ++// with this library; see the file COPYING3. If not see ++// . ++ ++// 25.2.12 [lib.alg.partitions] Partitions. ++ ++#include ++#include ++#include ++ ++bool true_vector_pred(const std::vector&) { return true; } ++ ++void ++test01() ++{ ++ std::vector > v(1); ++ v[0].push_back(7); ++ VERIFY( v[0].size() == 1 ); ++ std::stable_partition(v.begin(), v.end(), &true_vector_pred); ++ VERIFY( v[0].size() == 1 ); ++} ++ ++int ++main() ++{ ++ test01(); ++ return 0; ++} +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/26_numerics/valarray/range_access.cc gcc-4.6.3/libstdc++-v3/testsuite/26_numerics/valarray/range_access.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/26_numerics/valarray/range_access.cc 2010-07-27 12:27:06.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/26_numerics/valarray/range_access.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -10,7 +10,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/28_regex/range_access.cc gcc-4.6.3/libstdc++-v3/testsuite/28_regex/range_access.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/28_regex/range_access.cc 2010-07-27 12:27:06.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/28_regex/range_access.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -10,7 +10,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/30_threads/condition_variable_any/53830.cc gcc-4.6.3/libstdc++-v3/testsuite/30_threads/condition_variable_any/53830.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/30_threads/condition_variable_any/53830.cc 1969-12-31 18:00:00.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/30_threads/condition_variable_any/53830.cc 2012-07-04 20:10:10.791368000 -0500 +@@ -0,0 +1,68 @@ ++// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* powerpc-ibm-aix* } } ++// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* powerpc-ibm-aix* } } ++// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } } ++// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } } ++// { dg-require-cstdint "" } ++// { dg-require-gthreads "" } ++// { dg-require-sched-yield "" } ++// { dg-require-nanosleep "" } ++ ++// Copyright (C) 2012 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// You should have received a copy of the GNU General Public License along ++// with this library; see the file COPYING3. If not see ++// . ++ ++// PR libstdc++/53830 ++// Test for deadlock in condition_variable_any::wait_for ++ ++#include ++#include ++#include ++#include ++#include ++ ++std::mutex mutex; ++std::condition_variable_any cv; ++ ++std::atomic barrier(0); ++ ++// waits for data from another thread ++void wait_for_data() ++{ ++ std::unique_lock lock(mutex); ++ barrier = 1; ++ cv.wait_for(lock, std::chrono::milliseconds(100), []{ return false; }); ++ // read data ++} ++ ++// passes data to waiting thread ++void provide_data() ++{ ++ while (barrier == 0) ++ std::this_thread::yield(); ++ std::unique_lock lock(mutex); ++ // pass data ++ std::this_thread::sleep_for(std::chrono::seconds(1)); ++ cv.notify_one(); ++} ++ ++int main() ++{ ++ std::thread thread1(wait_for_data); ++ provide_data(); ++ thread1.join(); ++ return 0; ++} ++ +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/ext/vstring/capacity/29134.cc gcc-4.6.3/libstdc++-v3/testsuite/ext/vstring/capacity/29134.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/ext/vstring/capacity/29134.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/ext/vstring/capacity/29134.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/ext/vstring/capacity/shrink_to_fit.cc gcc-4.6.3/libstdc++-v3/testsuite/ext/vstring/capacity/shrink_to_fit.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/ext/vstring/capacity/shrink_to_fit.cc 2010-01-08 07:01:24.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/ext/vstring/capacity/shrink_to_fit.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -11,7 +11,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/ext/vstring/hash/char/1.cc gcc-4.6.3/libstdc++-v3/testsuite/ext/vstring/hash/char/1.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/ext/vstring/hash/char/1.cc 2011-02-17 02:38:11.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/ext/vstring/hash/char/1.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -10,7 +10,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/ext/vstring/hash/wchar_t/1.cc gcc-4.6.3/libstdc++-v3/testsuite/ext/vstring/hash/wchar_t/1.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/ext/vstring/hash/wchar_t/1.cc 2011-02-17 02:38:11.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/ext/vstring/hash/wchar_t/1.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -10,7 +10,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/ext/vstring/range_access.cc gcc-4.6.3/libstdc++-v3/testsuite/ext/vstring/range_access.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/ext/vstring/range_access.cc 2010-07-27 12:27:06.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/ext/vstring/range_access.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -10,7 +10,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/Makefile.am gcc-4.6.3/libstdc++-v3/testsuite/Makefile.am +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/Makefile.am 2011-03-02 17:32:56.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/Makefile.am 2012-04-08 20:42:09.946040000 -0500 +@@ -59,6 +59,7 @@ + @echo 'set target_triplet $(target_triplet)' >>site.tmp + @echo 'set libiconv "$(LIBICONV)"' >>site.tmp + @echo 'set baseline_dir "$(baseline_dir)"' >> site.tmp ++ @echo 'set TEST_GCC_EXEC_PREFIX "$(libdir)/gcc/"' >> site.tmp + @echo '## All variables above are generated by configure. Do Not Edit ##' >>site.tmp + @test ! -f site.exp || \ + sed '1,/^## All variables above are.*##/ d' site.exp >> site.tmp +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/Makefile.in gcc-4.6.3/libstdc++-v3/testsuite/Makefile.in +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/Makefile.in 2011-03-07 18:04:05.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/Makefile.in 2012-04-08 20:42:09.946040000 -0500 +@@ -502,6 +502,7 @@ + @echo 'set target_triplet $(target_triplet)' >>site.tmp + @echo 'set libiconv "$(LIBICONV)"' >>site.tmp + @echo 'set baseline_dir "$(baseline_dir)"' >> site.tmp ++ @echo 'set TEST_GCC_EXEC_PREFIX "$(libdir)/gcc/"' >> site.tmp + @echo '## All variables above are generated by configure. Do Not Edit ##' >>site.tmp + @test ! -f site.exp || \ + sed '1,/^## All variables above are.*##/ d' site.exp >> site.tmp +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/performance/25_algorithms/copy_backward_deque_iterators.cc gcc-4.6.3/libstdc++-v3/testsuite/performance/25_algorithms/copy_backward_deque_iterators.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/performance/25_algorithms/copy_backward_deque_iterators.cc 2009-12-24 06:47:37.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/performance/25_algorithms/copy_backward_deque_iterators.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/performance/25_algorithms/copy_deque_iterators.cc gcc-4.6.3/libstdc++-v3/testsuite/performance/25_algorithms/copy_deque_iterators.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/performance/25_algorithms/copy_deque_iterators.cc 2009-12-23 11:14:15.000000000 -0600 ++++ gcc-4.6.3/libstdc++-v3/testsuite/performance/25_algorithms/copy_deque_iterators.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc gcc-4.6.3/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/capacity/29134-multimap.cc gcc-4.6.3/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/capacity/29134-multimap.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/capacity/29134-multimap.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/capacity/29134-multimap.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/capacity/29134-multiset.cc gcc-4.6.3/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/capacity/29134-multiset.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/capacity/29134-multiset.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/capacity/29134-multiset.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + +diff -Naur gcc-4.6.3.orig/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc gcc-4.6.3/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc +--- gcc-4.6.3.orig/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc 2009-04-09 10:00:19.000000000 -0500 ++++ gcc-4.6.3/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc 2012-11-01 19:04:58.512898000 -0500 +@@ -7,7 +7,7 @@ + // any later version. + + // This library is distributed in the hope that it will be useful, +-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of ++// but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. +