Index: configure
===================================================================
---- configure (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ configure (.../branches/gcc-4_4-branch) (wersja 149126)
+--- configure (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ configure (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -272,7 +272,7 @@
PACKAGE_BUGREPORT=
s,@clooglibs@,$clooglibs,;t t
Index: Makefile.in
===================================================================
---- Makefile.in (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ Makefile.in (.../branches/gcc-4_4-branch) (wersja 149126)
+--- Makefile.in (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ Makefile.in (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -17068,7 +17068,7 @@
libsrcdir="$$s/mpfr"; \
$(SHELL) $${libsrcdir}/configure \
Index: libgomp/team.c
===================================================================
---- libgomp/team.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libgomp/team.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libgomp/team.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libgomp/team.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -125,6 +125,7 @@
while (local_fn);
}
Index: libgomp/ChangeLog
===================================================================
---- libgomp/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libgomp/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libgomp/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libgomp/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,3 +1,9 @@
+2009-05-20 Jakub Jelinek <jakub@redhat.com>
+
* GCC 4.4.0 released.
Index: gcc/tree-vrp.c
===================================================================
---- gcc/tree-vrp.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/tree-vrp.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/tree-vrp.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/tree-vrp.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -5682,6 +5682,14 @@
tree ret;
bool only_ranges;
&only_ranges);
Index: gcc/fwprop.c
===================================================================
---- gcc/fwprop.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/fwprop.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/fwprop.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/fwprop.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,5 +1,5 @@
/* RTL-based forward propagation pass for GNU compiler.
- Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
if (DF_REF_TYPE (use) == DF_REF_REG_MEM_STORE)
Index: gcc/doc/extend.texi
===================================================================
---- gcc/doc/extend.texi (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/doc/extend.texi (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/doc/extend.texi (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/doc/extend.texi (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -914,8 +914,7 @@
@end smallexample
The following built-in functions are changed to generate new SSE4.2
Index: gcc/doc/passes.texi
===================================================================
---- gcc/doc/passes.texi (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/doc/passes.texi (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/doc/passes.texi (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/doc/passes.texi (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -21,7 +21,7 @@
* Parsing pass:: The language front end turns text into bits.
* Gimplification pass:: The bits are turned into something we can optimize.
Index: gcc/doc/gccint.texi
===================================================================
---- gcc/doc/gccint.texi (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/doc/gccint.texi (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/doc/gccint.texi (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/doc/gccint.texi (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -109,10 +109,10 @@
* Options:: Option specification files.
* Passes:: Order of passes, what they do, and what each file is for.
* Control Flow:: Maintaining and manipulating the control flow graph.
* Loop Analysis and Representation:: Analysis and representation of loops
* Machine Desc:: How to write machine description instruction patterns.
+Index: gcc/doc/tm.texi
+===================================================================
+--- gcc/doc/tm.texi (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/doc/tm.texi (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -1227,6 +1227,14 @@
+ make it all fit in fewer cache lines.
+ @end defmac
+
++@defmac MINIMUM_ALIGNMENT (@var{exp}, @var{mode}, @var{align})
++If defined, a C expression to compute the minimum required alignment
++for dynamic stack realignment purposes for @var{exp} (a type or decl),
++@var{mode}, assuming normal alignment @var{align}.
++
++If this macro is not defined, then @var{align} will be used.
++@end defmac
++
+ @defmac EMPTY_FIELD_BOUNDARY
+ Alignment in bits to be given to a structure bit-field that follows an
+ empty field such as @code{int : 0;}.
Index: gcc/doc/md.texi
===================================================================
---- gcc/doc/md.texi (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/doc/md.texi (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/doc/md.texi (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/doc/md.texi (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -5111,8 +5111,6 @@
Operand 0 is the memory on which the atomic operation is performed.
Operand 1 is the second operand to the binary operator.
operation and all memory operations after the atomic operation occur
Index: gcc/doc/rtl.texi
===================================================================
---- gcc/doc/rtl.texi (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/doc/rtl.texi (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/doc/rtl.texi (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/doc/rtl.texi (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -10,10 +10,10 @@
@cindex representation of RTL
@cindex Register Transfer Language (RTL)
structures that point at other structures, and a textual form that is used
Index: gcc/ira-conflicts.c
===================================================================
---- gcc/ira-conflicts.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/ira-conflicts.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/ira-conflicts.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/ira-conflicts.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -411,9 +411,9 @@
/* Can not be tied. It is not in the cover class. */
return false;
&& VAR_OR_FUNCTION_DECL_P (decl)
Index: gcc/tree-ssa-loop-niter.c
===================================================================
---- gcc/tree-ssa-loop-niter.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/tree-ssa-loop-niter.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/tree-ssa-loop-niter.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/tree-ssa-loop-niter.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -534,7 +534,7 @@
}
Index: gcc/DATESTAMP
===================================================================
---- gcc/DATESTAMP (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/DATESTAMP (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/DATESTAMP (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/DATESTAMP (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1 +1 @@
-20090421
-+20090701
++20090712
+Index: gcc/defaults.h
+===================================================================
+--- gcc/defaults.h (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/defaults.h (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -954,6 +954,10 @@
+ LOCAL_ALIGNMENT (TREE_TYPE (DECL), DECL_ALIGN (DECL))
+ #endif
+
++#ifndef MINIMUM_ALIGNMENT
++#define MINIMUM_ALIGNMENT(EXP,MODE,ALIGN) (ALIGN)
++#endif
++
+ /* Alignment value for attribute ((aligned)). */
+ #ifndef ATTRIBUTE_ALIGNED_VALUE
+ #define ATTRIBUTE_ALIGNED_VALUE BIGGEST_ALIGNMENT
+Index: gcc/tree-tailcall.c
+===================================================================
+--- gcc/tree-tailcall.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/tree-tailcall.c (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -573,6 +573,9 @@
+ gimple stmt = gimple_build_assign_with_ops (code, tmp, op0, op1);
+ tree result;
+
++ if (TREE_CODE (ret_type) == COMPLEX_TYPE
++ || TREE_CODE (ret_type) == VECTOR_TYPE)
++ DECL_GIMPLE_REG_P (tmp) = 1;
+ add_referenced_var (tmp);
+ result = make_ssa_name (tmp, stmt);
+ gimple_assign_set_lhs (stmt, result);
+@@ -867,6 +870,9 @@
+ tree tmp = create_tmp_var (ret_type, label);
+ gimple phi;
+
++ if (TREE_CODE (ret_type) == COMPLEX_TYPE
++ || TREE_CODE (ret_type) == VECTOR_TYPE)
++ DECL_GIMPLE_REG_P (tmp) = 1;
+ add_referenced_var (tmp);
+ phi = create_phi_node (tmp, bb);
+ /* RET_TYPE can be a float when -ffast-maths is enabled. */
Index: gcc/tree.c
===================================================================
---- gcc/tree.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/tree.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/tree.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/tree.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1606,7 +1606,8 @@
: floor_log2 (low));
}
Index: gcc/tree.h
===================================================================
---- gcc/tree.h (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/tree.h (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/tree.h (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/tree.h (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -5088,7 +5088,7 @@
/* Generate a new label for the CFI info to refer to. */
/* Compute the number of operands in an expression node NODE. For
tcc_vl_exp nodes like CALL_EXPRs, this is stored in the node itself,
otherwise it is looked up from the node's code. */
+Index: gcc/ipa-cp.c
+===================================================================
+--- gcc/ipa-cp.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/ipa-cp.c (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -466,6 +466,7 @@
+ if (dump_file)
+ fprintf (dump_file, "Not considering %s for cloning; no hot calls.\n",
+ cgraph_node_name (node));
++ return false;
+ }
+ if (dump_file)
+ fprintf (dump_file, "Considering %s for cloning.\n",
Index: gcc/tree-scalar-evolution.c
===================================================================
---- gcc/tree-scalar-evolution.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/tree-scalar-evolution.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/tree-scalar-evolution.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/tree-scalar-evolution.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1320,11 +1320,7 @@
*evolution_of_loop = evolution_of_branch;
Index: gcc/builtins.c
===================================================================
---- gcc/builtins.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/builtins.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/builtins.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/builtins.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -4176,7 +4176,7 @@
arg1_rtx = get_memory_rtx (arg1, len);
if (GET_CODE (arg3_rtx) == CONST_INT)
Index: gcc/fold-const.c
===================================================================
---- gcc/fold-const.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/fold-const.c (.../branches/gcc-4_4-branch) (wersja 149126)
-@@ -5293,31 +5293,34 @@
+--- gcc/fold-const.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/fold-const.c (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -2605,9 +2605,10 @@
+ case POINTER_TYPE: case REFERENCE_TYPE:
+ case REAL_TYPE:
+ case FIXED_POINT_TYPE:
+- return build2 (COMPLEX_EXPR, type,
+- fold_convert (TREE_TYPE (type), arg),
+- fold_convert (TREE_TYPE (type), integer_zero_node));
++ return fold_build2 (COMPLEX_EXPR, type,
++ fold_convert (TREE_TYPE (type), arg),
++ fold_convert (TREE_TYPE (type),
++ integer_zero_node));
+ case COMPLEX_TYPE:
+ {
+ tree rpart, ipart;
+@@ -5293,31 +5294,34 @@
break;
case GT_EXPR:
break;
case NE_EXPR:
break;
-@@ -11360,6 +11363,8 @@
+@@ -11360,6 +11364,8 @@
if (prec < HOST_BITS_PER_WIDE_INT
|| newmask == ~(unsigned HOST_WIDE_INT) 0)
{
if (shift_type != TREE_TYPE (arg0))
{
tem = fold_build2 (TREE_CODE (arg0), shift_type,
-@@ -11370,9 +11375,9 @@
+@@ -11370,9 +11376,9 @@
}
else
tem = op0;
}
}
}
-@@ -11861,7 +11866,8 @@
+@@ -11861,7 +11867,8 @@
if (code == LROTATE_EXPR || code == RROTATE_EXPR)
low = low % TYPE_PRECISION (type);
else if (TYPE_UNSIGNED (type) || code == LSHIFT_EXPR)
}
Index: gcc/objc/objc-act.c
===================================================================
---- gcc/objc/objc-act.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/objc/objc-act.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/objc/objc-act.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/objc/objc-act.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -6201,7 +6201,7 @@
#endif
tree method_params = NULL_TREE;
/* Obtain the full selector name. */
Index: gcc/objc/ChangeLog
===================================================================
---- gcc/objc/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/objc/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/objc/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/objc/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,3 +1,10 @@
+2009-06-22 Steven Bosscher <steven@gcc.gnu.org>
+ Matthias Klose <doko@ubuntu.com>
* GCC 4.4.0 released.
Index: gcc/toplev.c
===================================================================
---- gcc/toplev.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/toplev.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/toplev.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/toplev.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1128,10 +1128,14 @@
indent, __VERSION__);
#else
Index: gcc/tree-chrec.c
===================================================================
---- gcc/tree-chrec.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/tree-chrec.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/tree-chrec.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/tree-chrec.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -220,16 +220,16 @@
/* "a*c". */
t0 = chrec_fold_multiply (type, CHREC_LEFT (poly0), CHREC_LEFT (poly1));
: build_int_cst (type, 2), t2);
Index: gcc/tree-chrec.h
===================================================================
---- gcc/tree-chrec.h (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/tree-chrec.h (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/tree-chrec.h (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/tree-chrec.h (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -132,7 +132,8 @@
|| right == chrec_dont_know)
return chrec_dont_know;
/* Pointer types should occur only on the left hand side, i.e. in
Index: gcc/DEV-PHASE
===================================================================
---- gcc/DEV-PHASE (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/DEV-PHASE (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/DEV-PHASE (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/DEV-PHASE (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1 @@
+prerelease
Index: gcc/tree-ssa-sccvn.c
===================================================================
---- gcc/tree-ssa-sccvn.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/tree-ssa-sccvn.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/tree-ssa-sccvn.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/tree-ssa-sccvn.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1293,7 +1293,7 @@
*vnresult = NULL;
vno1.opcode = gimple_assign_rhs_code (stmt);
Index: gcc/ChangeLog
===================================================================
---- gcc/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149126)
-@@ -1,3 +1,507 @@
+--- gcc/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -1,3 +1,580 @@
++2009-07-11 Jakub Jelinek <jakub@redhat.com>
++
++ PR rtl-optimization/40667
++ * defaults.h (MINIMUM_ALIGNMENT): Define if not defined.
++ * doc/tm.texi (MINIMUM_ALIGNMENT): Document it.
++ * config/i386/i386.h (MINIMUM_ALIGNMENT): Define.
++ * config/i386/i386.c (ix86_minimum_alignment): New function.
++ * config/i386/i386-protos.h (ix86_minimum_alignment): New prototype.
++ * cfgexpand.c (expand_one_var): Use MINIMIM_ALIGNMENT.
++ * emit-rtl.c (gen_reg_rtx): Likewise.
++ * function.c (assign_parms): Likewise. If nominal_type needs
++ bigger alignment than FUNCTION_ARG_BOUNDARY, use its alignment
++ rather than passed_type's alignment.
++
++ PR target/40668
++ * function.c (assign_parm_setup_stack): Adjust
++ MEM_OFFSET (data->stack_parm) if promoted_mode is different
++ from nominal_mode on big endian.
++
++2009-07-08 Richard Henderson <rth@redhat.com>
++
++ PR target/38900
++ * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Move to i386.c.
++ (enum reg_class): Add CLOBBERED_REGS.
++ (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Likewise.
++ * config/i386/i386.c (ix86_conditional_register_usage): Moved
++ from CONDITIONAL_REGISTER_USAGE; build CLOBBERED_REGS for 64-bit.
++ (ix86_function_ok_for_sibcall): Tidy. Disallow MS->SYSV sibcalls.
++ (ix86_expand_call): Use sibcall_insn_operand when needed. Don't
++ force 64-bit sibcalls into R11.
++ * config/i386/constraints.md (U): New constraint.
++ * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
++ (sibcall_1_rex64, sibcall_value_1_rex64): Likewise.
++ (sibcall_1_rex64_v, sibcall_value_1_rex64_v): Remove.
++
++2009-07-07 Eric Botcazou <ebotcazou@adacore.com>
++
++ PR debug/40666
++ * dbxout.c (dbxout_symbol) <PARM_DECL>: Deal with parameters pointing
++ to variables for debugging purposes.
++
++2009-07-07 Jakub Jelinek <jakub@redhat.com>
++
++ PR middle-end/40669
++ * tree-tailcall.c (adjust_return_value_with_ops,
++ create_tailcall_accumulator): Set DECL_GIMPLE_REG_P on the temporary
++ if it has complex or vector type.
++
++ Backport from mainline:
++ 2009-06-03 Richard Guenther <rguenther@suse.de>
++
++ PR middle-end/40328
++ * fold-const.c (fold_convert): Fold the build COMPLEX_EXPR.
++
++2009-07-03 Vladimir Makarov <vmakarov@redhat.com>
++
++ PR target/40587
++ * ira.c (build_insn_chain): Use DF_LR_OUT instead of
++ df_get_live_out.
++
++2009-07-02 Richard Guenther <rguenther@suse.de>
++
++ PR middle-end/40585
++ * tree-cfg.c (gimple_can_duplicate_bb_p): Disallow duplicating
++ basic blocks with GIMPLE_RESX.
++
++2009-07-01 Martin Jambor <mjambor@suse.cz>
++
++ Backport from mainline:
++ 2009-05-11 Martin Jambor <mjambor@suse.cz>
++
++ * ipa-cp.c (ipcp_cloning_candidate_p): Add missing return false.
++
+2009-06-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/40566
Index: gcc/testsuite/gcc.c-torture/execute/pr40022.c
===================================================================
--- gcc/testsuite/gcc.c-torture/execute/pr40022.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/execute/pr40022.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.c-torture/execute/pr40022.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,51 @@
+extern void abort (void);
+
Index: gcc/testsuite/gcc.c-torture/execute/pr40404.c
===================================================================
--- gcc/testsuite/gcc.c-torture/execute/pr40404.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/execute/pr40404.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.c-torture/execute/pr40404.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,12 @@
+extern void abort (void);
+struct S {
Index: gcc/testsuite/gcc.c-torture/execute/pr40057.c
===================================================================
--- gcc/testsuite/gcc.c-torture/execute/pr40057.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/execute/pr40057.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.c-torture/execute/pr40057.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,37 @@
+/* PR middle-end/40057 */
+
Index: gcc/testsuite/gcc.c-torture/execute/pr40493.c
===================================================================
--- gcc/testsuite/gcc.c-torture/execute/pr40493.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/execute/pr40493.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.c-torture/execute/pr40493.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,82 @@
+extern void abort (void);
+
+
+ return 0;
+}
+Index: gcc/testsuite/gcc.c-torture/execute/pr40668.c
+===================================================================
+--- gcc/testsuite/gcc.c-torture/execute/pr40668.c (.../tags/gcc_4_4_0_release) (wersja 0)
++++ gcc/testsuite/gcc.c-torture/execute/pr40668.c (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -0,0 +1,35 @@
++static void
++foo (unsigned int x, void *p)
++{
++ __builtin_memcpy (p, &x, sizeof x);
++}
++
++void
++bar (int type, void *number)
++{
++ switch (type)
++ {
++ case 1:
++ foo (0x12345678, number);
++ break;
++ case 7:
++ foo (0, number);
++ break;
++ case 8:
++ foo (0, number);
++ break;
++ case 9:
++ foo (0, number);
++ break;
++ }
++}
++
++int
++main (void)
++{
++ unsigned int x;
++ bar (1, &x);
++ if (x != 0x12345678)
++ __builtin_abort ();
++ return 0;
++}
Index: gcc/testsuite/gcc.c-torture/execute/pr40579.c
===================================================================
--- gcc/testsuite/gcc.c-torture/execute/pr40579.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/execute/pr40579.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.c-torture/execute/pr40579.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,28 @@
+extern void abort (void);
+static char * __attribute__((noinline))
Index: gcc/testsuite/gcc.c-torture/compile/pr39983.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr39983.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr39983.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.c-torture/compile/pr39983.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,17 @@
+typedef struct {
+ int *p;
+
Index: gcc/testsuite/gcc.c-torture/compile/pr34334.c
===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr34334.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gcc.c-torture/compile/pr34334.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gcc.c-torture/compile/pr34334.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gcc.c-torture/compile/pr34334.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,4 +1,4 @@
-typedef unsigned int size_t;
+__extension__ typedef __SIZE_TYPE__ size_t;
Index: gcc/testsuite/gcc.c-torture/compile/pr40023.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr40023.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr40023.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.c-torture/compile/pr40023.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,11 @@
+typedef __builtin_va_list va_list;
+typedef struct {
+
Index: gcc/testsuite/gcc.c-torture/compile/20060202-1.c
===================================================================
---- gcc/testsuite/gcc.c-torture/compile/20060202-1.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gcc.c-torture/compile/20060202-1.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gcc.c-torture/compile/20060202-1.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gcc.c-torture/compile/20060202-1.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,4 +1,4 @@
-typedef unsigned int size_t;
+typedef __SIZE_TYPE__ size_t;
void *sel_id;
Index: gcc/testsuite/gcc.c-torture/compile/20030405-1.c
===================================================================
---- gcc/testsuite/gcc.c-torture/compile/20030405-1.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gcc.c-torture/compile/20030405-1.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gcc.c-torture/compile/20030405-1.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gcc.c-torture/compile/20030405-1.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -6,7 +6,7 @@
and when the PHI node at the end of the while() is visited the first
time, CCP will try to assign it a value of UNDEFINED, but the default
Index: gcc/testsuite/gcc.c-torture/compile/20010328-1.c
===================================================================
---- gcc/testsuite/gcc.c-torture/compile/20010328-1.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gcc.c-torture/compile/20010328-1.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gcc.c-torture/compile/20010328-1.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gcc.c-torture/compile/20010328-1.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,4 +1,4 @@
-typedef unsigned int size_t;
+typedef __SIZE_TYPE__ size_t;
Index: gcc/testsuite/gcc.c-torture/compile/pr34688.c
===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr34688.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gcc.c-torture/compile/pr34688.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gcc.c-torture/compile/pr34688.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gcc.c-torture/compile/pr34688.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,4 +1,4 @@
-typedef unsigned int size_t;
+typedef __SIZE_TYPE__ size_t;
Index: gcc/testsuite/gcc.c-torture/compile/pr40204.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr40204.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr40204.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.c-torture/compile/pr40204.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,14 @@
+/* PR middle-end/40204 */
+
Index: gcc/testsuite/gcc.c-torture/compile/pr40582.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr40582.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr40582.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.c-torture/compile/pr40582.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,18 @@
+struct A
+{
+}
Index: gcc/testsuite/gcc.c-torture/compile/pr33382.c
===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr33382.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gcc.c-torture/compile/pr33382.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gcc.c-torture/compile/pr33382.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gcc.c-torture/compile/pr33382.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,4 +1,4 @@
-typedef unsigned int size_t;
+typedef __SIZE_TYPE__ size_t;
char *searchconfig[];
Index: gcc/testsuite/gcc.c-torture/compile/980329-1.c
===================================================================
---- gcc/testsuite/gcc.c-torture/compile/980329-1.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gcc.c-torture/compile/980329-1.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gcc.c-torture/compile/980329-1.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gcc.c-torture/compile/980329-1.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,4 +1,4 @@
-typedef unsigned long int size_t;
+typedef __SIZE_TYPE__ size_t;
Index: gcc/testsuite/gcc.c-torture/compile/pr40026.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr40026.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr40026.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.c-torture/compile/pr40026.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,15 @@
+typedef struct {
+ unsigned long bits;
Index: gcc/testsuite/gcc.c-torture/compile/pr40035.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr40035.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr40035.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.c-torture/compile/pr40035.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,20 @@
+typedef __SIZE_TYPE__ size_t;
+void *memmove (void *dest, const void *src, size_t count);
Index: gcc/testsuite/gcc.c-torture/compile/pr39824.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr39824.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr39824.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.c-torture/compile/pr39824.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,26 @@
+static const double internalEndianMagic = 7.949928895127363e-275;
+static const unsigned char ieee_754_mantissa_mask[] = { 0x00, 0x0F, 0xFF, 0xFF,
Index: gcc/testsuite/gcc.c-torture/compile/pr40233.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr40233.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr40233.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.c-torture/compile/pr40233.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,10 @@
+typedef int aligned __attribute__((aligned(64)));
+struct Frame {
Index: gcc/testsuite/gcc.c-torture/compile/pr40080.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr40080.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr40080.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.c-torture/compile/pr40080.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,44 @@
+extern void *ff(void*,int);
+
+void* foo=xDP_IF_DestroyPlayer;
Index: gcc/testsuite/gcc.c-torture/compile/pr32584.c
===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr32584.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gcc.c-torture/compile/pr32584.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gcc.c-torture/compile/pr32584.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gcc.c-torture/compile/pr32584.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,5 +1,8 @@
-typedef long unsigned int size_t;
-typedef long int __ssize_t;
Index: gcc/testsuite/gcc.c-torture/compile/20090519-1.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/20090519-1.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/20090519-1.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.c-torture/compile/20090519-1.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,11 @@
+typedef struct { int licensed; } __pmPDUInfo;
+void __pmDecodeXtendError (int *);
Index: gcc/testsuite/gcc.c-torture/compile/pr39999.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr39999.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr39999.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.c-torture/compile/pr39999.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,18 @@
+void foo(void *);
+void
Index: gcc/testsuite/gcc.c-torture/compile/pr39941.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr39941.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr39941.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.c-torture/compile/pr39941.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,12 @@
+typedef void (*entry_func) (void) __attribute__ ((noreturn));
+extern entry_func entry_addr;
+
Index: gcc/testsuite/gcc.c-torture/compile/pr37669.c
===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr37669.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gcc.c-torture/compile/pr37669.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gcc.c-torture/compile/pr37669.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gcc.c-torture/compile/pr37669.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,6 +1,6 @@
/* This testcase used to fail because a miscompiled execute_fold_all_builtins. */
Index: gcc/testsuite/gcc.c-torture/compile/pr40252.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr40252.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr40252.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.c-torture/compile/pr40252.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,6 @@
+typedef unsigned int uint32_t;
+static void IP(uint32_t v[2])
+
Index: gcc/testsuite/gcc.c-torture/compile/20030320-1.c
===================================================================
---- gcc/testsuite/gcc.c-torture/compile/20030320-1.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gcc.c-torture/compile/20030320-1.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gcc.c-torture/compile/20030320-1.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gcc.c-torture/compile/20030320-1.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -2,7 +2,7 @@
conditional returns without updating dominance info.
Extracted from glibc's dl-load.c. */
Index: gcc/testsuite/gcc.c-torture/compile/pr39845.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr39845.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr39845.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.c-torture/compile/pr39845.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,43 @@
+typedef union tree_node *tree;
+enum tree_code { EXCESS_PRECISION_EXPR };
+
Index: gcc/testsuite/gcc.c-torture/compile/20000211-1.c
===================================================================
---- gcc/testsuite/gcc.c-torture/compile/20000211-1.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gcc.c-torture/compile/20000211-1.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gcc.c-torture/compile/20000211-1.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gcc.c-torture/compile/20000211-1.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,4 +1,4 @@
-typedef long unsigned int size_t;
+typedef __SIZE_TYPE__ size_t;
typedef int Charcount;
Index: gcc/testsuite/gcc.c-torture/compile/20080613-1.c
===================================================================
---- gcc/testsuite/gcc.c-torture/compile/20080613-1.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gcc.c-torture/compile/20080613-1.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gcc.c-torture/compile/20080613-1.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gcc.c-torture/compile/20080613-1.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,7 +1,7 @@
/* PR middle-end/36520 */
/* Testcase by Richard Guenther <rguenth@gcc.gnu.org> */
size_t cmsg_len;
Index: gcc/testsuite/gcc.c-torture/compile/980816-1.c
===================================================================
---- gcc/testsuite/gcc.c-torture/compile/980816-1.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gcc.c-torture/compile/980816-1.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gcc.c-torture/compile/980816-1.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gcc.c-torture/compile/980816-1.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,4 +1,4 @@
-typedef unsigned int size_t;
+typedef __SIZE_TYPE__ size_t;
typedef struct _WidgetRec *Widget;
Index: gcc/testsuite/gcc.c-torture/compile/20030902-1.c
===================================================================
---- gcc/testsuite/gcc.c-torture/compile/20030902-1.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gcc.c-torture/compile/20030902-1.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gcc.c-torture/compile/20030902-1.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gcc.c-torture/compile/20030902-1.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,4 +1,4 @@
-typedef unsigned int size_t;
+typedef __SIZE_TYPE__ size_t;
Index: gcc/testsuite/gcc.c-torture/compile/pr39937.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr39937.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr39937.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.c-torture/compile/pr39937.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,12 @@
+int foo (__const char *__restrict __s);
+static void
+ char line[4096];
+ read_anisou (line);
+}
+Index: gcc/testsuite/gcc.c-torture/compile/pr40640.c
+===================================================================
+--- gcc/testsuite/gcc.c-torture/compile/pr40640.c (.../tags/gcc_4_4_0_release) (wersja 0)
++++ gcc/testsuite/gcc.c-torture/compile/pr40640.c (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -0,0 +1,15 @@
++void decode_opic_address(int *);
++void sim_io_printf_filtered2 (int, unsigned);
++void
++hw_opic_io_read_buffer(int index)
++{
++ unsigned reg = 0;
++ decode_opic_address(&index);
++ switch (index)
++ {
++ case 0:
++ reg = 1;
++ }
++ sim_io_printf_filtered2 (index, reg);
++}
++
Index: gcc/testsuite/gcc.c-torture/compile/pr35043.c
===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr35043.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gcc.c-torture/compile/pr35043.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gcc.c-torture/compile/pr35043.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gcc.c-torture/compile/pr35043.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,4 +1,4 @@
-typedef long unsigned int size_t;
+typedef __SIZE_TYPE__ size_t;
Index: gcc/testsuite/gcc.c-torture/compile/pr40291.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr40291.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr40291.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.c-torture/compile/pr40291.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,7 @@
+/* PR middle-end/40291 */
+
+}
Index: gcc/testsuite/gcc.c-torture/compile/920428-2.c
===================================================================
---- gcc/testsuite/gcc.c-torture/compile/920428-2.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gcc.c-torture/compile/920428-2.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gcc.c-torture/compile/920428-2.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gcc.c-torture/compile/920428-2.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -41,7 +41,7 @@
short _flag;
char _file;
struct _iobuf *freopen(const char *filename, const char *type, struct _iobuf *stream);
Index: gcc/testsuite/gcc.c-torture/compile/pr33173.c
===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr33173.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gcc.c-torture/compile/pr33173.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gcc.c-torture/compile/pr33173.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gcc.c-torture/compile/pr33173.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,4 +1,4 @@
-typedef long unsigned int size_t;
+typedef __SIZE_TYPE__ size_t;
Index: gcc/testsuite/gcc.target/powerpc/altivec-30.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/altivec-30.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.target/powerpc/altivec-30.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.target/powerpc/altivec-30.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,32 @@
+/* { dg-do compile { target powerpc*-*-* } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
Index: gcc/testsuite/gcc.target/powerpc/altivec-31.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/altivec-31.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.target/powerpc/altivec-31.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.target/powerpc/altivec-31.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,29 @@
+/* { dg-do compile { target powerpc*-*-* } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
+VBI e;
Index: gcc/testsuite/gcc.target/powerpc/altivec-types-1.c
===================================================================
---- gcc/testsuite/gcc.target/powerpc/altivec-types-1.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gcc.target/powerpc/altivec-types-1.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gcc.target/powerpc/altivec-types-1.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gcc.target/powerpc/altivec-types-1.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -24,6 +24,7 @@
__vector signed vsj;
__vector __bool vbj;
Index: gcc/testsuite/gcc.target/i386/pr39543-1.c
===================================================================
--- gcc/testsuite/gcc.target/i386/pr39543-1.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.target/i386/pr39543-1.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.target/i386/pr39543-1.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,52 @@
+/* PR inline-asm/39543 */
+/* { dg-do compile } */
Index: gcc/testsuite/gcc.target/i386/pr39543-3.c
===================================================================
--- gcc/testsuite/gcc.target/i386/pr39543-3.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.target/i386/pr39543-3.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.target/i386/pr39543-3.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,42 @@
+/* PR inline-asm/39543 */
+/* { dg-do compile } */
Index: gcc/testsuite/gcc.target/i386/pr39543-2.c
===================================================================
--- gcc/testsuite/gcc.target/i386/pr39543-2.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.target/i386/pr39543-2.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.target/i386/pr39543-2.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,52 @@
+/* PR inline-asm/39543 */
+/* { dg-do compile } */
+{
+ bar (s0);
+}
+
+Zmiany atrybutów dla: gcc/testsuite/gcc.target/x86_64/abi/callabi
+___________________________________________________________________
+Zmienione: svn:mergeinfo
+ Połączono zmiany /trunk/gcc/testsuite/gcc.target/x86_64/abi/callabi:r149341,149351
+
Index: gcc/testsuite/gcc.target/x86_64/abi/asm-support.S
===================================================================
---- gcc/testsuite/gcc.target/x86_64/abi/asm-support.S (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gcc.target/x86_64/abi/asm-support.S (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gcc.target/x86_64/abi/asm-support.S (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gcc.target/x86_64/abi/asm-support.S (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -49,7 +49,9 @@
.type snapshot_ret, @function
snapshot_ret:
Index: gcc/testsuite/gnat.dg/enum2_pkg.ads
===================================================================
--- gcc/testsuite/gnat.dg/enum2_pkg.ads (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gnat.dg/enum2_pkg.ads (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gnat.dg/enum2_pkg.ads (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,8 @@
+with Ada.Finalization; use Ada.Finalization;
+
Index: gcc/testsuite/gnat.dg/enum2.adb
===================================================================
--- gcc/testsuite/gnat.dg/enum2.adb (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gnat.dg/enum2.adb (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gnat.dg/enum2.adb (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,11 @@
+-- { dg-do run }
+-- { dg-options "-gnat05 -O2" }
Index: gcc/testsuite/gcc.dg/pr39666-1.c
===================================================================
--- gcc/testsuite/gcc.dg/pr39666-1.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr39666-1.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.dg/pr39666-1.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,22 @@
+/* PR middle-end/39666 */
+/* { dg-do compile } */
Index: gcc/testsuite/gcc.dg/pr40172-2.c
===================================================================
--- gcc/testsuite/gcc.dg/pr40172-2.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr40172-2.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.dg/pr40172-2.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,16 @@
+/* PR middle-end/40172 */
+/* { dg-do compile } */
Index: gcc/testsuite/gcc.dg/pr39565.c
===================================================================
--- gcc/testsuite/gcc.dg/pr39565.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr39565.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.dg/pr39565.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,48 @@
+/* PR39565: Static variable leaves undefined symbol in object file.
+ Variables codestrs_4 and codestrs_8 should not be undefined,
Index: gcc/testsuite/gcc.dg/pr40340.h
===================================================================
--- gcc/testsuite/gcc.dg/pr40340.h (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr40340.h (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.dg/pr40340.h (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,31 @@
+#pragma GCC system_header
+typedef __SIZE_TYPE__ size_t;
+ memset (p, 0, 6);
+}
+#endif
+Index: gcc/testsuite/gcc.dg/pr40669.c
+===================================================================
+--- gcc/testsuite/gcc.dg/pr40669.c (.../tags/gcc_4_4_0_release) (wersja 0)
++++ gcc/testsuite/gcc.dg/pr40669.c (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -0,0 +1,26 @@
++/* PR middle-end/40669 */
++/* { dg-do compile } */
++/* { dg-options "-O2 -ffast-math" } */
++
++double _Complex
++test (int d, int t, double *x, double *y, double *z, int n,
++ double _Complex (*fnp) (double))
++{
++ int m = n / 2;
++ double min = y[t], max = z[t], med = x[m * d + t];
++ double _Complex result = 0.0;
++
++ if (n == 0)
++ return 0.0;
++
++ if (min > med)
++ result += test (d, (t + 1) % d, x + (m + 1) * d, y, z, n - m - 1, fnp);
++ else if (max < med)
++ result += test (d, (t + 1) % d, x, y, z, m, fnp);
++ else
++ {
++ result += fnp (y[0] + x[m]);
++ result += test (d, (t + 1) % d, x + (m + 1) * d, y, z, n - m - 1, fnp);
++ }
++ return result;
++}
Index: gcc/testsuite/gcc.dg/pr40340-1.c
===================================================================
--- gcc/testsuite/gcc.dg/pr40340-1.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr40340-1.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.dg/pr40340-1.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,24 @@
+/* PR middle-end/40340 */
+/* { dg-do compile } */
Index: gcc/testsuite/gcc.dg/pr40340-3.c
===================================================================
--- gcc/testsuite/gcc.dg/pr40340-3.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr40340-3.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.dg/pr40340-3.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,15 @@
+/* PR middle-end/40340 */
+/* { dg-do compile } */
Index: gcc/testsuite/gcc.dg/torture/pr39855.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/pr39855.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/torture/pr39855.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.dg/torture/pr39855.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,24 @@
+/* PR c/39855 */
+/* { dg-do run { target { int32plus } } } */
Index: gcc/testsuite/gcc.dg/torture/pr40470-4.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/pr40470-4.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/torture/pr40470-4.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.dg/torture/pr40470-4.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,29 @@
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-options "-msse4" } */
Index: gcc/testsuite/gcc.dg/torture/pr39903-1.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/pr39903-1.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/torture/pr39903-1.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.dg/torture/pr39903-1.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,24 @@
+/* PR target/39903 */
+/* { dg-do run } */
Index: gcc/testsuite/gcc.dg/torture/pr40328.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/pr40328.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/torture/pr40328.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.dg/torture/pr40328.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,11 @@
+/* { dg-do compile } */
+/* { dg-options "-fno-tree-sra" } */
Index: gcc/testsuite/gcc.dg/torture/pr40470-1.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/pr40470-1.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/torture/pr40470-1.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.dg/torture/pr40470-1.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,22 @@
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-options "-msse4" } */
Index: gcc/testsuite/gcc.dg/torture/pr39903-2.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/pr39903-2.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/torture/pr39903-2.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.dg/torture/pr39903-2.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,24 @@
+/* PR target/39903 */
+/* { dg-do run } */
+ abort ();
+ return 0;
+}
+
+Zmiany atrybutów dla: gcc/testsuite/gcc.dg/torture/pr36227.c
+___________________________________________________________________
+Zmienione: svn:mergeinfo
+ Połączono zmiany /trunk/gcc/testsuite/gcc.dg/torture/pr36227.c:r149341,149351
+
Index: gcc/testsuite/gcc.dg/torture/pr40470-2.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/pr40470-2.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/torture/pr40470-2.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.dg/torture/pr40470-2.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,27 @@
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-options "-msse4" } */
Index: gcc/testsuite/gcc.dg/torture/pr40470-3.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/pr40470-3.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/torture/pr40470-3.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.dg/torture/pr40470-3.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,22 @@
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-options "-msse4" } */
+}
Index: gcc/testsuite/gcc.dg/torture/pr39204.c
===================================================================
---- gcc/testsuite/gcc.dg/torture/pr39204.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gcc.dg/torture/pr39204.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gcc.dg/torture/pr39204.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gcc.dg/torture/pr39204.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,7 +1,7 @@
/* { dg-do compile } */
/* { dg-options "-w" } */
Index: gcc/testsuite/gcc.dg/torture/pr39829.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/pr39829.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/torture/pr39829.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.dg/torture/pr39829.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,27 @@
+/* { dg-do compile } */
+/* { dg-options "-w" } */
Index: gcc/testsuite/gcc.dg/pr40340-5.c
===================================================================
--- gcc/testsuite/gcc.dg/pr40340-5.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr40340-5.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.dg/pr40340-5.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,17 @@
+/* PR middle-end/40340 */
+/* { dg-do compile } */
Index: gcc/testsuite/gcc.dg/pr39794.c
===================================================================
--- gcc/testsuite/gcc.dg/pr39794.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr39794.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.dg/pr39794.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,33 @@
+/* PR rtl-optimization/39794 */
+/* { dg-do run } */
+}
Index: gcc/testsuite/gcc.dg/tree-ssa/pr36908.c
===================================================================
---- gcc/testsuite/gcc.dg/tree-ssa/pr36908.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gcc.dg/tree-ssa/pr36908.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gcc.dg/tree-ssa/pr36908.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gcc.dg/tree-ssa/pr36908.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -2,7 +2,7 @@
/* { dg-options "-O2 -ftree-loop-distribution" } */
#define NULL ((void *)0)
Index: gcc/testsuite/gcc.dg/tree-ssa/pr38250.c
===================================================================
---- gcc/testsuite/gcc.dg/tree-ssa/pr38250.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gcc.dg/tree-ssa/pr38250.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gcc.dg/tree-ssa/pr38250.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gcc.dg/tree-ssa/pr38250.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,7 +1,7 @@
/* { dg-do compile } */
/* { dg-options "-O2 -ftree-loop-distribution" } */
} gsl_complex_long_double;
Index: gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-10.c
===================================================================
---- gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-10.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-10.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-10.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-10.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,7 +1,7 @@
/* { dg-do compile } */
/* { dg-options "-O -w -fdump-tree-dse-vops" } */
Index: gcc/testsuite/gcc.dg/tree-ssa/pr40087.c
===================================================================
--- gcc/testsuite/gcc.dg/tree-ssa/pr40087.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/tree-ssa/pr40087.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.dg/tree-ssa/pr40087.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,30 @@
+/* { dg-do run } */
+/* { dg-options "-O1 " } */
+}
Index: gcc/testsuite/gcc.dg/tree-ssa/20041122-1.c
===================================================================
---- gcc/testsuite/gcc.dg/tree-ssa/20041122-1.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gcc.dg/tree-ssa/20041122-1.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gcc.dg/tree-ssa/20041122-1.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gcc.dg/tree-ssa/20041122-1.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -2,7 +2,7 @@
/* { dg-options "-O1 -fdump-tree-dom2" } */
{
Index: gcc/testsuite/gcc.dg/tls/opt-2.c
===================================================================
---- gcc/testsuite/gcc.dg/tls/opt-2.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gcc.dg/tls/opt-2.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gcc.dg/tls/opt-2.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gcc.dg/tls/opt-2.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -6,6 +6,7 @@
/* { dg-options "-O2 -ftls-model=initial-exec" } */
/* { dg-options "-O2 -ftls-model=initial-exec -march=i686" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
Index: gcc/testsuite/gcc.dg/tls/alias-1.c
===================================================================
---- gcc/testsuite/gcc.dg/tls/alias-1.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gcc.dg/tls/alias-1.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gcc.dg/tls/alias-1.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gcc.dg/tls/alias-1.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,7 +1,7 @@
/* { dg-do link } */
/* { dg-require-alias "" } */
Index: gcc/testsuite/gcc.dg/pr39867.c
===================================================================
--- gcc/testsuite/gcc.dg/pr39867.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr39867.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.dg/pr39867.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,12 @@
+/* { dg-do link } */
+/* { dg-options "-O2" } */
Index: gcc/testsuite/gcc.dg/Wunused-value-3.c
===================================================================
--- gcc/testsuite/gcc.dg/Wunused-value-3.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/Wunused-value-3.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.dg/Wunused-value-3.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,9 @@
+/* PR c/39889 */
+/* { dg-do compile } */
Index: gcc/testsuite/gcc.dg/pr40172-1.c
===================================================================
--- gcc/testsuite/gcc.dg/pr40172-1.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr40172-1.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.dg/pr40172-1.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,31 @@
+/* PR middle-end/40172 */
+/* { dg-do compile } */
Index: gcc/testsuite/gcc.dg/pr39666-2.c
===================================================================
--- gcc/testsuite/gcc.dg/pr39666-2.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr39666-2.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.dg/pr39666-2.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,22 @@
+/* PR middle-end/39666 */
+/* { dg-do compile } */
+}
Index: gcc/testsuite/gcc.dg/vmx/3a-05.c
===================================================================
---- gcc/testsuite/gcc.dg/vmx/3a-05.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gcc.dg/vmx/3a-05.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gcc.dg/vmx/3a-05.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gcc.dg/vmx/3a-05.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -14,9 +14,13 @@
static void test()
}
Index: gcc/testsuite/gcc.dg/vmx/3a-04m.c
===================================================================
---- gcc/testsuite/gcc.dg/vmx/3a-04m.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gcc.dg/vmx/3a-04m.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gcc.dg/vmx/3a-04m.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gcc.dg/vmx/3a-04m.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -10,9 +10,13 @@
static void test()
}
Index: gcc/testsuite/gcc.dg/vmx/3a-04.c
===================================================================
---- gcc/testsuite/gcc.dg/vmx/3a-04.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gcc.dg/vmx/3a-04.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gcc.dg/vmx/3a-04.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gcc.dg/vmx/3a-04.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -10,9 +10,13 @@
static void test()
Index: gcc/testsuite/gcc.dg/pr40172-3.c
===================================================================
--- gcc/testsuite/gcc.dg/pr40172-3.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr40172-3.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.dg/pr40172-3.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,16 @@
+/* PR middle-end/40172 */
+/* { dg-do compile */
+}
Index: gcc/testsuite/gcc.dg/prefetch-loop-arrays-1.c
===================================================================
---- gcc/testsuite/gcc.dg/prefetch-loop-arrays-1.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gcc.dg/prefetch-loop-arrays-1.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gcc.dg/prefetch-loop-arrays-1.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gcc.dg/prefetch-loop-arrays-1.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -3,7 +3,7 @@
/* { dg-options "-O2 -fprefetch-loop-arrays -w" } */
/* { dg-options "-O2 -fprefetch-loop-arrays -march=i686 -msse -w" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
Index: gcc/testsuite/gcc.dg/pr40340-2.c
===================================================================
--- gcc/testsuite/gcc.dg/pr40340-2.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr40340-2.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.dg/pr40340-2.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,16 @@
+/* PR middle-end/40340 */
+/* { dg-do compile } */
Index: gcc/testsuite/gcc.dg/dfp/pr39902.c
===================================================================
--- gcc/testsuite/gcc.dg/dfp/pr39902.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/dfp/pr39902.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.dg/dfp/pr39902.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,239 @@
+/* { dg-options "--std=gnu99" } */
+
Index: gcc/testsuite/gcc.dg/dfp/pr39986.c
===================================================================
--- gcc/testsuite/gcc.dg/dfp/pr39986.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/dfp/pr39986.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.dg/dfp/pr39986.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,31 @@
+/* { dg-do compile } */
+/* { dg-options "-std=gnu99" } */
+/* { dg-final { scan-assembler ".long\t(-1576681472|-1339162624)\n" } } */
Index: gcc/testsuite/gcc.dg/pr33667.c
===================================================================
---- gcc/testsuite/gcc.dg/pr33667.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gcc.dg/pr33667.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gcc.dg/pr33667.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gcc.dg/pr33667.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,7 +1,7 @@
/* { dg-do compile } */
/* { dg-options "-O2" } */
Index: gcc/testsuite/gcc.dg/pr40550.c
===================================================================
--- gcc/testsuite/gcc.dg/pr40550.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr40550.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.dg/pr40550.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,34 @@
+/* { dg-do run } */
+/* { dg-options "-msse" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
+}
Index: gcc/testsuite/gcc.dg/20050629-1.c
===================================================================
---- gcc/testsuite/gcc.dg/20050629-1.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gcc.dg/20050629-1.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gcc.dg/20050629-1.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gcc.dg/20050629-1.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -5,7 +5,7 @@
contains many warnings, but it exposes a copy propagation bug that
is somewhat difficult to reproduce otherwise. */
Index: gcc/testsuite/gcc.dg/pr40340-4.c
===================================================================
--- gcc/testsuite/gcc.dg/pr40340-4.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr40340-4.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.dg/pr40340-4.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,16 @@
+/* PR middle-end/40340 */
+/* { dg-do compile } */
Index: gcc/testsuite/gcc.dg/vect/pr40074.c
===================================================================
--- gcc/testsuite/gcc.dg/vect/pr40074.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/vect/pr40074.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.dg/vect/pr40074.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,54 @@
+/* { dg-require-effective-target vect_int } */
+
Index: gcc/testsuite/gcc.dg/vect/pr40254.c
===================================================================
--- gcc/testsuite/gcc.dg/vect/pr40254.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/vect/pr40254.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.dg/vect/pr40254.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,39 @@
+#include <stdlib.h>
+#include <stdarg.h>
Index: gcc/testsuite/gcc.dg/vect/pr40238.c
===================================================================
--- gcc/testsuite/gcc.dg/vect/pr40238.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/vect/pr40238.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.dg/vect/pr40238.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,35 @@
+/* { dg-do compile } */
+
Index: gcc/testsuite/gcc.dg/vect/pr40542.c
===================================================================
--- gcc/testsuite/gcc.dg/vect/pr40542.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/vect/pr40542.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gcc.dg/vect/pr40542.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,14 @@
+/* { dg-do compile } */
+
+
Index: gcc/testsuite/ChangeLog
===================================================================
---- gcc/testsuite/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149126)
-@@ -1,3 +1,691 @@
+--- gcc/testsuite/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -1,3 +1,768 @@
++2009-07-11 Jakub Jelinek <jakub@redhat.com>
++
++ PR target/40668
++ * gcc.c-torture/execute/pr40668.c: New test.
++
++2009-07-10 Jakub Jelinek <jakub@redhat.com>
++
++ PR c++/40502
++ * g++.dg/ext/strncpy-chk1.C: New test.
++
++2009-07-09 Paul Thomas <pault@gcc.gnu.org>
++
++ PR fortran/40440
++ * gfortran.dg/alloc_comp_result_2.f90: New test.
++
++2009-07-09 Dodji Seketeli <dodji@redhat.com>
++
++ PR c++/40684
++ * g++.dg/template/unify11.C: New test.
++
++2009-07-08 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from mainline:
++ 2009-07-06 Simon Martin <simartin@users.sourceforge.net>
++
++ PR c++/40557
++ * g++.dg/template/union2.C: New test.
++
++2009-07-07 Jason Merrill <jason@redhat.com>
++
++ PR c++/35828
++ * g++.dg/template/defarg12.C: New.
++
++ PR c++/37816
++ * g++.dg/cpp0x/enum7.C: New.
++
++ PR c++/37946
++ * g++.dg/cpp0x/enum6.C: New.
++
++ PR c++/40639
++ * g++.dg/cpp0x/enum5.C: New.
++
++ PR c++/40633
++ * g++.dg/cpp0x/enum4.C: New.
++
++2009-07-07 Jakub Jelinek <jakub@redhat.com>
++
++ PR middle-end/40669
++ * gcc.dg/pr40669.c: New test.
++
++2009-07-05 Paul Thomas <pault@gcc.gnu.org>
++
++ PR fortran/40551
++ * gfortran.dg/func_assign_2.f90 : New test.
++
++2009-07-04 Jakub Jelinek <jakub@redhat.com>
++
++ * gfortran.dg/maxloc_1.f90: New test.
++
++2009-07-04 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from mainline:
++ 2009-07-03 Richard Guenther <rguenther@suse.de>
++
++ PR tree-optimization/40640
++ * gcc.c-torture/compile/pr40640.c: New testcase.
++
++2009-07-03 Vladimir Makarov <vmakarov@redhat.com>
++
++ PR target/40587
++ * gfortran.dg/pr40587.f: New test.
++
++2009-07-03 Jerry DeLisle <jvdelisle@gcc.gnu.org>
++
++ PR fortran/40638
++ * gfortran.dg/unit_1.f90: New test.
++
+2009-06-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/40566
2009-04-21 Release Manager
* GCC 4.4.0 released.
-@@ -192,7 +880,7 @@
+@@ -192,7 +957,7 @@
2009-04-06 Laurent GUERBY <laurent@guerby.net>
Index: gcc/testsuite/g++.old-deja/g++.brendan/array1.C
===================================================================
---- gcc/testsuite/g++.old-deja/g++.brendan/array1.C (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/g++.old-deja/g++.brendan/array1.C (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/g++.old-deja/g++.brendan/array1.C (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/g++.old-deja/g++.brendan/array1.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -3,5 +3,5 @@
// GROUPS passed array-bindings
int main () { printf ("PASS\n"); return 0; }
Index: gcc/testsuite/g++.old-deja/g++.brendan/crash64.C
===================================================================
---- gcc/testsuite/g++.old-deja/g++.brendan/crash64.C (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/g++.old-deja/g++.brendan/crash64.C (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/g++.old-deja/g++.brendan/crash64.C (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/g++.old-deja/g++.brendan/crash64.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,6 +1,6 @@
// { dg-do assemble }
// GROUPS passed old-abort
struct metatype { int base_list; };
Index: gcc/testsuite/g++.old-deja/g++.jason/new3.C
===================================================================
---- gcc/testsuite/g++.old-deja/g++.jason/new3.C (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/g++.old-deja/g++.jason/new3.C (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/g++.old-deja/g++.jason/new3.C (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/g++.old-deja/g++.jason/new3.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,5 +1,5 @@
// { dg-do run }
-// { dg-options "-fcheck-new -pedantic" }
Index: gcc/testsuite/gfortran.fortran-torture/execute/getarg_1.x
===================================================================
--- gcc/testsuite/gfortran.fortran-torture/execute/getarg_1.x (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.fortran-torture/execute/getarg_1.x (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gfortran.fortran-torture/execute/getarg_1.x (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,5 @@
+if [istarget "spu-*-*"] {
+ # We need -mstdmain to enable argument processing on SPU.
+return 0
Index: gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_nearest.x
===================================================================
---- gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_nearest.x (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_nearest.x (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_nearest.x (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_nearest.x (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,2 +1,6 @@
+if [istarget "spu-*-*"] {
+ # No Inf/NaN support on SPU.
return 0
Index: gcc/testsuite/gfortran.fortran-torture/execute/nan_inf_fmt.x
===================================================================
---- gcc/testsuite/gfortran.fortran-torture/execute/nan_inf_fmt.x (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gfortran.fortran-torture/execute/nan_inf_fmt.x (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gfortran.fortran-torture/execute/nan_inf_fmt.x (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gfortran.fortran-torture/execute/nan_inf_fmt.x (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,2 +1,6 @@
+if [istarget "spu-*-*"] {
+ # No Inf/NaN support on SPU.
return 0
Index: gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_set_exponent.x
===================================================================
---- gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_set_exponent.x (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_set_exponent.x (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_set_exponent.x (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_set_exponent.x (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,2 +1,6 @@
+if [istarget "spu-*-*"] {
+ # No denormal support on SPU.
Index: gcc/testsuite/gfortran.fortran-torture/execute/pr40021.f
===================================================================
--- gcc/testsuite/gfortran.fortran-torture/execute/pr40021.f (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.fortran-torture/execute/pr40021.f (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gfortran.fortran-torture/execute/pr40021.f (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,40 @@
+C Derived from lapack
+ PROGRAM test
Index: gcc/testsuite/gfortran.fortran-torture/compile/pr39937.f
===================================================================
--- gcc/testsuite/gfortran.fortran-torture/compile/pr39937.f (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.fortran-torture/compile/pr39937.f (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gfortran.fortran-torture/compile/pr39937.f (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,28 @@
+ SUBROUTINE DTREVC( SIDE, HOWMNY, SELECT, N, T, LDT, VL, LDVL, VR,
+ $ LDVR, MM, M, WORK, INFO )
Index: gcc/testsuite/g++.dg/other/pr40446.C
===================================================================
--- gcc/testsuite/g++.dg/other/pr40446.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/other/pr40446.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/other/pr40446.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,46 @@
+// PR middle-end/40446
+// { dg-do run { target i?86-*-* x86_64-*-* } }
+}
Index: gcc/testsuite/g++.dg/tree-ssa/pr22444.C
===================================================================
---- gcc/testsuite/g++.dg/tree-ssa/pr22444.C (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/g++.dg/tree-ssa/pr22444.C (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/g++.dg/tree-ssa/pr22444.C (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/g++.dg/tree-ssa/pr22444.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -4,8 +4,8 @@
// with the subvars leading to the subvars not being renamed when they should
// { dg-do compile }
Index: gcc/testsuite/g++.dg/debug/dwarf2/nested-1.C
===================================================================
--- gcc/testsuite/g++.dg/debug/dwarf2/nested-1.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/debug/dwarf2/nested-1.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/debug/dwarf2/nested-1.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,29 @@
+// Contributed by Dodji Seketeli <dodji@redhat.com>
+// Origin PR debug/40109
+
Index: gcc/testsuite/g++.dg/ext/packed6.C
===================================================================
---- gcc/testsuite/g++.dg/ext/packed6.C (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/g++.dg/ext/packed6.C (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/g++.dg/ext/packed6.C (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/g++.dg/ext/packed6.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,7 +1,7 @@
// PR c++/15209
// { dg-options "-w" }
Index: gcc/testsuite/g++.dg/ext/altivec-15.C
===================================================================
---- gcc/testsuite/g++.dg/ext/altivec-15.C (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/g++.dg/ext/altivec-15.C (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/g++.dg/ext/altivec-15.C (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/g++.dg/ext/altivec-15.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -2,12 +2,15 @@
/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
+ C0 = __builtin_vec_splat(_simdCosEstCoefficients, 0);
+ C1 = __builtin_vec_splat(_simdCosEstCoefficients, 1);
+Index: gcc/testsuite/g++.dg/ext/strncpy-chk1.C
+===================================================================
+--- gcc/testsuite/g++.dg/ext/strncpy-chk1.C (.../tags/gcc_4_4_0_release) (wersja 0)
++++ gcc/testsuite/g++.dg/ext/strncpy-chk1.C (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -0,0 +1,31 @@
++// PR c++/40502
++// { dg-do compile }
++// { dg-options "-O2" }
++
++struct A { char x[12], y[35]; };
++struct B { char z[50]; };
++
++inline void
++foo (char *dest, const char *__restrict src, __SIZE_TYPE__ n)
++{
++ __builtin___strncpy_chk (dest, src, n, __builtin_object_size (dest, 0)); // { dg-warning "will always overflow" }
++}
++
++void bar (const char *, int);
++
++inline void
++baz (int i)
++{
++ char s[128], t[32];
++ bar (s, 0);
++ bar (t, i);
++ A a;
++ B b;
++ foo (a.y, b.z, 36);
++}
++
++void
++test ()
++{
++ baz (0);
++}
Index: gcc/testsuite/g++.dg/ext/vla7.C
===================================================================
--- gcc/testsuite/g++.dg/ext/vla7.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/ext/vla7.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/ext/vla7.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,30 @@
+// PR c++/40013
+// { dg-options "" }
+}
Index: gcc/testsuite/g++.dg/opt/memcpy1.C
===================================================================
---- gcc/testsuite/g++.dg/opt/memcpy1.C (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/g++.dg/opt/memcpy1.C (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/g++.dg/opt/memcpy1.C (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/g++.dg/opt/memcpy1.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -6,7 +6,7 @@
typedef unsigned char uint8_t;
Index: gcc/testsuite/g++.dg/warn/Wuninitialized-5.C
===================================================================
--- gcc/testsuite/g++.dg/warn/Wuninitialized-5.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/warn/Wuninitialized-5.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/warn/Wuninitialized-5.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,22 @@
+// PR middle-end/39666
+// { dg-do compile }
Index: gcc/testsuite/g++.dg/warn/Wuninitialized-4.C
===================================================================
--- gcc/testsuite/g++.dg/warn/Wuninitialized-4.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/warn/Wuninitialized-4.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/warn/Wuninitialized-4.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,22 @@
+// PR middle-end/39666
+// { dg-do compile }
Index: gcc/testsuite/g++.dg/parse/cond5.C
===================================================================
--- gcc/testsuite/g++.dg/parse/cond5.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/parse/cond5.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/parse/cond5.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,10 @@
+// PR c++/40566
+
Index: gcc/testsuite/g++.dg/expr/bound-mem-fun.C
===================================================================
--- gcc/testsuite/g++.dg/expr/bound-mem-fun.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/expr/bound-mem-fun.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/expr/bound-mem-fun.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,18 @@
+// Contributed by Dodji Seketeli <dodji@redhat.com>
+// Origin PR c++/38228
Index: gcc/testsuite/g++.dg/cpp0x/variadic94.C
===================================================================
--- gcc/testsuite/g++.dg/cpp0x/variadic94.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/cpp0x/variadic94.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/cpp0x/variadic94.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,33 @@
+// PR c++/40595
+// { dg-options "-std=c++0x" }
Index: gcc/testsuite/g++.dg/cpp0x/pr39639.C
===================================================================
--- gcc/testsuite/g++.dg/cpp0x/pr39639.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/cpp0x/pr39639.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/cpp0x/pr39639.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,20 @@
+// Contributed by Dodji Seketeli <dodji@redhat.com>
+// Origin: PR c++/39639
+
Index: gcc/testsuite/g++.dg/cpp0x/initlist13.C
===================================================================
---- gcc/testsuite/g++.dg/cpp0x/initlist13.C (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/g++.dg/cpp0x/initlist13.C (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/g++.dg/cpp0x/initlist13.C (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/g++.dg/cpp0x/initlist13.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -2,4 +2,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
Index: gcc/testsuite/g++.dg/cpp0x/auto14.C
===================================================================
--- gcc/testsuite/g++.dg/cpp0x/auto14.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/cpp0x/auto14.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/cpp0x/auto14.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,29 @@
+// PR c++/40306, c++/40307
+// { dg-options "-std=c++0x" }
+ x.run_fail();
+ return 0;
+}
+
+Zmiany atrybutów dla: gcc/testsuite/g++.dg/cpp0x/decltype-38655.C
+___________________________________________________________________
+Zmienione: svn:mergeinfo
+ Połączono zmiany /trunk/gcc/testsuite/g++.dg/cpp0x/decltype-38655.C:r149223,149341,149351
+
Index: gcc/testsuite/g++.dg/cpp0x/auto15.C
===================================================================
--- gcc/testsuite/g++.dg/cpp0x/auto15.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/cpp0x/auto15.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/cpp0x/auto15.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,13 @@
+// { dg-options "-std=c++0x" }
+
Index: gcc/testsuite/g++.dg/cpp0x/enum3.C
===================================================================
--- gcc/testsuite/g++.dg/cpp0x/enum3.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/cpp0x/enum3.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/cpp0x/enum3.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,17 @@
+// PR c++/38064
+// { dg-options "-std=c++0x" }
Index: gcc/testsuite/g++.dg/cpp0x/initlist15.C
===================================================================
--- gcc/testsuite/g++.dg/cpp0x/initlist15.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/cpp0x/initlist15.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/cpp0x/initlist15.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,17 @@
+// { dg-options "-std=c++0x" }
+
+ test( 1, 3.14f, 2.78 );
+ return 0;
+}
+Index: gcc/testsuite/g++.dg/cpp0x/auto16.C
+===================================================================
+--- gcc/testsuite/g++.dg/cpp0x/auto16.C (.../tags/gcc_4_4_0_release) (wersja 0)
++++ gcc/testsuite/g++.dg/cpp0x/auto16.C (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -0,0 +1,7 @@
++// PR c++/40619
++// { dg-options "-std=c++0x" }
++
++template<typename U> struct X {};
++
++template<typename T> auto f(T t) -> X<decltype(t+1)> {}
++template<typename T> auto g(T t) -> X<decltype(t+1)> {}
+Index: gcc/testsuite/g++.dg/cpp0x/enum4.C
+===================================================================
+--- gcc/testsuite/g++.dg/cpp0x/enum4.C (.../tags/gcc_4_4_0_release) (wersja 0)
++++ gcc/testsuite/g++.dg/cpp0x/enum4.C (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -0,0 +1,8 @@
++// PR c++/40633
++// { dg-options "-std=c++0x" }
++
++template< typename T >
++struct wrap {
++ enum class E { val };
++};
++
Index: gcc/testsuite/g++.dg/cpp0x/initlist16.C
===================================================================
--- gcc/testsuite/g++.dg/cpp0x/initlist16.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/cpp0x/initlist16.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/cpp0x/initlist16.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,12 @@
+// { dg-options "-std=c++0x" }
+// { dg-do run }
+ f({42});
+ return {0};
+}
+Index: gcc/testsuite/g++.dg/cpp0x/enum5.C
+===================================================================
+--- gcc/testsuite/g++.dg/cpp0x/enum5.C (.../tags/gcc_4_4_0_release) (wersja 0)
++++ gcc/testsuite/g++.dg/cpp0x/enum5.C (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -0,0 +1,20 @@
++// PR c++/40639
++// { dg-options "-std=c++0x" }
++
++template< typename T >
++struct wrap {
++ enum E : T { val };
++};
++
++template< typename T >
++struct dependant {
++ enum E : typename T::type { val };
++};
++
++template<typename T>
++struct identity {
++ typedef T type;
++};
++
++wrap<int> x;
++dependant<identity<int>> y;
Index: gcc/testsuite/g++.dg/cpp0x/initlist17.C
===================================================================
--- gcc/testsuite/g++.dg/cpp0x/initlist17.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/cpp0x/initlist17.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/cpp0x/initlist17.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,9 @@
+// { dg-options "-std=c++0x" }
+
+ f({42.0}); // { dg-error "narrowing" }
+ return {1.0}; // { dg-error "narrowing" }
+}
+Index: gcc/testsuite/g++.dg/cpp0x/enum6.C
+===================================================================
+--- gcc/testsuite/g++.dg/cpp0x/enum6.C (.../tags/gcc_4_4_0_release) (wersja 0)
++++ gcc/testsuite/g++.dg/cpp0x/enum6.C (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -0,0 +1,15 @@
++// PR c++/37946
++// { dg-options "-std=c++0x" }
++
++enum class E : char
++{
++ e1,
++ e2
++};
++
++inline E operator| (E a1, E a2)
++{
++ char ret = static_cast<char> (a1)
++ | static_cast<char> (a2);
++ return static_cast<E>(ret);
++}
Index: gcc/testsuite/g++.dg/cpp0x/initlist18.C
===================================================================
--- gcc/testsuite/g++.dg/cpp0x/initlist18.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/cpp0x/initlist18.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/cpp0x/initlist18.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,19 @@
+// PR c++/40308, 40311
+// { dg-do run }
+ int * b = new int{5};
+ return 0;
+}
+Index: gcc/testsuite/g++.dg/cpp0x/enum7.C
+===================================================================
+--- gcc/testsuite/g++.dg/cpp0x/enum7.C (.../tags/gcc_4_4_0_release) (wersja 0)
++++ gcc/testsuite/g++.dg/cpp0x/enum7.C (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -0,0 +1,11 @@
++// PR c++/37816
++// { dg-options "-std=c++0x" }
++
++class A
++{
++ enum class Color { Red, Orange, Yellow, Green, Blue, Violet };
++ enum class Alert { Green, Yellow, Red };
++ static const Color x = Red; // { dg-error "" }
++ static const Color y = Color::Red;
++ static const Alert z = Alert::Red;
++};
Index: gcc/testsuite/g++.dg/cpp0x/defaulted10.C
===================================================================
--- gcc/testsuite/g++.dg/cpp0x/defaulted10.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/cpp0x/defaulted10.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/cpp0x/defaulted10.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,14 @@
+// PR c++/40381
+// { dg-options "-std=gnu++0x" }
Index: gcc/testsuite/g++.dg/cpp0x/initlist19.C
===================================================================
--- gcc/testsuite/g++.dg/cpp0x/initlist19.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/cpp0x/initlist19.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/cpp0x/initlist19.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,8 @@
+// { dg-options "-std=c++0x" }
+
Index: gcc/testsuite/g++.dg/eh/nested-try.C
===================================================================
--- gcc/testsuite/g++.dg/eh/nested-try.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/eh/nested-try.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/eh/nested-try.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,25 @@
+// { dg-do compile }
+// Nested try statements shadowing each other was crashing in EH edge redirection.
Index: gcc/testsuite/g++.dg/torture/pr40460.C
===================================================================
--- gcc/testsuite/g++.dg/torture/pr40460.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/torture/pr40460.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/torture/pr40460.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,9 @@
+/* { dg-do compile } */
+
Index: gcc/testsuite/g++.dg/torture/pr40389.C
===================================================================
--- gcc/testsuite/g++.dg/torture/pr40389.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/torture/pr40389.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/torture/pr40389.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,84 @@
+/* { dg-do run } */
+
Index: gcc/testsuite/g++.dg/torture/pr40335.C
===================================================================
--- gcc/testsuite/g++.dg/torture/pr40335.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/torture/pr40335.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/torture/pr40335.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,16 @@
+/* { dg-do run } */
+
Index: gcc/testsuite/g++.dg/torture/pr32950.C
===================================================================
--- gcc/testsuite/g++.dg/torture/pr32950.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/torture/pr32950.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/torture/pr32950.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,19 @@
+/* { dg-do compile } */
+
Index: gcc/testsuite/g++.dg/torture/pr40492.C
===================================================================
--- gcc/testsuite/g++.dg/torture/pr40492.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/torture/pr40492.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/torture/pr40492.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,26 @@
+typedef unsigned short ushort;
+class QChar {
+}
Index: gcc/testsuite/g++.dg/torture/20070621-1.C
===================================================================
---- gcc/testsuite/g++.dg/torture/20070621-1.C (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/g++.dg/torture/20070621-1.C (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/g++.dg/torture/20070621-1.C (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/g++.dg/torture/20070621-1.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -6,7 +6,7 @@
*/
enum {
Index: gcc/testsuite/g++.dg/torture/pr34222.C
===================================================================
---- gcc/testsuite/g++.dg/torture/pr34222.C (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/g++.dg/torture/pr34222.C (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/g++.dg/torture/pr34222.C (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/g++.dg/torture/pr34222.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -3,7 +3,7 @@
namespace std __attribute__ ((__visibility__ ("default"))) {
template<class _CharT> struct char_traits;
template<typename _CharT, typename _Traits = char_traits<_CharT> > class basic_ifstream;
Index: gcc/testsuite/g++.dg/torture/pr34850.C
===================================================================
---- gcc/testsuite/g++.dg/torture/pr34850.C (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/g++.dg/torture/pr34850.C (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/g++.dg/torture/pr34850.C (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/g++.dg/torture/pr34850.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -5,7 +5,7 @@
typedef unsigned int uint32_t;
typedef uint8_t byte;
extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__))
Index: gcc/testsuite/g++.dg/pr37742.C
===================================================================
---- gcc/testsuite/g++.dg/pr37742.C (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/g++.dg/pr37742.C (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/g++.dg/pr37742.C (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/g++.dg/pr37742.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,6 +1,6 @@
/* { dg-do compile } */
void* __valarray_get_memory(size_t __n);
int*__restrict__
__valarray_get_storage(size_t __n)
+Index: gcc/testsuite/g++.dg/template/union2.C
+===================================================================
+--- gcc/testsuite/g++.dg/template/union2.C (.../tags/gcc_4_4_0_release) (wersja 0)
++++ gcc/testsuite/g++.dg/template/union2.C (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -0,0 +1,12 @@
++/* PR c++/40557 */
++/* { dg-do "compile" } */
++
++struct A
++{
++ typedef int X;
++};
++
++template<int> union B
++{
++ A::X x;
++};
Index: gcc/testsuite/g++.dg/template/overload10.C
===================================================================
--- gcc/testsuite/g++.dg/template/overload10.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/overload10.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/template/overload10.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,6 @@
+// PR c++40342
+
Index: gcc/testsuite/g++.dg/template/typedef18.C
===================================================================
--- gcc/testsuite/g++.dg/template/typedef18.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/typedef18.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/template/typedef18.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,24 @@
+// Contributed by Dodji Seketeli <dodji@redhat.com>
+// Origin PR c++/40007
Index: gcc/testsuite/g++.dg/template/typedef19.C
===================================================================
--- gcc/testsuite/g++.dg/template/typedef19.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/typedef19.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/template/typedef19.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,21 @@
+// Contributed by Dodji Seketeli <dodji@redhat.com>
+// Origin PR c++/40007
Index: gcc/testsuite/g++.dg/template/error41.C
===================================================================
--- gcc/testsuite/g++.dg/template/error41.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/error41.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/template/error41.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,12 @@
+// PR c++/40370
+// { dg-do compile }
Index: gcc/testsuite/g++.dg/template/error42.C
===================================================================
--- gcc/testsuite/g++.dg/template/error42.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/error42.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/template/error42.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,20 @@
+// PR c++/40372
+// { dg-do compile }
Index: gcc/testsuite/g++.dg/template/canon-type-1.C
===================================================================
--- gcc/testsuite/g++.dg/template/canon-type-1.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/canon-type-1.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/template/canon-type-1.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,18 @@
+// Contributed by Dodji Seketeli <dodji@redhat.com>
+// Origin PR c++/39754
Index: gcc/testsuite/g++.dg/template/canon-type-2.C
===================================================================
--- gcc/testsuite/g++.dg/template/canon-type-2.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/canon-type-2.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/template/canon-type-2.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,18 @@
+// Contributed by Dodji Seketeli <dodji@redhat.com>
+// Origin PR c++/39754
Index: gcc/testsuite/g++.dg/template/canon-type-3.C
===================================================================
--- gcc/testsuite/g++.dg/template/canon-type-3.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/canon-type-3.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/template/canon-type-3.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,20 @@
+// Contributed by Dodji Seketeli <dodji@redhat.com>
+// Origin PR c++/39754
+} ;
+E < int > e ;
+
+Index: gcc/testsuite/g++.dg/template/defarg12.C
+===================================================================
+--- gcc/testsuite/g++.dg/template/defarg12.C (.../tags/gcc_4_4_0_release) (wersja 0)
++++ gcc/testsuite/g++.dg/template/defarg12.C (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -0,0 +1,10 @@
++// PR c++/35828
++// { dg-options "-std=c++0x" }
++
++template < typename > struct A ;
++template < template < typename > class = A >
++void test ()
++{
++ test ();
++}
++
Index: gcc/testsuite/g++.dg/template/debug1.C
===================================================================
--- gcc/testsuite/g++.dg/template/debug1.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/debug1.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/template/debug1.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,18 @@
+// PR c++/40274
+// { dg-options "-g" }
Index: gcc/testsuite/g++.dg/template/canon-type-4.C
===================================================================
--- gcc/testsuite/g++.dg/template/canon-type-4.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/canon-type-4.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/template/canon-type-4.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,22 @@
+// Contributed by Dodji Seketeli <dodji@redhat.com>
+// Origin PR c++/39754
Index: gcc/testsuite/g++.dg/template/canon-type-5.C
===================================================================
--- gcc/testsuite/g++.dg/template/canon-type-5.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/canon-type-5.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/template/canon-type-5.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,22 @@
+// Contributed by Dodji Seketeli <dodji@redhat.com>
+// Origin PR c++/39754
Index: gcc/testsuite/g++.dg/template/canon-type-6.C
===================================================================
--- gcc/testsuite/g++.dg/template/canon-type-6.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/canon-type-6.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/template/canon-type-6.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,22 @@
+// Contributed by Dodji Seketeli <dodji@redhat.com>
+// Origin PR c++/39754
Index: gcc/testsuite/g++.dg/template/typedef20.C
===================================================================
--- gcc/testsuite/g++.dg/template/typedef20.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/typedef20.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/template/typedef20.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,27 @@
+// Contributed by Dodji Seketeli <dodji@redhat.com>
+// Origin PR c++/40007
Index: gcc/testsuite/g++.dg/template/canon-type-7.C
===================================================================
--- gcc/testsuite/g++.dg/template/canon-type-7.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/canon-type-7.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/template/canon-type-7.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,21 @@
+// Contributed by Dodji Seketeli <dodji@redhat.com>
+// Origin PR c++/39754
Index: gcc/testsuite/g++.dg/template/call7.C
===================================================================
--- gcc/testsuite/g++.dg/template/call7.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/call7.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/template/call7.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,19 @@
+// Contributed by Dodji Seketeli <dodji@redhat.com>
+// Origin: PR c++/17395
Index: gcc/testsuite/g++.dg/template/dtor6.C
===================================================================
--- gcc/testsuite/g++.dg/template/dtor6.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/dtor6.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/template/dtor6.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,10 @@
+// PR c++/40139
+
+template<int N> int A<N>::i = { A::~A }; // { dg-error "" }
+
+template class A<0>;
+Index: gcc/testsuite/g++.dg/template/unify11.C
+===================================================================
+--- gcc/testsuite/g++.dg/template/unify11.C (.../tags/gcc_4_4_0_release) (wersja 0)
++++ gcc/testsuite/g++.dg/template/unify11.C (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -0,0 +1,36 @@
++// Contributed by Dodji Seketeli <dodji@redhat.com>
++// Origin: PR c++/40684
++// { dg-options "-std=c++0x" }
++
++struct A
++{
++};
++
++template <typename S, typename T, typename U, typename S::v = &S::v::s>
++typename S::A
++foo (S c, T t, U u)
++{
++}
++
++struct B
++{
++ struct C
++ {
++ template <typename U>
++ C (U t)
++ {
++ A a;
++ A b = foo (this, a, t); // { dg-error "no matching function" }
++ }
++ } c;
++ B () : c (A ())
++ {
++ }
++};
++
++int
++main ()
++{
++ B f;
++}
++
Index: gcc/testsuite/g++.dg/template/dtor7.C
===================================================================
--- gcc/testsuite/g++.dg/template/dtor7.C (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/dtor7.C (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/g++.dg/template/dtor7.C (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,24 @@
+// PR c++/40373
+// { dg-compile }
+}
+
+// { dg-bogus "is ambiguous" "" { xfail *-*-* } 15 }
+
+Zmiany atrybutów dla: gcc/testsuite/g++.dg
+___________________________________________________________________
+Dodane: svn:mergeinfo
+ Połączono zmiany /trunk/gcc/testsuite/g++.dg:r148910,149223,149341,149351
+
Index: gcc/testsuite/lib/gcc-dg.exp
===================================================================
---- gcc/testsuite/lib/gcc-dg.exp (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/lib/gcc-dg.exp (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/lib/gcc-dg.exp (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/lib/gcc-dg.exp (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -186,7 +186,7 @@
# Likewise, if we see ".text exceeds local store range" or
# similar.
}
Index: gcc/testsuite/lib/gcc-defs.exp
===================================================================
---- gcc/testsuite/lib/gcc-defs.exp (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/lib/gcc-defs.exp (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/lib/gcc-defs.exp (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/lib/gcc-defs.exp (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -155,6 +155,10 @@
if [regexp "(^|\n)\[^\n\]*: region \[^\n\]* is full" $output] {
return "memory full"
Index: gcc/testsuite/lib/gfortran.exp
===================================================================
---- gcc/testsuite/lib/gfortran.exp (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/lib/gfortran.exp (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/lib/gfortran.exp (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/lib/gfortran.exp (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -27,6 +27,7 @@
load_lib gcc-defs.exp
load_lib timeout.exp
verbose "gfortran is initialized" 3
Index: gcc/testsuite/lib/target-supports.exp
===================================================================
---- gcc/testsuite/lib/target-supports.exp (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/lib/target-supports.exp (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/lib/target-supports.exp (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/lib/target-supports.exp (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -466,6 +466,11 @@
return 0
}
Index: gcc/testsuite/objc.dg/pr28050.m
===================================================================
--- gcc/testsuite/objc.dg/pr28050.m (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/objc.dg/pr28050.m (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/objc.dg/pr28050.m (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,2 @@
+/* { dg-do compile } */
+int i = [0]; /* { dg-error "expected .:. before .\\]. token" } */
Index: gcc/testsuite/gfortran.dg/data_value_1.f90
===================================================================
--- gcc/testsuite/gfortran.dg/data_value_1.f90 (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/data_value_1.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gfortran.dg/data_value_1.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,14 @@
+! { dg-do compile }
+! Test the fix for PR40402, in which it was not detected that X
Index: gcc/testsuite/gfortran.dg/pr39666-1.f90
===================================================================
--- gcc/testsuite/gfortran.dg/pr39666-1.f90 (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/pr39666-1.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gfortran.dg/pr39666-1.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,14 @@
+! PR middle-end/39666
+! { dg-do compile }
+END FUNCTION
Index: gcc/testsuite/gfortran.dg/nearest_1.f90
===================================================================
---- gcc/testsuite/gfortran.dg/nearest_1.f90 (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gfortran.dg/nearest_1.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gfortran.dg/nearest_1.f90 (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gfortran.dg/nearest_1.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,6 +1,7 @@
! { dg-do run }
! { dg-options "-O0 -ffloat-store" }
Index: gcc/testsuite/gfortran.dg/generic_18.f90
===================================================================
--- gcc/testsuite/gfortran.dg/generic_18.f90 (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/generic_18.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gfortran.dg/generic_18.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,54 @@
+! { dg-do compile }
+! { dg-options "-fdump-tree-original" }
+! { dg-final { cleanup-modules "SomeOptions" } }
Index: gcc/testsuite/gfortran.dg/nearest_3.f90
===================================================================
---- gcc/testsuite/gfortran.dg/nearest_3.f90 (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gfortran.dg/nearest_3.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gfortran.dg/nearest_3.f90 (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gfortran.dg/nearest_3.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,5 +1,6 @@
! { dg-do run }
! { dg-options "-pedantic-errors -mieee" { target alpha*-*-* sh*-*-* } }
!
! PR fortran/34209
!
+Index: gcc/testsuite/gfortran.dg/unit_1.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/unit_1.f90 (.../tags/gcc_4_4_0_release) (wersja 0)
++++ gcc/testsuite/gfortran.dg/unit_1.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -0,0 +1,24 @@
++! { dg-do run }
++! PR40638 Run Time Error: Unit number in I/O statement too large
++ program main
++ integer(kind=2) :: lun, anum
++ integer(kind=1) :: looney, bin
++ lun = 12
++ anum = 5
++ looney = 42
++ bin = 23
++ open (lun, status='scratch')
++ write(lun,*) anum
++ anum = 0
++ rewind(lun)
++ read (lun, *) anum
++ if (anum.ne.5) call abort
++ open (looney, status='scratch')
++ write(looney,*)bin
++ bin = 0
++ rewind (looney)
++ read (looney,*)bin
++ if (bin.ne.23) call abort
++ close (lun)
++ close (looney)
++ end
Index: gcc/testsuite/gfortran.dg/namelist_42.f90
===================================================================
---- gcc/testsuite/gfortran.dg/namelist_42.f90 (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gfortran.dg/namelist_42.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gfortran.dg/namelist_42.f90 (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gfortran.dg/namelist_42.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,5 +1,6 @@
! { dg-do run { target fd_truncate } }
! { dg-options "-mieee" { target alpha*-*-* sh*-*-* } }
!
Index: gcc/testsuite/gfortran.dg/module_nan.f90
===================================================================
---- gcc/testsuite/gfortran.dg/module_nan.f90 (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gfortran.dg/module_nan.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gfortran.dg/module_nan.f90 (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gfortran.dg/module_nan.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,6 +1,7 @@
! { dg-do run }
! { dg-options "-fno-range-check" }
!
Index: gcc/testsuite/gfortran.dg/nan_2.f90
===================================================================
---- gcc/testsuite/gfortran.dg/nan_2.f90 (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gfortran.dg/nan_2.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gfortran.dg/nan_2.f90 (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gfortran.dg/nan_2.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,6 +1,7 @@
! { dg-do run }
! { dg-options "-fno-range-check -pedantic" }
!
Index: gcc/testsuite/gfortran.dg/array_memset_2.f90
===================================================================
---- gcc/testsuite/gfortran.dg/array_memset_2.f90 (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gfortran.dg/array_memset_2.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gfortran.dg/array_memset_2.f90 (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gfortran.dg/array_memset_2.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -20,8 +20,8 @@
data c /2*1.0/
! { dg-final { cleanup-modules "foo" } }
Index: gcc/testsuite/gfortran.dg/init_flag_3.f90
===================================================================
---- gcc/testsuite/gfortran.dg/init_flag_3.f90 (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gfortran.dg/init_flag_3.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gfortran.dg/init_flag_3.f90 (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gfortran.dg/init_flag_3.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,6 +1,7 @@
! { dg-do run }
! { dg-options "-finit-integer=-1 -finit-logical=false -finit-real=nan" }
Index: gcc/testsuite/gfortran.dg/dependency_24.f90
===================================================================
--- gcc/testsuite/gfortran.dg/dependency_24.f90 (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/dependency_24.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gfortran.dg/dependency_24.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,82 @@
+! { dg-do run }
+! Check the fix for PR38863 comment #1, where defined assignment
+
Index: gcc/testsuite/gfortran.dg/isnan_1.f90
===================================================================
---- gcc/testsuite/gfortran.dg/isnan_1.f90 (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gfortran.dg/isnan_1.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gfortran.dg/isnan_1.f90 (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gfortran.dg/isnan_1.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -2,6 +2,7 @@
!
! { dg-do run }
real :: x
Index: gcc/testsuite/gfortran.dg/nan_4.f90
===================================================================
---- gcc/testsuite/gfortran.dg/nan_4.f90 (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gfortran.dg/nan_4.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gfortran.dg/nan_4.f90 (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gfortran.dg/nan_4.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,6 +1,7 @@
! { dg-do compile }
! { dg-options "-std=gnu" }
!
! PR fortran/34398.
!
+Index: gcc/testsuite/gfortran.dg/alloc_comp_result_2.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/alloc_comp_result_2.f90 (.../tags/gcc_4_4_0_release) (wersja 0)
++++ gcc/testsuite/gfortran.dg/alloc_comp_result_2.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -0,0 +1,28 @@
++! { dg-do run }
++! Tests the fix for PR40440, in which gfortran tried to deallocate
++! the allocatable components of the actual argument of CALL SUB
++!
++! Contributed by Juergen Reuter <juergen.reuter@desy.de>
++! Reduced testcase from Tobias Burnus <burnus@gcc.gnu.org>
++!
++ implicit none
++ type t
++ integer, allocatable :: A(:)
++ end type t
++ type (t) :: arg
++ arg = t ([1,2,3])
++ call sub (func (arg))
++contains
++ function func (a)
++ type(t), pointer :: func
++ type(t), target :: a
++ integer, save :: i = 0
++ if (i /= 0) call abort ! multiple calls would cause this abort
++ i = i + 1
++ func => a
++ end function func
++ subroutine sub (a)
++ type(t), intent(IN), target :: a
++ if (any (a%A .ne. [1,2,3])) call abort
++ end subroutine sub
++end
Index: gcc/testsuite/gfortran.dg/chmod_2.f90
===================================================================
---- gcc/testsuite/gfortran.dg/chmod_2.f90 (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gfortran.dg/chmod_2.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gfortran.dg/chmod_2.f90 (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gfortran.dg/chmod_2.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,5 +1,6 @@
-! { dg-do run { target { ! *-*-mingw* } } }
+! { dg-do run { target { ! { *-*-mingw* *-*-cygwin* spu-*-* } } } }
integer :: i
Index: gcc/testsuite/gfortran.dg/default_format_1.f90
===================================================================
---- gcc/testsuite/gfortran.dg/default_format_1.f90 (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gfortran.dg/default_format_1.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gfortran.dg/default_format_1.f90 (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gfortran.dg/default_format_1.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { xfail spu-*-* } }
!
Index: gcc/testsuite/gfortran.dg/int_conv_2.f90
===================================================================
---- gcc/testsuite/gfortran.dg/int_conv_2.f90 (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gfortran.dg/int_conv_2.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gfortran.dg/int_conv_2.f90 (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gfortran.dg/int_conv_2.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,4 +1,5 @@
! { dg-do compile }
+! { dg-skip-if "NaN not supported" { spu-*-* } { "*" } { "" } }
implicit none
Index: gcc/testsuite/gfortran.dg/open_errors.f90
===================================================================
---- gcc/testsuite/gfortran.dg/open_errors.f90 (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gfortran.dg/open_errors.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gfortran.dg/open_errors.f90 (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gfortran.dg/open_errors.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,6 +1,7 @@
-! { dg-do run { target { ! *-*-mingw* } } }
+! { dg-do run { target { ! { *-*-mingw* *-*-cygwin* spu-*-* } } } }
Index: gcc/testsuite/gfortran.dg/alloc_comp_assign_10.f90
===================================================================
--- gcc/testsuite/gfortran.dg/alloc_comp_assign_10.f90 (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/alloc_comp_assign_10.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gfortran.dg/alloc_comp_assign_10.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,61 @@
+! { dg-do run }
+!
+! { dg-final { cleanup-modules "test_struct" } }
Index: gcc/testsuite/gfortran.dg/scalar_mask_2.f90
===================================================================
---- gcc/testsuite/gfortran.dg/scalar_mask_2.f90 (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gfortran.dg/scalar_mask_2.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gfortran.dg/scalar_mask_2.f90 (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gfortran.dg/scalar_mask_2.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,4 +1,5 @@
-! { dg-do run }
+! { dg-do run { xfail spu-*-* } }
real, dimension(2,2) :: a
Index: gcc/testsuite/gfortran.dg/stat_2.f90
===================================================================
---- gcc/testsuite/gfortran.dg/stat_2.f90 (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gfortran.dg/stat_2.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gfortran.dg/stat_2.f90 (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gfortran.dg/stat_2.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,5 +1,5 @@
! { dg-do run { target fd_truncate } }
-! { dg-skip-if "" { *-*-mingw* } { "*" } { "" } }
integer :: s1(13), r1, s2(13), r2, s3(13), r3
Index: gcc/testsuite/gfortran.dg/pr20257.f90
===================================================================
---- gcc/testsuite/gfortran.dg/pr20257.f90 (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gfortran.dg/pr20257.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gfortran.dg/pr20257.f90 (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gfortran.dg/pr20257.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,4 +1,5 @@
! { dg-do run { target fd_truncate } }
+! { dg-skip-if "Too big for local store" { spu-*-* } { "*" } { "" } }
integer,parameter :: n = 10000
real(8) array(10000)
+Index: gcc/testsuite/gfortran.dg/maxloc_1.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/maxloc_1.f90 (.../tags/gcc_4_4_0_release) (wersja 0)
++++ gcc/testsuite/gfortran.dg/maxloc_1.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -0,0 +1,14 @@
++! { dg-do run }
++ integer :: a(3), n
++ a(1) = -huge(n)
++ a(2) = -huge(n)
++ a(3) = -huge(n)
++ a(1) = a(1) - 1
++ a(2) = a(2) - 1
++ a(3) = a(3) - 1
++ n = maxloc (a, dim = 1)
++ if (n .ne. 1) call abort
++ a(2) = -huge(n)
++ n = maxloc (a, dim = 1)
++ if (n .ne. 2) call abort
++end
Index: gcc/testsuite/gfortran.dg/derived_pointer_recursion_2.f90
===================================================================
--- gcc/testsuite/gfortran.dg/derived_pointer_recursion_2.f90 (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/derived_pointer_recursion_2.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gfortran.dg/derived_pointer_recursion_2.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,48 @@
+! { dg-do run }
+!
+
Index: gcc/testsuite/gfortran.dg/default_format_denormal_1.f90
===================================================================
---- gcc/testsuite/gfortran.dg/default_format_denormal_1.f90 (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gfortran.dg/default_format_denormal_1.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gfortran.dg/default_format_denormal_1.f90 (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gfortran.dg/default_format_denormal_1.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,4 +1,4 @@
-! { dg-do run { xfail alpha*-*-* *-*-darwin[89]* *-*-freebsd* *-*-mingw* } }
+! { dg-do run { xfail alpha*-*-* *-*-darwin[89]* *-*-freebsd* *-*-mingw* *-*-cygwin* spu-*-* } }
Index: gcc/testsuite/gfortran.dg/leadz_trailz_2.f90
===================================================================
--- gcc/testsuite/gfortran.dg/leadz_trailz_2.f90 (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/leadz_trailz_2.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gfortran.dg/leadz_trailz_2.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,36 @@
+! { dg-do run }
+! { dg-require-effective-target fortran_large_int }
Index: gcc/testsuite/gfortran.dg/pr39666-2.f90
===================================================================
--- gcc/testsuite/gfortran.dg/pr39666-2.f90 (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/pr39666-2.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gfortran.dg/pr39666-2.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,14 @@
+! PR middle-end/39666
+! { dg-do compile }
+END FUNCTION
Index: gcc/testsuite/gfortran.dg/private_type_2.f90
===================================================================
---- gcc/testsuite/gfortran.dg/private_type_2.f90 (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gfortran.dg/private_type_2.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gfortran.dg/private_type_2.f90 (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gfortran.dg/private_type_2.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,8 +1,11 @@
! { dg-do compile }
+! { dg-options "-std=f95" }
Index: gcc/testsuite/gfortran.dg/assumed_charlen_dummy.f90
===================================================================
--- gcc/testsuite/gfortran.dg/assumed_charlen_dummy.f90 (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/assumed_charlen_dummy.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gfortran.dg/assumed_charlen_dummy.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,10 @@
+! { dg-do compile }
+! Test the fix for PR fortran/39893.
+ END
Index: gcc/testsuite/gfortran.dg/nan_1.f90
===================================================================
---- gcc/testsuite/gfortran.dg/nan_1.f90 (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gfortran.dg/nan_1.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gfortran.dg/nan_1.f90 (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gfortran.dg/nan_1.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -3,6 +3,7 @@
!
! { dg-do run }
!
module aux2
interface isnan
+Index: gcc/testsuite/gfortran.dg/pr40587.f
+===================================================================
+--- gcc/testsuite/gfortran.dg/pr40587.f (.../tags/gcc_4_4_0_release) (wersja 0)
++++ gcc/testsuite/gfortran.dg/pr40587.f (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -0,0 +1,17 @@
++C PR traget/40587
++C { dg-do compile }
++C { dg-options "-O2" }
++ subroutine TEST(i, r, result)
++ implicit none
++ integer i
++ REAL*8 r
++ REAL*8 result
++ REAL*8 r2
++ if(i.eq.0) then
++ r2 = r
++ else
++ call ERROR()
++ endif
++ result = r2
++ return
++ end
Index: gcc/testsuite/gfortran.dg/gamma_5.f90
===================================================================
---- gcc/testsuite/gfortran.dg/gamma_5.f90 (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gfortran.dg/gamma_5.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gfortran.dg/gamma_5.f90 (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gfortran.dg/gamma_5.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -21,7 +21,7 @@
xd = n + 0.5d0
td = c(n)*sqrt(pi)
call tst_s(2.3, gamma(2.3))
Index: gcc/testsuite/gfortran.dg/namelist_43.f90
===================================================================
---- gcc/testsuite/gfortran.dg/namelist_43.f90 (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gfortran.dg/namelist_43.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gfortran.dg/namelist_43.f90 (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gfortran.dg/namelist_43.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,5 +1,6 @@
! { dg-do run { target fd_truncate } }
! { dg-options "-mieee" { target alpha*-*-* sh*-*-* } }
!
Index: gcc/testsuite/gfortran.dg/transfer_simplify_1.f90
===================================================================
---- gcc/testsuite/gfortran.dg/transfer_simplify_1.f90 (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gfortran.dg/transfer_simplify_1.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gfortran.dg/transfer_simplify_1.f90 (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gfortran.dg/transfer_simplify_1.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,5 +1,6 @@
! { dg-do run }
! { dg-options "-O2" }
! (TRANSFER intrinsic).
Index: gcc/testsuite/gfortran.dg/nan_3.f90
===================================================================
---- gcc/testsuite/gfortran.dg/nan_3.f90 (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gfortran.dg/nan_3.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gfortran.dg/nan_3.f90 (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gfortran.dg/nan_3.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,6 +1,7 @@
! { dg-do run }
! { dg-options "-fno-range-check" }
Index: gcc/testsuite/gfortran.dg/array_constructor_31.f90
===================================================================
--- gcc/testsuite/gfortran.dg/array_constructor_31.f90 (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/array_constructor_31.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gfortran.dg/array_constructor_31.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,10 @@
+! { dg-do compile }
+! Test the fix for pr40018 in which the elements in the array
Index: gcc/testsuite/gfortran.dg/backspace_11.f90
===================================================================
--- gcc/testsuite/gfortran.dg/backspace_11.f90 (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/backspace_11.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gfortran.dg/backspace_11.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,24 @@
+! { dg-do run }
+! PR 40334 backspace regression
+end program backspace_11
Index: gcc/testsuite/gfortran.dg/chmod_1.f90
===================================================================
---- gcc/testsuite/gfortran.dg/chmod_1.f90 (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gfortran.dg/chmod_1.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gfortran.dg/chmod_1.f90 (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gfortran.dg/chmod_1.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,5 +1,6 @@
-! { dg-do run { target { ! *-*-mingw* } } }
+! { dg-do run { target { ! { *-*-mingw* *-*-cygwin* spu-*-* } } } }
integer :: i
Index: gcc/testsuite/gfortran.dg/integer_exponentiation_3.F90
===================================================================
---- gcc/testsuite/gfortran.dg/integer_exponentiation_3.F90 (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gfortran.dg/integer_exponentiation_3.F90 (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gfortran.dg/integer_exponentiation_3.F90 (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gfortran.dg/integer_exponentiation_3.F90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,4 +1,5 @@
-! { dg-do run }
+! { dg-do run { xfail spu-*-* } }
implicit none
Index: gcc/testsuite/gfortran.dg/elemental_subroutine_1.f90
===================================================================
---- gcc/testsuite/gfortran.dg/elemental_subroutine_1.f90 (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gfortran.dg/elemental_subroutine_1.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gfortran.dg/elemental_subroutine_1.f90 (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gfortran.dg/elemental_subroutine_1.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -48,7 +48,7 @@
! Test an expression in the INTENT(IN) argument
x = (/1.0, 2.0/)
Index: gcc/testsuite/gfortran.dg/isnan_2.f90
===================================================================
---- gcc/testsuite/gfortran.dg/isnan_2.f90 (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gfortran.dg/isnan_2.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gfortran.dg/isnan_2.f90 (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gfortran.dg/isnan_2.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -3,6 +3,7 @@
! { dg-do run }
! { dg-options "-fno-range-check" }
character(len=1) :: s
Index: gcc/testsuite/gfortran.dg/chmod_3.f90
===================================================================
---- gcc/testsuite/gfortran.dg/chmod_3.f90 (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gfortran.dg/chmod_3.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gfortran.dg/chmod_3.f90 (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gfortran.dg/chmod_3.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,5 +1,6 @@
-! { dg-do run { target { ! *-*-mingw* } } }
+! { dg-do run { target { ! { *-*-mingw* *-*-cygwin* spu-*-* } } } }
integer :: i
Index: gcc/testsuite/gfortran.dg/integer_exponentiation_5.F90
===================================================================
---- gcc/testsuite/gfortran.dg/integer_exponentiation_5.F90 (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gfortran.dg/integer_exponentiation_5.F90 (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gfortran.dg/integer_exponentiation_5.F90 (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gfortran.dg/integer_exponentiation_5.F90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,4 +1,5 @@
-! { dg-do run }
+! { dg-do run { xfail spu-*-* } }
module mod_check
Index: gcc/testsuite/gfortran.dg/stat_1.f90
===================================================================
---- gcc/testsuite/gfortran.dg/stat_1.f90 (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gfortran.dg/stat_1.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gfortran.dg/stat_1.f90 (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gfortran.dg/stat_1.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,5 +1,5 @@
! { dg-do run { target fd_truncate } }
-! { dg-skip-if "" { *-*-mingw* } { "*" } { "" } }
Index: gcc/testsuite/gfortran.dg/internal_write_1.f90
===================================================================
--- gcc/testsuite/gfortran.dg/internal_write_1.f90 (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/internal_write_1.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gfortran.dg/internal_write_1.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,9 @@
+! { dg-do run }
+! { dg-shouldfail "End of file" }
+! { dg-output "Fortran runtime error: End of file" }
Index: gcc/testsuite/gfortran.dg/real_const_3.f90
===================================================================
---- gcc/testsuite/gfortran.dg/real_const_3.f90 (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gfortran.dg/real_const_3.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gfortran.dg/real_const_3.f90 (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gfortran.dg/real_const_3.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,6 +1,7 @@
!{ dg-do run }
!{ dg-options "-fno-range-check" }
Index: gcc/testsuite/gfortran.dg/private_type_13.f90
===================================================================
--- gcc/testsuite/gfortran.dg/private_type_13.f90 (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/private_type_13.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gfortran.dg/private_type_13.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,32 @@
+! { dg-do compile }
+! Test fix for F95 part of PR39800, in which the host association of the type 't1'
Index: gcc/testsuite/gfortran.dg/leadz_trailz_1.f90
===================================================================
--- gcc/testsuite/gfortran.dg/leadz_trailz_1.f90 (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/leadz_trailz_1.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/testsuite/gfortran.dg/leadz_trailz_1.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,133 @@
+! { dg-do run }
+
+end
Index: gcc/testsuite/gfortran.dg/vect/pr39318.f90
===================================================================
---- gcc/testsuite/gfortran.dg/vect/pr39318.f90 (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/testsuite/gfortran.dg/vect/pr39318.f90 (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/testsuite/gfortran.dg/vect/pr39318.f90 (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/testsuite/gfortran.dg/vect/pr39318.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,4 +1,4 @@
-! { dg-do compile }
+! { dg-do compile { target fopenmp } }
! { dg-options "-c -fopenmp -fexceptions -O2 -ftree-vectorize" }
subroutine adw_trajsp (F_u,i0,in,j0,jn)
+Index: gcc/testsuite/gfortran.dg/func_assign_2.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/func_assign_2.f90 (.../tags/gcc_4_4_0_release) (wersja 0)
++++ gcc/testsuite/gfortran.dg/func_assign_2.f90 (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -0,0 +1,33 @@
++! { dg-do run }
++! Test the fix for PR40551 in which the assignment
++! was not dealing correctly with non-contiguous lhs
++! references; eg. a(1,:)
++!
++! Reported by by Maciej Zwierzycki
++! at http://gcc.gnu.org/ml/fortran/2009-06/msg00254.html
++! and by Tobias Burnus <burnus@gcc.gnu.org> on Bugzilla
++!
++integer :: a(2,2)
++a = -42
++a(1,:) = func()
++if (any (reshape (a, [4]) /= [1, -42, 2, -42])) call abort
++a = -42
++a(2,:) = func()
++if (any (reshape (a, [4]) /= [-42, 1, -42, 2])) call abort
++a = -42
++a(:,1) = func()
++if (any (reshape (a, [4]) /= [1, 2, -42, -42])) call abort
++a = -42
++a(:,2) = func()
++if (any (reshape (a, [4]) /= [-42, -42, 1, 2])) call abort
++contains
++ function func()
++ integer :: func(2)
++ call sub(func)
++ end function func
++ subroutine sub(a)
++ integer :: a(2)
++ a = [1,2]
++ end subroutine
++end
++
+
+Zmiany atrybutów dla: gcc/testsuite/ChangeLog-2008
+___________________________________________________________________
+Zmienione: svn:mergeinfo
+ Połączono zmiany /trunk/gcc/testsuite/ChangeLog-2008:r149341,149351
+
Index: gcc/cp/typeck.c
===================================================================
---- gcc/cp/typeck.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/cp/typeck.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/cp/typeck.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/cp/typeck.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -260,6 +260,19 @@
enum tree_code code2 = TREE_CODE (t2);
tree attributes;
rhs = convert (lhstype, rhs);
Index: gcc/cp/class.c
===================================================================
---- gcc/cp/class.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/cp/class.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/cp/class.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/cp/class.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -6158,7 +6158,7 @@
fn = TREE_PURPOSE (matches);
if (match)
Index: gcc/cp/decl.c
===================================================================
---- gcc/cp/decl.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/cp/decl.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/cp/decl.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/cp/decl.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -929,6 +929,17 @@
tree p1 = TYPE_ARG_TYPES (f1);
tree p2 = TYPE_ARG_TYPES (f2);
{
type = TREE_TYPE (decl) = do_auto_deduction (type, init, auto_node);
if (type == error_mark_node)
+@@ -11001,7 +11014,7 @@
+ TYPE_UNSIGNED (enumtype) = TYPE_UNSIGNED (underlying_type);
+ ENUM_UNDERLYING_TYPE (enumtype) = underlying_type;
+ }
+- else
++ else if (!dependent_type_p (underlying_type))
+ error ("underlying type %<%T%> of %<%T%> must be an integral type",
+ underlying_type, enumtype);
+ }
+@@ -11047,6 +11060,8 @@
+ TREE_TYPE (TREE_VALUE (values)) = enumtype;
+ if (at_function_scope_p ())
+ add_stmt (build_min (TAG_DEFN, enumtype));
++ if (SCOPED_ENUM_P (enumtype))
++ finish_scope ();
+ return;
+ }
+
+@@ -11362,7 +11377,7 @@
+ TREE_READONLY (decl) = 1;
+ DECL_INITIAL (decl) = value;
+
+- if (context && context == current_class_type)
++ if (context && context == current_class_type && !SCOPED_ENUM_P (enumtype))
+ /* In something like `struct S { enum E { i = 7 }; };' we put `i'
+ on the TYPE_FIELDS list for `S'. (That's so that you can say
+ things like `S::i' later.) */
Index: gcc/cp/call.c
===================================================================
---- gcc/cp/call.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/cp/call.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/cp/call.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/cp/call.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -240,7 +240,7 @@
return false;
}
if (type_unknown_p (expr))
expr = instantiate_type (totype, expr, complain);
/* Convert a constant to its underlying value, unless we are
+Index: gcc/cp/error.c
+===================================================================
+--- gcc/cp/error.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/cp/error.c (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -2458,7 +2458,7 @@
+ while (block && TREE_CODE (block) == BLOCK)
+ block = BLOCK_SUPERCONTEXT (block);
+
+- if (TREE_CODE (block) == FUNCTION_DECL)
++ if (block && TREE_CODE (block) == FUNCTION_DECL)
+ fndecl = block;
+ abstract_origin = NULL;
+ }
+
+Zmiany atrybutów dla: gcc/cp/ChangeLog-2007
+___________________________________________________________________
+Zmienione: svn:mergeinfo
+ Połączono zmiany /trunk/gcc/cp/ChangeLog-2007:r149341,149351
+
Index: gcc/cp/cvt.c
===================================================================
---- gcc/cp/cvt.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/cp/cvt.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/cp/cvt.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/cp/cvt.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -760,8 +760,15 @@
}
return error_mark_node;
}
+
+Zmiany atrybutów dla: gcc/cp/ChangeLog-2008
+___________________________________________________________________
+Zmienione: svn:mergeinfo
+ Połączono zmiany /trunk/gcc/cp/ChangeLog-2008:r149341,149351
+
+Index: gcc/cp/tree.c
+===================================================================
+--- gcc/cp/tree.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/cp/tree.c (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -1880,8 +1880,7 @@
+ case PARM_DECL:
+ /* For comparing uses of parameters in late-specified return types
+ with an out-of-class definition of the function. */
+- if (same_type_p (TREE_TYPE (t1), TREE_TYPE (t2))
+- && parm_index (t1) == parm_index (t2))
++ if (same_type_p (TREE_TYPE (t1), TREE_TYPE (t2)))
+ return true;
+ else
+ return false;
Index: gcc/cp/ChangeLog
===================================================================
---- gcc/cp/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/cp/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149126)
-@@ -1,3 +1,105 @@
+--- gcc/cp/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/cp/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -1,3 +1,137 @@
++2009-07-10 Jakub Jelinek <jakub@redhat.com>
++
++ PR c++/40502
++ * error.c (cp_print_error_function): Check for NULL block.
++
++2009-07-09 Dodji Seketeli <dodji@redhat.com>
++
++ PR c++/40684
++ * pt.c (type_unification_real): Use tsubst_template_arg instead
++ of tsubst to substitute default template arguments.
++
++2009-07-07 Jason Merrill <jason@redhat.com>
++
++ PR c++/35828
++ * pt.c (tsubst_decl): Don't abort if we didn't change anything
++ in a TEMPLATE_DECL's args.
++
++ PR c++/37816
++ * decl.c (build_enumerator): Don't add enumerators for a
++ scoped enum to the enclosing class.
++
++ PR c++/40639
++ * decl.c (start_enum): Allow dependent underlying type.
++
++ PR c++/40633
++ * decl.c (finish_enum): Finish scope even in a template.
++
++2009-07-04 Jason Merrill <jason@redhat.com>
++
++ PR c++/40619
++ * tree.c (cp_tree_equal) [PARM_DECL]: Don't check parm index.
++
+2009-06-30 Jason Merrill <jason@redhat.com>
+
+ PR c++/40595
* GCC 4.4.0 released.
Index: gcc/cp/pt.c
===================================================================
---- gcc/cp/pt.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/cp/pt.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/cp/pt.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/cp/pt.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -7597,8 +7597,15 @@
and return a PACK_EXPANSION_*. The caller will need to deal with
that. */
/* We could not find any argument packs that work. */
if (len < 0)
-@@ -9144,6 +9151,14 @@
+@@ -8052,8 +8059,7 @@
+ case TEMPLATE_DECL:
+ {
+ /* We can get here when processing a member function template,
+- member class template, and template template parameter of
+- a template class. */
++ member class template, or template template parameter. */
+ tree decl = DECL_TEMPLATE_RESULT (t);
+ tree spec;
+ tree tmpl_args;
+@@ -8096,10 +8102,10 @@
+ if (full_args == error_mark_node)
+ return error_mark_node;
+
+- /* tsubst_template_args doesn't copy the vector if
+- nothing changed. But, *something* should have
+- changed. */
+- gcc_assert (full_args != tmpl_args);
++ /* If this is a default template template argument,
++ tsubst might not have changed anything. */
++ if (full_args == tmpl_args)
++ return t;
+
+ spec = retrieve_specialization (t, full_args,
+ /*class_specializations_p=*/true);
+@@ -9144,6 +9150,14 @@
max = tsubst_expr (omax, args, complain, in_decl,
/*integral_constant_expression_p=*/false);
max = fold_decl_constant_value (max);
/* If we're in a partial instantiation, preserve the magic NOP_EXPR
-@@ -9974,11 +9989,15 @@
+@@ -9974,11 +9988,15 @@
if (r == NULL)
{
/* Give it the template pattern as its context; its true context
hasn't been instantiated yet and this is good enough for
mangling. */
+@@ -12582,8 +12600,9 @@
+ to explicitly check cxx_dialect here. */
+ if (TREE_PURPOSE (TREE_VEC_ELT (tparms, i)))
+ {
+- tree arg = tsubst (TREE_PURPOSE (TREE_VEC_ELT (tparms, i)),
+- targs, tf_none, NULL_TREE);
++ tree arg = tsubst_template_arg
++ (TREE_PURPOSE (TREE_VEC_ELT (tparms, i)),
++ targs, tf_none, NULL_TREE);
+ if (arg == error_mark_node)
+ return 1;
+ else
@@ -13532,6 +13551,13 @@
&& !template_parameter_pack_p (parm))
return 1;
Index: gcc/cp/semantics.c
===================================================================
---- gcc/cp/semantics.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/cp/semantics.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/cp/semantics.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/cp/semantics.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -2838,16 +2838,16 @@
done, address_p,
template_p,
decl = convert_from_reference (decl);
Index: gcc/cp/decl2.c
===================================================================
---- gcc/cp/decl2.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/cp/decl2.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/cp/decl2.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/cp/decl2.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -3809,6 +3809,7 @@
{
error ("deleted function %q+D", decl);
if (skip_evaluation)
Index: gcc/cp/parser.c
===================================================================
---- gcc/cp/parser.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/cp/parser.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/cp/parser.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/cp/parser.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -10477,6 +10477,12 @@
argument pack. */
if (cp_lexer_next_token_is (parser->lexer, CPP_ELLIPSIS))
return groktypename (&type_specifier_seq, abstract_declarator,
Index: gcc/tree-ssa-ccp.c
===================================================================
---- gcc/tree-ssa-ccp.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/tree-ssa-ccp.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/tree-ssa-ccp.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/tree-ssa-ccp.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1290,7 +1290,9 @@
if (TREE_CODE (base) == SSA_NAME
&& (value = get_value (base))
}
Index: gcc/dojump.c
===================================================================
---- gcc/dojump.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/dojump.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/dojump.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/dojump.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -141,7 +141,8 @@
}
}
Index: gcc/dbxout.c
===================================================================
---- gcc/dbxout.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/dbxout.c (.../branches/gcc-4_4-branch) (wersja 149126)
-@@ -3593,7 +3593,7 @@
+--- gcc/dbxout.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/dbxout.c (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -2761,10 +2761,16 @@
+ }
+
+ case PARM_DECL:
+- /* Parm decls go in their own separate chains
+- and are output by dbxout_reg_parms and dbxout_parms. */
+- gcc_unreachable ();
++ if (DECL_HAS_VALUE_EXPR_P (decl))
++ decl = DECL_VALUE_EXPR (decl);
+
++ /* PARM_DECLs go in their own separate chain and are output by
++ dbxout_reg_parms and dbxout_parms, except for those that are
++ disguised VAR_DECLs like Out parameters in Ada. */
++ gcc_assert (TREE_CODE (decl) == VAR_DECL);
++
++ /* ... fall through ... */
++
+ case RESULT_DECL:
+ case VAR_DECL:
+ /* Don't mention a variable that is external.
+@@ -3593,7 +3599,7 @@
while (block)
{
/* Ignore blocks never expanded or otherwise marked as real. */
int blocknum = BLOCK_NUMBER (block);
Index: gcc/ira-int.h
===================================================================
---- gcc/ira-int.h (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/ira-int.h (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/ira-int.h (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/ira-int.h (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -730,21 +730,24 @@
extern HARD_REG_SET ira_reg_mode_hard_regset
[FIRST_PSEUDO_REGISTER][NUM_MACHINE_MODES];
/* The number of the current element in IRA_ALLOCNOS. */
Index: gcc/cse.c
===================================================================
---- gcc/cse.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/cse.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/cse.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/cse.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,6 +1,6 @@
/* Common subexpression elimination for GNU compiler.
Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998
return 0;
Index: gcc/ira-color.c
===================================================================
---- gcc/ira-color.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/ira-color.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/ira-color.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/ira-color.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -285,8 +285,8 @@
continue;
cover_class, ALLOCNO_COVER_CLASS_COST (a),
Index: gcc/ipa-utils.h
===================================================================
---- gcc/ipa-utils.h (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/ipa-utils.h (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/ipa-utils.h (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/ipa-utils.h (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -23,9 +23,6 @@
#include "tree.h"
#include "cgraph.h"
int low_link;
Index: gcc/dwarf2out.c
===================================================================
---- gcc/dwarf2out.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/dwarf2out.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/dwarf2out.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/dwarf2out.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -694,14 +694,15 @@
*p = cfi;
}
return;
Index: gcc/expr.c
===================================================================
---- gcc/expr.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/expr.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/expr.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/expr.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -8257,7 +8257,8 @@
/* If neither mode is BLKmode, and both modes are the same size
then we can use gen_lowpart. */
Index: gcc/ada/system-aix64.ads
===================================================================
--- gcc/ada/system-aix64.ads (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/ada/system-aix64.ads (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/ada/system-aix64.ads (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,155 @@
+------------------------------------------------------------------------------
+-- --
+end System;
Index: gcc/ada/ChangeLog
===================================================================
---- gcc/ada/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/ada/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/ada/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/ada/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,3 +1,26 @@
+2009-06-30 Eric Botcazou <ebotcazou@adacore.com>
+
+notice and this notice are preserved.
Index: gcc/ada/gcc-interface/utils.c
===================================================================
---- gcc/ada/gcc-interface/utils.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/ada/gcc-interface/utils.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/ada/gcc-interface/utils.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/ada/gcc-interface/utils.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1570,6 +1570,15 @@
TREE_STATIC (var_decl)
= !extern_flag && (public_flag || static_flag || global_bindings_p ());
Index: gcc/ada/gcc-interface/Makefile.in
===================================================================
---- gcc/ada/gcc-interface/Makefile.in (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/ada/gcc-interface/Makefile.in (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/ada/gcc-interface/Makefile.in (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/ada/gcc-interface/Makefile.in (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1103,7 +1103,7 @@
endif
Index: gcc/ada/gcc-interface/utils2.c
===================================================================
---- gcc/ada/gcc-interface/utils2.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/ada/gcc-interface/utils2.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/ada/gcc-interface/utils2.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/ada/gcc-interface/utils2.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -6,7 +6,7 @@
* *
* C Implementation File *
Index: gcc/ada/ChangeLog-2001
===================================================================
--- gcc/ada/ChangeLog-2001 (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/ada/ChangeLog-2001 (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/ada/ChangeLog-2001 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,2239 @@
+2001-12-23 Richard Henderson <rth@redhat.com>
+
Index: gcc/ada/ChangeLog-2002
===================================================================
--- gcc/ada/ChangeLog-2002 (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/ada/ChangeLog-2002 (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/ada/ChangeLog-2002 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,986 @@
+2002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
+
Index: gcc/ada/ChangeLog-2003
===================================================================
--- gcc/ada/ChangeLog-2003 (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/ada/ChangeLog-2003 (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/ada/ChangeLog-2003 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,3021 @@
+2003-12-23 Kelley Cook <kcook@gcc.gnu.org>
+
Index: gcc/ada/ChangeLog-2004
===================================================================
--- gcc/ada/ChangeLog-2004 (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/ada/ChangeLog-2004 (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/ada/ChangeLog-2004 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,8347 @@
+2004-12-30 Sohail Somani <sohail@sohailsomani.com>
+
Index: gcc/ada/ChangeLog-2005
===================================================================
--- gcc/ada/ChangeLog-2005 (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/ada/ChangeLog-2005 (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/ada/ChangeLog-2005 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,8014 @@
+2005-12-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
Index: gcc/ada/ChangeLog-2006
===================================================================
--- gcc/ada/ChangeLog-2006 (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/ada/ChangeLog-2006 (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/ada/ChangeLog-2006 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,4462 @@
+2006-12-07 Geoffrey Keating <geoffk@apple.com>
+
Index: gcc/ada/ChangeLog-2007
===================================================================
--- gcc/ada/ChangeLog-2007 (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/ada/ChangeLog-2007 (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/ada/ChangeLog-2007 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,9221 @@
+2007-12-27 Samuel Tardieu <sam@rfc1149.net>
+
Index: gcc/ada/ChangeLog-2008
===================================================================
--- gcc/ada/ChangeLog-2008 (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ gcc/ada/ChangeLog-2008 (.../branches/gcc-4_4-branch) (wersja 149126)
++++ gcc/ada/ChangeLog-2008 (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,7464 @@
+2008-12-09 Jakub Jelinek <jakub@redhat.com>
+
+notice and this notice are preserved.
Index: gcc/dse.c
===================================================================
---- gcc/dse.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/dse.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/dse.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/dse.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -223,7 +223,7 @@
/* This canonized mem. */
rtx mem;
bitmap_ior_into (kill, group->group_kill);
Index: gcc/fortran/interface.c
===================================================================
---- gcc/fortran/interface.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/fortran/interface.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/fortran/interface.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/fortran/interface.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -2502,6 +2502,7 @@
gfc_search_interface (gfc_interface *intr, int sub_flag,
gfc_actual_arglist **ap)
Index: gcc/fortran/trans-expr.c
===================================================================
---- gcc/fortran/trans-expr.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/fortran/trans-expr.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/fortran/trans-expr.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/fortran/trans-expr.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1526,48 +1526,6 @@
}
/* Initialize MAPPING. */
void
-@@ -2782,7 +2740,18 @@
+@@ -2765,6 +2723,7 @@
+ dealt with in trans-array.c(gfc_conv_array_parameter). */
+ if (e && e->ts.type == BT_DERIVED
+ && e->ts.derived->attr.alloc_comp
++ && !(e->symtree && e->symtree->n.sym->attr.pointer)
+ && (e->expr_type != EXPR_VARIABLE && !e->rank))
+ {
+ int parm_rank;
+@@ -2782,7 +2741,18 @@
break;
}
gfc_add_expr_to_block (&se->post, tmp);
}
-@@ -4430,11 +4399,14 @@
+@@ -4286,6 +4256,7 @@
+ gfc_ss *ss;
+ gfc_ref * ref;
+ bool seen_array_ref;
++ bool c = false;
+
+ /* The caller has already checked rank>0 and expr_type == EXPR_FUNCTION. */
+ if (expr2->value.function.isym && !gfc_is_intrinsic_libcall (expr2))
+@@ -4296,6 +4267,10 @@
+ && expr2->value.function.esym->attr.elemental)
+ return NULL;
+
++ /* Fail if rhs is not FULL or a contiguous section. */
++ if (expr1->ref && !(gfc_full_array_ref_p (expr1->ref, &c) || c))
++ return NULL;
++
+ /* Fail if EXPR1 can't be expressed as a descriptor. */
+ if (gfc_ref_needs_temporary_p (expr1->ref))
+ return NULL;
+@@ -4430,11 +4405,14 @@
len = fold_build2 (MULT_EXPR, gfc_array_index_type, len,
fold_convert (gfc_array_index_type, tmp));
len = fold_convert (size_type_node, len);
/* Construct call to __builtin_memset. */
+@@ -4749,7 +4727,7 @@
+ if (expr->rank < 1 || !expr->ref || expr->ref->next)
+ return false;
+
+- if (!gfc_full_array_ref_p (expr->ref))
++ if (!gfc_full_array_ref_p (expr->ref, NULL))
+ return false;
+
+ /* Next check that it's of a simple enough type. */
Index: gcc/fortran/trans-array.c
===================================================================
---- gcc/fortran/trans-array.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/fortran/trans-array.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/fortran/trans-array.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/fortran/trans-array.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1246,10 +1246,11 @@
gfc_init_se (&se, NULL);
gfc_conv_constant (&se, p->expr);
se.expr = gfc_build_addr_expr (gfc_get_pchar_type (c->expr->ts.kind),
se.expr);
list = tree_cons (build_int_cst (gfc_array_index_type, nelem),
+@@ -4819,7 +4822,7 @@
+ else if (se->direct_byref)
+ full = 0;
+ else
+- full = gfc_full_array_ref_p (info->ref);
++ full = gfc_full_array_ref_p (info->ref, NULL);
+
+ if (full)
+ {
Index: gcc/fortran/ChangeLog
===================================================================
---- gcc/fortran/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/fortran/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149126)
-@@ -1,3 +1,106 @@
+--- gcc/fortran/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/fortran/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -1,3 +1,137 @@
++2009-07-09 Paul Thomas <pault@gcc.gnu.org>
++
++ PR fortran/40440
++ * trans-expr.c (gfc_conv_procedure_call): Do not deallocate
++ allocatable components if the argument is a pointer.
++
++2009-07-05 Paul Thomas <pault@gcc.gnu.org>
++
++ PR fortran/40551
++ * dependency.h : Add second bool* argument to prototype of
++ gfc_full_array_ref_p.
++ * dependency.c (gfc_full_array_ref_p): If second argument is
++ present, return true if last dimension of reference is an
++ element or has unity stride.
++ * trans-array.c : Add NULL second argument to references to
++ gfc_full_array_ref_p.
++ * trans-expr.c : The same, except for;
++ (gfc_trans_arrayfunc_assign): Return fail if lhs reference
++ is not a full array or a contiguous section.
++
++2009-07-04 Jakub Jelinek <jakub@redhat.com>
++
++ * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): For integer
++ maxloc initialize limit to -huge-1 rather than just -huge.
++
++2009-07-03 Jerry DeLisle <jvdelisle@gcc.gnu.org>
++
++ PR fortran/40638
++ * trans-io.c (set_parameter_value): Don't build un-necessary run-time
++ checks for units of KIND less than 4.
++
+2009-06-29 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/40443
* GCC 4.4.0 released.
Index: gcc/fortran/data.c
===================================================================
---- gcc/fortran/data.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/fortran/data.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/fortran/data.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/fortran/data.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -416,7 +416,11 @@
}
/* Overwriting an existing initializer is non-standard but usually only
Index: gcc/fortran/trans-stmt.c
===================================================================
---- gcc/fortran/trans-stmt.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/fortran/trans-stmt.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/fortran/trans-stmt.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/fortran/trans-stmt.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -270,9 +270,11 @@
gfc_conv_expr_descriptor (&parmse, e, gfc_walk_expr (e));
gfc_add_block_to_block (&se->pre, &parmse.pre);
}
Index: gcc/fortran/trans-stmt.h
===================================================================
---- gcc/fortran/trans-stmt.h (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/fortran/trans-stmt.h (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/fortran/trans-stmt.h (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/fortran/trans-stmt.h (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -39,7 +39,7 @@
tree gfc_trans_entry (gfc_code *);
tree gfc_trans_pause (gfc_code *);
tree gfc_trans_arithmetic_if (gfc_code *);
Index: gcc/fortran/module.c
===================================================================
---- gcc/fortran/module.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/fortran/module.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/fortran/module.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/fortran/module.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -4738,7 +4738,7 @@
if ((file = fopen (filename, "r")) == NULL)
return -1;
fclose (file);
Index: gcc/fortran/trans.c
===================================================================
---- gcc/fortran/trans.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/fortran/trans.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/fortran/trans.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/fortran/trans.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1109,12 +1109,14 @@
if (code->resolved_isym
&& code->resolved_isym->id == GFC_ISYM_MVBITS)
case EXEC_RETURN:
Index: gcc/fortran/trans-types.c
===================================================================
---- gcc/fortran/trans-types.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/fortran/trans-types.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/fortran/trans-types.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/fortran/trans-types.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -595,7 +595,7 @@
return make_signed_type (mode_precision);
}
if (size == CHAR_TYPE_SIZE)
Index: gcc/fortran/trans.h
===================================================================
---- gcc/fortran/trans.h (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/fortran/trans.h (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/fortran/trans.h (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/fortran/trans.h (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -310,9 +310,6 @@
/* Does an intrinsic map directly to an external library call. */
int gfc_is_intrinsic_libcall (gfc_expr *);
extern GTY(()) tree gfor_fndecl_sc_kind;
Index: gcc/fortran/trans-types.h
===================================================================
---- gcc/fortran/trans-types.h (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/fortran/trans-types.h (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/fortran/trans-types.h (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/fortran/trans-types.h (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -68,6 +68,7 @@
tree gfc_type_for_size (unsigned, int);
tree gfc_get_array_type_bounds (tree, int, tree *, tree *, int,
Index: gcc/fortran/resolve.c
===================================================================
---- gcc/fortran/resolve.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/fortran/resolve.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/fortran/resolve.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/fortran/resolve.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -82,7 +82,19 @@
return formal_arg_flag;
}
Index: gcc/fortran/f95-lang.c
===================================================================
---- gcc/fortran/f95-lang.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/fortran/f95-lang.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/fortran/f95-lang.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/fortran/f95-lang.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -917,12 +917,12 @@
gfc_define_builtin ("__builtin_fmodf", mfunc_float[1],
BUILT_IN_FMODF, "fmodf", true);
/* lround{f,,l} and llround{f,,l} */
type = tree_cons (NULL_TREE, float_type_node, void_list_node);
+Index: gcc/fortran/trans-io.c
+===================================================================
+--- gcc/fortran/trans-io.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/fortran/trans-io.c (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -471,7 +471,7 @@
+ gfc_conv_expr_val (&se, e);
+
+ /* If we're storing a UNIT number, we need to check it first. */
+- if (type == IOPARM_common_unit && e->ts.kind != 4)
++ if (type == IOPARM_common_unit && e->ts.kind > 4)
+ {
+ tree cond, max;
+ int i;
Index: gcc/fortran/trans-decl.c
===================================================================
---- gcc/fortran/trans-decl.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/fortran/trans-decl.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/fortran/trans-decl.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/fortran/trans-decl.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -141,6 +141,8 @@
tree gfor_fndecl_size0;
tree gfor_fndecl_size1;
}
+Index: gcc/fortran/dependency.c
+===================================================================
+--- gcc/fortran/dependency.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/fortran/dependency.c (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -1186,17 +1186,28 @@
+
+
+ /* Determine if an array ref, usually an array section specifies the
+- entire array. */
++ entire array. In addition, if the second, pointer argument is
++ provided, the function will return true if the reference is
++ contiguous; eg. (:, 1) gives true but (1,:) gives false. */
+
+ bool
+-gfc_full_array_ref_p (gfc_ref *ref)
++gfc_full_array_ref_p (gfc_ref *ref, bool *contiguous)
+ {
+ int i;
++ bool lbound_OK = true;
++ bool ubound_OK = true;
+
++ if (contiguous)
++ *contiguous = false;
++
+ if (ref->type != REF_ARRAY)
+ return false;
+ if (ref->u.ar.type == AR_FULL)
+- return true;
++ {
++ if (contiguous)
++ *contiguous = true;
++ return true;
++ }
+ if (ref->u.ar.type != AR_SECTION)
+ return false;
+ if (ref->next)
+@@ -1209,6 +1220,10 @@
+ the correct element. */
+ if (ref->u.ar.dimen_type[i] == DIMEN_ELEMENT)
+ {
++ /* This is a contiguous reference. */
++ if (contiguous)
++ *contiguous = (i + 1 == ref->u.ar.dimen);
++
+ if (!ref->u.ar.as
+ || !ref->u.ar.as->lower[i]
+ || !ref->u.ar.as->upper[i]
+@@ -1228,17 +1243,24 @@
+ || !ref->u.ar.as->lower[i]
+ || gfc_dep_compare_expr (ref->u.ar.start[i],
+ ref->u.ar.as->lower[i])))
+- return false;
++ lbound_OK = false;
+ /* Check the upper bound. */
+ if (ref->u.ar.end[i]
+ && (!ref->u.ar.as
+ || !ref->u.ar.as->upper[i]
+ || gfc_dep_compare_expr (ref->u.ar.end[i],
+ ref->u.ar.as->upper[i])))
+- return false;
++ ubound_OK = false;
+ /* Check the stride. */
+ if (ref->u.ar.stride[i] && !gfc_expr_is_one (ref->u.ar.stride[i], 0))
+ return false;
++
++ /* This is a contiguous reference. */
++ if (contiguous)
++ *contiguous = (i + 1 == ref->u.ar.dimen);
++
++ if (!lbound_OK || !ubound_OK)
++ return false;
+ }
+ return true;
+ }
+@@ -1284,11 +1306,11 @@
+ if (lref->u.ar.dimen != rref->u.ar.dimen)
+ {
+ if (lref->u.ar.type == AR_FULL)
+- fin_dep = gfc_full_array_ref_p (rref) ? GFC_DEP_EQUAL
+- : GFC_DEP_OVERLAP;
++ fin_dep = gfc_full_array_ref_p (rref, NULL) ? GFC_DEP_EQUAL
++ : GFC_DEP_OVERLAP;
+ else if (rref->u.ar.type == AR_FULL)
+- fin_dep = gfc_full_array_ref_p (lref) ? GFC_DEP_EQUAL
+- : GFC_DEP_OVERLAP;
++ fin_dep = gfc_full_array_ref_p (lref, NULL) ? GFC_DEP_EQUAL
++ : GFC_DEP_OVERLAP;
+ else
+ return 1;
+ break;
+Index: gcc/fortran/dependency.h
+===================================================================
+--- gcc/fortran/dependency.h (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/fortran/dependency.h (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -33,7 +33,7 @@
+ /*********************** Functions prototypes **************************/
+
+ bool gfc_ref_needs_temporary_p (gfc_ref *);
+-bool gfc_full_array_ref_p (gfc_ref *);
++bool gfc_full_array_ref_p (gfc_ref *, bool *);
+ gfc_expr *gfc_get_noncopying_intrinsic_argument (gfc_expr *);
+ int gfc_check_fncall_dependency (gfc_expr *, sym_intent, gfc_symbol *,
+ gfc_actual_arglist *, gfc_dep_check);
Index: gcc/fortran/trans-intrinsic.c
===================================================================
---- gcc/fortran/trans-intrinsic.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/fortran/trans-intrinsic.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/fortran/trans-intrinsic.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/fortran/trans-intrinsic.c (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -2181,12 +2181,12 @@
+ possible value is HUGE in both cases. */
+ if (op == GT_EXPR)
+ tmp = fold_build1 (NEGATE_EXPR, TREE_TYPE (tmp), tmp);
+- gfc_add_modify (&se->pre, limit, tmp);
+-
+ if (op == GT_EXPR && expr->ts.type == BT_INTEGER)
+ tmp = fold_build2 (MINUS_EXPR, TREE_TYPE (tmp), tmp,
+ build_int_cst (type, 1));
+
++ gfc_add_modify (&se->pre, limit, tmp);
++
+ /* Initialize the scalarizer. */
+ gfc_init_loopinfo (&loop);
+ gfc_add_ss_to_loop (&loop, arrayss);
@@ -2707,53 +2707,51 @@
tree leadz;
tree bit_size;
fold_convert (type, args[0]), tmp);
Index: gcc/fortran/simplify.c
===================================================================
---- gcc/fortran/simplify.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/fortran/simplify.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/fortran/simplify.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/fortran/simplify.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -2410,10 +2410,13 @@
bs = gfc_integer_kinds[i].bit_size;
if (mpz_cmp_si (e->value.integer, 0) == 0)
return result;
Index: gcc/ira-lives.c
===================================================================
---- gcc/ira-lives.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/ira-lives.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/ira-lives.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/ira-lives.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -782,10 +782,11 @@
[ira_class_hard_regs[cl][0]]) >= 0
&& reg_class_size[cl] <= (unsigned) CLASS_MAX_NREGS (cl, mode))
ALLOCNO_CONFLICT_HARD_REG_COSTS (operand_a)
Index: gcc/BASE-VER
===================================================================
---- gcc/BASE-VER (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/BASE-VER (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/BASE-VER (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/BASE-VER (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1 +1 @@
-4.4.0
+4.4.1
+Index: gcc/function.c
+===================================================================
+--- gcc/function.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/function.c (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -2977,9 +2977,17 @@
+ TYPE_UNSIGNED (TREE_TYPE (parm)));
+
+ if (data->stack_parm)
+- /* ??? This may need a big-endian conversion on sparc64. */
+- data->stack_parm
+- = adjust_address (data->stack_parm, data->nominal_mode, 0);
++ {
++ int offset = subreg_lowpart_offset (data->nominal_mode,
++ GET_MODE (data->stack_parm));
++ /* ??? This may need a big-endian conversion on sparc64. */
++ data->stack_parm
++ = adjust_address (data->stack_parm, data->nominal_mode, 0);
++ if (offset && MEM_OFFSET (data->stack_parm))
++ set_mem_offset (data->stack_parm,
++ plus_constant (MEM_OFFSET (data->stack_parm),
++ offset));
++ }
+ }
+
+ if (data->entry_parm != data->stack_parm)
+@@ -3139,8 +3147,12 @@
+ {
+ unsigned int align = FUNCTION_ARG_BOUNDARY (data.promoted_mode,
+ data.passed_type);
++ align = MINIMUM_ALIGNMENT (data.passed_type, data.promoted_mode,
++ align);
+ if (TYPE_ALIGN (data.nominal_type) > align)
+- align = TYPE_ALIGN (data.passed_type);
++ align = MINIMUM_ALIGNMENT (data.nominal_type,
++ TYPE_MODE (data.nominal_type),
++ TYPE_ALIGN (data.nominal_type));
+ if (crtl->stack_alignment_estimated < align)
+ {
+ gcc_assert (!crtl->stack_realign_processed);
Index: gcc/ira-emit.c
===================================================================
---- gcc/ira-emit.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/ira-emit.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/ira-emit.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/ira-emit.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -812,7 +812,8 @@
}
else
ira_overall_cost += cost;
Index: gcc/gcse.c
===================================================================
---- gcc/gcse.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/gcse.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/gcse.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/gcse.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,7 +1,7 @@
/* Global common subexpression elimination/Partial redundancy elimination
and global constant/copy propagation for GNU compiler.
SET_BIT (bmap[bb_index], indx);
Index: gcc/alias.c
===================================================================
---- gcc/alias.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/alias.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/alias.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/alias.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1438,15 +1438,16 @@
return x;
return 0;
if (! base_alias_check (x_addr, mem_addr, GET_MODE (x), mem_mode))
return 0;
+
+Zmiany atrybutów dla: gcc/ChangeLog-2008
+___________________________________________________________________
+Zmienione: svn:mergeinfo
+ Połączono zmiany /trunk/gcc/ChangeLog-2008:r149341,149351
+
Index: gcc/tree-vect-analyze.c
===================================================================
---- gcc/tree-vect-analyze.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/tree-vect-analyze.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/tree-vect-analyze.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/tree-vect-analyze.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -199,6 +199,15 @@
print_gimple_stmt (vect_dump, stmt, 0, TDF_SLIM);
}
{
Index: gcc/gimplify.c
===================================================================
---- gcc/gimplify.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/gimplify.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/gimplify.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/gimplify.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1628,21 +1628,64 @@
}
len = i;
gimple_switch = gimple_build_switch_vec (SWITCH_COND (switch_expr),
default_case, labels);
gimplify_seq_add_stmt (pre_p, gimple_switch);
+Index: gcc/emit-rtl.c
+===================================================================
+--- gcc/emit-rtl.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/emit-rtl.c (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -869,7 +869,11 @@
+ if (SUPPORTS_STACK_ALIGNMENT
+ && crtl->stack_alignment_estimated < align
+ && !crtl->stack_realign_processed)
+- crtl->stack_alignment_estimated = align;
++ {
++ unsigned int min_align = MINIMUM_ALIGNMENT (NULL, mode, align);
++ if (crtl->stack_alignment_estimated < min_align)
++ crtl->stack_alignment_estimated = min_align;
++ }
+
+ if (generating_concat_p
+ && (GET_MODE_CLASS (mode) == MODE_COMPLEX_FLOAT
+Index: gcc/cfgexpand.c
+===================================================================
+--- gcc/cfgexpand.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/cfgexpand.c (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -1076,9 +1076,11 @@
+ variables, which won't be on stack, we collect alignment of
+ type and ignore user specified alignment. */
+ if (TREE_STATIC (var) || DECL_EXTERNAL (var))
+- align = TYPE_ALIGN (TREE_TYPE (var));
++ align = MINIMUM_ALIGNMENT (TREE_TYPE (var),
++ TYPE_MODE (TREE_TYPE (var)),
++ TYPE_ALIGN (TREE_TYPE (var)));
+ else
+- align = DECL_ALIGN (var);
++ align = MINIMUM_ALIGNMENT (var, DECL_MODE (var), DECL_ALIGN (var));
+
+ if (crtl->stack_alignment_estimated < align)
+ {
Index: gcc/cselib.c
===================================================================
---- gcc/cselib.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/cselib.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/cselib.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/cselib.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,6 +1,6 @@
/* Common subexpression elimination library for GNU compiler.
Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
num_mems++;
Index: gcc/tree-ssa-live.c
===================================================================
---- gcc/tree-ssa-live.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/tree-ssa-live.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/tree-ssa-live.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/tree-ssa-live.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -582,7 +582,25 @@
/* For terse debug info we can eliminate info on unused variables. */
else if (debug_info_level == DINFO_LEVEL_NONE
if (dump_file && (dump_flags & TDF_DETAILS))
Index: gcc/po/exgettext
===================================================================
---- gcc/po/exgettext (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/po/exgettext (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/po/exgettext (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/po/exgettext (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -83,7 +83,7 @@
echo "scanning for keywords and %e strings..." >&2
do eval echo $dir$glob
Index: gcc/po/ChangeLog
===================================================================
---- gcc/po/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/po/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/po/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/po/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,3 +1,12 @@
+2009-04-22 Joseph Myers <joseph@codesourcery.com>
+
* GCC 4.4.0 released.
Index: gcc/po/gcc.pot
===================================================================
---- gcc/po/gcc.pot (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/po/gcc.pot (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/po/gcc.pot (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/po/gcc.pot (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
+msgstr ""
Index: gcc/tree-ssa-forwprop.c
===================================================================
---- gcc/tree-ssa-forwprop.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/tree-ssa-forwprop.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/tree-ssa-forwprop.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/tree-ssa-forwprop.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -683,6 +683,7 @@
tree *rhsp, *lhsp;
gimple use_stmt = gsi_stmt (*use_stmt_gsi);
}
}
+Index: gcc/ira.c
+===================================================================
+--- gcc/ira.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/ira.c (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -2794,14 +2794,14 @@
+ CLEAR_REG_SET (live_relevant_regs);
+ memset (live_subregs_used, 0, max_regno * sizeof (int));
+
+- EXECUTE_IF_SET_IN_BITMAP (df_get_live_out (bb), 0, i, bi)
++ EXECUTE_IF_SET_IN_BITMAP (DF_LR_OUT (bb), 0, i, bi)
+ {
+ if (i >= FIRST_PSEUDO_REGISTER)
+ break;
+ bitmap_set_bit (live_relevant_regs, i);
+ }
+
+- EXECUTE_IF_SET_IN_BITMAP (df_get_live_out (bb),
++ EXECUTE_IF_SET_IN_BITMAP (DF_LR_OUT (bb),
+ FIRST_PSEUDO_REGISTER, i, bi)
+ {
+ if (pseudo_for_reload_consideration_p (i))
Index: gcc/ira-costs.c
===================================================================
---- gcc/ira-costs.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/ira-costs.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/ira-costs.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/ira-costs.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -138,9 +138,6 @@
sri.extra_cost = 0;
secondary_class = targetm.secondary_reload (to_p, x, rclass, mode, &sri);
ira_free (total_costs);
Index: gcc/rtl.h
===================================================================
---- gcc/rtl.h (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/rtl.h (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/rtl.h (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/rtl.h (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -2282,7 +2282,7 @@
extern int true_dependence (const_rtx, enum machine_mode, const_rtx, bool (*)(const_rtx, bool));
extern rtx get_addr (rtx);
extern int output_dependence (const_rtx, const_rtx);
Index: gcc/tree-inline.c
===================================================================
---- gcc/tree-inline.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/tree-inline.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/tree-inline.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/tree-inline.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -501,7 +501,7 @@
&& (var_ann (old_var) || !gimple_in_ssa_p (cfun)))
cfun->local_decls = tree_cons (NULL_TREE, old_var,
VEC_safe_push (tree, gc, *nonlocalized_list, origin_var);
Index: gcc/tree-ssa-phiprop.c
===================================================================
---- gcc/tree-ssa-phiprop.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/tree-ssa-phiprop.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/tree-ssa-phiprop.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/tree-ssa-phiprop.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -119,8 +119,7 @@
FOR_EACH_IMM_USE_STMT (use_stmt, ui2, vuse)
{
{
Index: gcc/resource.c
===================================================================
---- gcc/resource.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/resource.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/resource.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/resource.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -135,8 +135,6 @@
static int
find_basic_block (rtx insn, int search_limit)
/* Clear any hashed information that we have stored for INSN. */
Index: gcc/tree-vect-generic.c
===================================================================
---- gcc/tree-vect-generic.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/tree-vect-generic.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/tree-vect-generic.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/tree-vect-generic.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -481,8 +481,10 @@
tree vector_compute_type
= type_for_widest_vector_mode (TYPE_MODE (TREE_TYPE (type)), op,
/* If we are breaking a BLKmode vector into smaller pieces,
Index: gcc/emutls.c
===================================================================
---- gcc/emutls.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/emutls.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/emutls.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/emutls.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -155,23 +155,23 @@
if (__builtin_expect (arr == NULL, 0))
{
}
Index: gcc/reg-stack.c
===================================================================
---- gcc/reg-stack.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/reg-stack.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/reg-stack.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/reg-stack.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1371,21 +1371,23 @@
if (pat != PATTERN (insn))
else
Index: gcc/Makefile.in
===================================================================
---- gcc/Makefile.in (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/Makefile.in (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/Makefile.in (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/Makefile.in (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -2785,7 +2785,8 @@
value-prof.h $(TREE_INLINE_H) $(TARGET_H)
cfgrtl.o : cfgrtl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
cfganal.o : cfganal.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
Index: gcc/gimple.h
===================================================================
---- gcc/gimple.h (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/gimple.h (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/gimple.h (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/gimple.h (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1394,36 +1394,7 @@
return (gimple_has_ops (g)) ? (bool) g->gsbase.modified : false;
}
/* Return a new iterator pointing to GIMPLE_SEQ's first statement. */
static inline gimple_stmt_iterator
+Index: gcc/tree-cfg.c
+===================================================================
+--- gcc/tree-cfg.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/tree-cfg.c (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -4923,6 +4923,10 @@
+ static bool
+ gimple_can_duplicate_bb_p (const_basic_block bb ATTRIBUTE_UNUSED)
+ {
++ gimple_seq_node last = gimple_seq_last (bb_seq (bb));
++ /* We cannot duplicate GIMPLE_RESXs due to expander limitations. */
++ if (last && gimple_code (last->stmt) == GIMPLE_RESX)
++ return false;
+ return true;
+ }
+
Index: gcc/c-parser.c
===================================================================
---- gcc/c-parser.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/c-parser.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/c-parser.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/c-parser.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -6564,7 +6564,7 @@
{
tree keywordexpr;
sel = c_parser_objc_selector (parser);
Index: gcc/config/s390/s390.md
===================================================================
---- gcc/config/s390/s390.md (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/config/s390/s390.md (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/config/s390/s390.md (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/config/s390/s390.md (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -8750,7 +8750,7 @@
(define_insn "bswap<mode>2"
[(set (match_operand:GPR 0 "register_operand" "=d, d")
lrv<g>\t%0,%1"
Index: gcc/config/s390/constraints.md
===================================================================
---- gcc/config/s390/constraints.md (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/config/s390/constraints.md (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/config/s390/constraints.md (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/config/s390/constraints.md (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -129,13 +129,13 @@
(define_constraint "I"
"An 8-bit constant (0..255)"
(define_constraint "K"
Index: gcc/config/m32c/m32c.c
===================================================================
---- gcc/config/m32c/m32c.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/config/m32c/m32c.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/config/m32c/m32c.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/config/m32c/m32c.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -417,6 +417,9 @@
}
else
Index: gcc/config/spu/spu-builtins.h
===================================================================
---- gcc/config/spu/spu-builtins.h (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/config/spu/spu-builtins.h (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/config/spu/spu-builtins.h (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/config/spu/spu-builtins.h (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,119 +0,0 @@
-/* Copyright (C) 2006, 2007 Free Software Foundation, Inc.
-
-
Index: gcc/config/spu/spu.c
===================================================================
---- gcc/config/spu/spu.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/config/spu/spu.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/config/spu/spu.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/config/spu/spu.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -52,13 +52,79 @@
#include "machmode.h"
#include "gimple.h"
+
Index: gcc/config/spu/spu.h
===================================================================
---- gcc/config/spu/spu.h (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/config/spu/spu.h (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/config/spu/spu.h (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/config/spu/spu.h (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -622,3 +622,33 @@
extern GTY(()) rtx spu_compare_op0;
extern GTY(()) rtx spu_compare_op1;
+
Index: gcc/config/spu/spu-c.c
===================================================================
---- gcc/config/spu/spu-c.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/config/spu/spu-c.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/config/spu/spu-c.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/config/spu/spu-c.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -32,7 +32,6 @@
#include "insn-codes.h"
#include "recog.h"
break;
Index: gcc/config/spu/t-spu-elf
===================================================================
---- gcc/config/spu/t-spu-elf (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/config/spu/t-spu-elf (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/config/spu/t-spu-elf (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/config/spu/t-spu-elf (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -85,13 +85,10 @@
output.h $(BASIC_BLOCK_H) $(INTEGRATE_H) toplev.h $(GGC_H) $(HASHTAB_H) \
$(TM_P_H) $(TARGET_H) $(TARGET_DEF_H) langhooks.h reload.h cfglayout.h \
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(srcdir)/config/spu/spu-c.c
Index: gcc/config/i386/i386.h
===================================================================
---- gcc/config/i386/i386.h (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/config/i386/i386.h (.../branches/gcc-4_4-branch) (wersja 149126)
-@@ -1475,6 +1475,7 @@
+--- gcc/config/i386/i386.h (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/config/i386/i386.h (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -808,7 +808,16 @@
+ #define LOCAL_DECL_ALIGNMENT(DECL) \
+ ix86_local_alignment ((DECL), VOIDmode, DECL_ALIGN (DECL))
+
++/* If defined, a C expression to compute the minimum required alignment
++ for dynamic stack realignment purposes for EXP (a TYPE or DECL),
++ MODE, assuming normal alignment ALIGN.
+
++ If this macro is not defined, then (ALIGN) will be used. */
++
++#define MINIMUM_ALIGNMENT(EXP, MODE, ALIGN) \
++ ix86_minimum_alignment (EXP, MODE, ALIGN)
++
++
+ /* If defined, a C expression that gives the alignment boundary, in
+ bits, of an argument with the specified mode and type. If it is
+ not defined, `PARM_BOUNDARY' is used for all arguments. */
+@@ -937,52 +946,7 @@
+ #define OVERRIDE_ABI_FORMAT(FNDECL) ix86_call_abi_override (FNDECL)
+
+ /* Macro to conditionally modify fixed_regs/call_used_regs. */
+-#define CONDITIONAL_REGISTER_USAGE \
+-do { \
+- int i; \
+- unsigned int j; \
+- for (i = 0; i < FIRST_PSEUDO_REGISTER; i++) \
+- { \
+- if (fixed_regs[i] > 1) \
+- fixed_regs[i] = (fixed_regs[i] == (TARGET_64BIT ? 3 : 2)); \
+- if (call_used_regs[i] > 1) \
+- call_used_regs[i] = (call_used_regs[i] \
+- == (TARGET_64BIT ? 3 : 2)); \
+- } \
+- j = PIC_OFFSET_TABLE_REGNUM; \
+- if (j != INVALID_REGNUM) \
+- fixed_regs[j] = call_used_regs[j] = 1; \
+- if (TARGET_64BIT \
+- && ((cfun && cfun->machine->call_abi == MS_ABI) \
+- || (!cfun && DEFAULT_ABI == MS_ABI))) \
+- { \
+- call_used_regs[SI_REG] = 0; \
+- call_used_regs[DI_REG] = 0; \
+- call_used_regs[XMM6_REG] = 0; \
+- call_used_regs[XMM7_REG] = 0; \
+- for (i = FIRST_REX_SSE_REG; i <= LAST_REX_SSE_REG; i++) \
+- call_used_regs[i] = 0; \
+- } \
+- if (! TARGET_MMX) \
+- for (i = 0; i < FIRST_PSEUDO_REGISTER; i++) \
+- if (TEST_HARD_REG_BIT (reg_class_contents[(int)MMX_REGS], i)) \
+- fixed_regs[i] = call_used_regs[i] = 1, reg_names[i] = ""; \
+- if (! TARGET_SSE) \
+- for (i = 0; i < FIRST_PSEUDO_REGISTER; i++) \
+- if (TEST_HARD_REG_BIT (reg_class_contents[(int)SSE_REGS], i)) \
+- fixed_regs[i] = call_used_regs[i] = 1, reg_names[i] = ""; \
+- if (! (TARGET_80387 || TARGET_FLOAT_RETURNS_IN_80387)) \
+- for (i = 0; i < FIRST_PSEUDO_REGISTER; i++) \
+- if (TEST_HARD_REG_BIT (reg_class_contents[(int)FLOAT_REGS], i)) \
+- fixed_regs[i] = call_used_regs[i] = 1, reg_names[i] = ""; \
+- if (! TARGET_64BIT) \
+- { \
+- for (i = FIRST_REX_INT_REG; i <= LAST_REX_INT_REG; i++) \
+- reg_names[i] = ""; \
+- for (i = FIRST_REX_SSE_REG; i <= LAST_REX_SSE_REG; i++) \
+- reg_names[i] = ""; \
+- } \
+- } while (0)
++#define CONDITIONAL_REGISTER_USAGE ix86_conditional_register_usage ()
+
+ /* Return number of consecutive hard regs needed starting at reg REGNO
+ to hold something of mode MODE.
+@@ -1208,6 +1172,7 @@
+ NO_REGS,
+ AREG, DREG, CREG, BREG, SIREG, DIREG,
+ AD_REGS, /* %eax/%edx for DImode */
++ CLOBBERED_REGS, /* call-clobbered integers */
+ Q_REGS, /* %eax %ebx %ecx %edx */
+ NON_Q_REGS, /* %esi %edi %ebp %esp */
+ INDEX_REGS, /* %eax %ebx %ecx %edx %esi %edi %ebp */
+@@ -1256,6 +1221,7 @@
+ "AREG", "DREG", "CREG", "BREG", \
+ "SIREG", "DIREG", \
+ "AD_REGS", \
++ "CLOBBERED_REGS", \
+ "Q_REGS", "NON_Q_REGS", \
+ "INDEX_REGS", \
+ "LEGACY_REGS", \
+@@ -1273,16 +1239,19 @@
+ "FLOAT_INT_SSE_REGS", \
+ "ALL_REGS" }
+
+-/* Define which registers fit in which classes.
+- This is an initializer for a vector of HARD_REG_SET
+- of length N_REG_CLASSES. */
++/* Define which registers fit in which classes. This is an initializer
++ for a vector of HARD_REG_SET of length N_REG_CLASSES.
+
++ Note that the default setting of CLOBBERED_REGS is for 32-bit; this
++ is adjusted by CONDITIONAL_REGISTER_USAGE for the 64-bit ABI in effect. */
++
+ #define REG_CLASS_CONTENTS \
+ { { 0x00, 0x0 }, \
+ { 0x01, 0x0 }, { 0x02, 0x0 }, /* AREG, DREG */ \
+ { 0x04, 0x0 }, { 0x08, 0x0 }, /* CREG, BREG */ \
+ { 0x10, 0x0 }, { 0x20, 0x0 }, /* SIREG, DIREG */ \
+ { 0x03, 0x0 }, /* AD_REGS */ \
++ { 0x07, 0x0 }, /* CLOBBERED_REGS */ \
+ { 0x0f, 0x0 }, /* Q_REGS */ \
+ { 0x1100f0, 0x1fe0 }, /* NON_Q_REGS */ \
+ { 0x7f, 0x1fe0 }, /* INDEX_REGS */ \
+@@ -1475,6 +1444,7 @@
|| ((CLASS) == AD_REGS) \
|| ((CLASS) == SIREG) \
|| ((CLASS) == DIREG) \
Index: gcc/config/i386/linux.h
===================================================================
---- gcc/config/i386/linux.h (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/config/i386/linux.h (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/config/i386/linux.h (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/config/i386/linux.h (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -153,7 +153,9 @@
fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \
/* Make sure that we have at least 8 byte alignment if > 8 byte \
fprintf ((FILE), "\t.p2align 3\n"); \
} \
} \
+Index: gcc/config/i386/i386.md
+===================================================================
+--- gcc/config/i386/i386.md (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/config/i386/i386.md (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -15033,14 +15033,12 @@
+ [(set_attr "type" "call")])
+
+ (define_insn "*sibcall_1"
+- [(call (mem:QI (match_operand:SI 0 "sibcall_insn_operand" "s,c,d,a"))
++ [(call (mem:QI (match_operand:SI 0 "sibcall_insn_operand" "s,U"))
+ (match_operand 1 "" ""))]
+ "SIBLING_CALL_P (insn) && !TARGET_64BIT"
+-{
+- if (constant_call_address_operand (operands[0], Pmode))
+- return "jmp\t%P0";
+- return "jmp\t%A0";
+-}
++ "@
++ jmp\t%P0
++ jmp\t%A0"
+ [(set_attr "type" "call")])
+
+ (define_insn "*call_1_rex64"
+@@ -15087,22 +15085,15 @@
+ [(set_attr "type" "call")])
+
+ (define_insn "*sibcall_1_rex64"
+- [(call (mem:QI (match_operand:DI 0 "constant_call_address_operand" ""))
++ [(call (mem:QI (match_operand:DI 0 "sibcall_insn_operand" "s,U"))
+ (match_operand 1 "" ""))]
+ "SIBLING_CALL_P (insn) && TARGET_64BIT"
+- "jmp\t%P0"
++ "@
++ jmp\t%P0
++ jmp\t%A0"
+ [(set_attr "type" "call")])
+
+-(define_insn "*sibcall_1_rex64_v"
+- [(call (mem:QI (reg:DI R11_REG))
+- (match_operand 0 "" ""))]
+- "SIBLING_CALL_P (insn) && TARGET_64BIT"
+- "jmp\t{*%%}r11"
+- [(set_attr "type" "call")])
+-
+-
+ ;; Call subroutine, returning value in operand 0
+-
+ (define_expand "call_value_pop"
+ [(parallel [(set (match_operand 0 "" "")
+ (call (match_operand:QI 1 "" "")
+@@ -21560,14 +21551,12 @@
+
+ (define_insn "*sibcall_value_1"
+ [(set (match_operand 0 "" "")
+- (call (mem:QI (match_operand:SI 1 "sibcall_insn_operand" "s,c,d,a"))
++ (call (mem:QI (match_operand:SI 1 "sibcall_insn_operand" "s,U"))
+ (match_operand:SI 2 "" "")))]
+ "SIBLING_CALL_P (insn) && !TARGET_64BIT"
+-{
+- if (constant_call_address_operand (operands[1], Pmode))
+- return "jmp\t%P1";
+- return "jmp\t%A1";
+-}
++ "@
++ jmp\t%P1
++ jmp\t%A1"
+ [(set_attr "type" "callv")])
+
+ (define_insn "*call_value_1_rex64"
+@@ -21618,19 +21607,13 @@
+
+ (define_insn "*sibcall_value_1_rex64"
+ [(set (match_operand 0 "" "")
+- (call (mem:QI (match_operand:DI 1 "constant_call_address_operand" ""))
++ (call (mem:QI (match_operand:DI 1 "sibcall_insn_operand" "s,U"))
+ (match_operand:DI 2 "" "")))]
+ "SIBLING_CALL_P (insn) && TARGET_64BIT"
+- "jmp\t%P1"
++ "@
++ jmp\t%P1
++ jmp\t%A1"
+ [(set_attr "type" "callv")])
+-
+-(define_insn "*sibcall_value_1_rex64_v"
+- [(set (match_operand 0 "" "")
+- (call (mem:QI (reg:DI R11_REG))
+- (match_operand:DI 1 "" "")))]
+- "SIBLING_CALL_P (insn) && TARGET_64BIT"
+- "jmp\t{*%%}r11"
+- [(set_attr "type" "callv")])
+ \f
+ ;; We used to use "int $5", in honor of #BR which maps to interrupt vector 5.
+ ;; That, however, is usually mapped by the OS to SIGSEGV, which is often
Index: gcc/config/i386/sol2.h
===================================================================
---- gcc/config/i386/sol2.h (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/config/i386/sol2.h (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/config/i386/sol2.h (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/config/i386/sol2.h (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,6 +1,6 @@
/* Target definitions for GCC for Intel 80386 running Solaris 2
Copyright (C) 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+#ifndef TARGET_GNU_LD
+#define USE_HIDDEN_LINKONCE 0
+#endif
+Index: gcc/config/i386/constraints.md
+===================================================================
+--- gcc/config/i386/constraints.md (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/config/i386/constraints.md (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -18,7 +18,7 @@
+ ;; <http://www.gnu.org/licenses/>.
+
+ ;;; Unused letters:
+-;;; B H TU W
++;;; B H T W
+ ;;; h jk vw z
+
+ ;; Integer register constraints.
+@@ -62,6 +62,9 @@
+ "The @code{a} and @code{d} registers, as a pair (for instructions
+ that return half the result in one and half in the other).")
+
++(define_register_constraint "U" "CLOBBERED_REGS"
++ "The call-clobbered integer registers.")
++
+ ;; Floating-point register constraints.
+ (define_register_constraint "f"
+ "TARGET_80387 || TARGET_FLOAT_RETURNS_IN_80387 ? FLOAT_REGS : NO_REGS"
Index: gcc/config/i386/x86-64.h
===================================================================
---- gcc/config/i386/x86-64.h (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/config/i386/x86-64.h (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/config/i386/x86-64.h (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/config/i386/x86-64.h (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -74,7 +74,9 @@
fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \
/* Make sure that we have at least 8 byte alignment if > 8 byte \
} \
Index: gcc/config/i386/sse.md
===================================================================
---- gcc/config/i386/sse.md (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/config/i386/sse.md (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/config/i386/sse.md (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/config/i386/sse.md (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -978,7 +978,7 @@
(match_operand:AVXMODEF2P 2 "nonimmediate_operand" "xm")))]
"AVX_VEC_FLOAT_MODE_P (<MODE>mode) && flag_finite_math_only
[(set_attr "type" "sseadd")
(set_attr "prefix" "vex")
(set_attr "mode" "<MODE>")])
+Index: gcc/config/i386/i386-protos.h
+===================================================================
+--- gcc/config/i386/i386-protos.h (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/config/i386/i386-protos.h (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -22,6 +22,7 @@
+ /* Functions in i386.c */
+ extern void override_options (bool);
+ extern void optimization_options (int, int);
++extern void ix86_conditional_register_usage (void);
+
+ extern int ix86_can_use_return_insn_p (void);
+ extern int ix86_frame_pointer_required (void);
+@@ -200,6 +201,8 @@
+ extern int ix86_data_alignment (tree, int);
+ extern unsigned int ix86_local_alignment (tree, enum machine_mode,
+ unsigned int);
++extern unsigned int ix86_minimum_alignment (tree, enum machine_mode,
++ unsigned int);
+ extern int ix86_constant_alignment (tree, int);
+ extern tree ix86_handle_shared_attribute (tree *, tree, tree, int, bool *);
+ extern tree ix86_handle_selectany_attribute (tree *, tree, tree, int, bool *);
Index: gcc/config/i386/driver-i386.c
===================================================================
---- gcc/config/i386/driver-i386.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/config/i386/driver-i386.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/config/i386/driver-i386.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/config/i386/driver-i386.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -336,7 +336,11 @@
enum vendor_signatures
{
done:
Index: gcc/config/i386/i386.c
===================================================================
---- gcc/config/i386/i386.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/config/i386/i386.c (.../branches/gcc-4_4-branch) (wersja 149126)
-@@ -5357,7 +5357,10 @@
+--- gcc/config/i386/i386.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/config/i386/i386.c (.../branches/gcc-4_4-branch) (wersja 149530)
+@@ -3274,6 +3274,79 @@
+ target_option_default_node = target_option_current_node
+ = build_target_option_node ();
+ }
++
++/* Update register usage after having seen the compiler flags. */
++
++void
++ix86_conditional_register_usage (void)
++{
++ int i;
++ unsigned int j;
++
++ for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
++ {
++ if (fixed_regs[i] > 1)
++ fixed_regs[i] = (fixed_regs[i] == (TARGET_64BIT ? 3 : 2));
++ if (call_used_regs[i] > 1)
++ call_used_regs[i] = (call_used_regs[i] == (TARGET_64BIT ? 3 : 2));
++ }
++
++ /* The PIC register, if it exists, is fixed. */
++ j = PIC_OFFSET_TABLE_REGNUM;
++ if (j != INVALID_REGNUM)
++ fixed_regs[j] = call_used_regs[j] = 1;
++
++ /* The MS_ABI changes the set of call-used registers. */
++ if (TARGET_64BIT && ix86_cfun_abi () == MS_ABI)
++ {
++ call_used_regs[SI_REG] = 0;
++ call_used_regs[DI_REG] = 0;
++ call_used_regs[XMM6_REG] = 0;
++ call_used_regs[XMM7_REG] = 0;
++ for (i = FIRST_REX_SSE_REG; i <= LAST_REX_SSE_REG; i++)
++ call_used_regs[i] = 0;
++ }
++
++ /* The default setting of CLOBBERED_REGS is for 32-bit; add in the
++ other call-clobbered regs for 64-bit. */
++ if (TARGET_64BIT)
++ {
++ CLEAR_HARD_REG_SET (reg_class_contents[(int)CLOBBERED_REGS]);
++
++ for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
++ if (TEST_HARD_REG_BIT (reg_class_contents[(int)GENERAL_REGS], i)
++ && call_used_regs[i])
++ SET_HARD_REG_BIT (reg_class_contents[(int)CLOBBERED_REGS], i);
++ }
++
++ /* If MMX is disabled, squash the registers. */
++ if (! TARGET_MMX)
++ for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
++ if (TEST_HARD_REG_BIT (reg_class_contents[(int)MMX_REGS], i))
++ fixed_regs[i] = call_used_regs[i] = 1, reg_names[i] = "";
++
++ /* If SSE is disabled, squash the registers. */
++ if (! TARGET_SSE)
++ for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
++ if (TEST_HARD_REG_BIT (reg_class_contents[(int)SSE_REGS], i))
++ fixed_regs[i] = call_used_regs[i] = 1, reg_names[i] = "";
++
++ /* If the FPU is disabled, squash the registers. */
++ if (! (TARGET_80387 || TARGET_FLOAT_RETURNS_IN_80387))
++ for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
++ if (TEST_HARD_REG_BIT (reg_class_contents[(int)FLOAT_REGS], i))
++ fixed_regs[i] = call_used_regs[i] = 1, reg_names[i] = "";
++
++ /* If 32-bit, squash the 64-bit registers. */
++ if (! TARGET_64BIT)
++ {
++ for (i = FIRST_REX_INT_REG; i <= LAST_REX_INT_REG; i++)
++ reg_names[i] = "";
++ for (i = FIRST_REX_SSE_REG; i <= LAST_REX_SSE_REG; i++)
++ reg_names[i] = "";
++ }
++}
++
+ \f
+ /* Save the current options */
+
+@@ -4047,7 +4120,7 @@
+ static bool
+ ix86_function_ok_for_sibcall (tree decl, tree exp)
+ {
+- tree func;
++ tree type, decl_or_type;
+ rtx a, b;
+
+ /* If we are generating position-independent code, we cannot sibcall
+@@ -4056,13 +4129,23 @@
+ if (!TARGET_64BIT && flag_pic && (!decl || !targetm.binds_local_p (decl)))
+ return false;
+
++ /* If we need to align the outgoing stack, then sibcalling would
++ unalign the stack, which may break the called function. */
++ if (ix86_incoming_stack_boundary < PREFERRED_STACK_BOUNDARY)
++ return false;
++
+ if (decl)
+- func = decl;
++ {
++ decl_or_type = decl;
++ type = TREE_TYPE (decl);
++ }
+ else
+ {
+- func = TREE_TYPE (CALL_EXPR_FN (exp));
+- if (POINTER_TYPE_P (func))
+- func = TREE_TYPE (func);
++ /* We're looking at the CALL_EXPR, we need the type of the function. */
++ type = CALL_EXPR_FN (exp); /* pointer expression */
++ type = TREE_TYPE (type); /* pointer type */
++ type = TREE_TYPE (type); /* function type */
++ decl_or_type = type;
+ }
+
+ /* Check that the return value locations are the same. Like
+@@ -4074,7 +4157,7 @@
+ differences in the return value ABI. Note that it is ok for one
+ of the functions to have void return type as long as the return
+ value of the other is passed in a register. */
+- a = ix86_function_value (TREE_TYPE (exp), func, false);
++ a = ix86_function_value (TREE_TYPE (exp), decl_or_type, false);
+ b = ix86_function_value (TREE_TYPE (DECL_RESULT (cfun->decl)),
+ cfun->decl, false);
+ if (STACK_REG_P (a) || STACK_REG_P (b))
+@@ -4087,38 +4170,32 @@
+ else if (!rtx_equal_p (a, b))
+ return false;
+
+- /* If this call is indirect, we'll need to be able to use a call-clobbered
+- register for the address of the target function. Make sure that all
+- such registers are not used for passing parameters. */
+- if (!decl && !TARGET_64BIT)
++ if (TARGET_64BIT)
+ {
+- tree type;
+-
+- /* We're looking at the CALL_EXPR, we need the type of the function. */
+- type = CALL_EXPR_FN (exp); /* pointer expression */
+- type = TREE_TYPE (type); /* pointer type */
+- type = TREE_TYPE (type); /* function type */
+-
+- if (ix86_function_regparm (type, NULL) >= 3)
++ /* The SYSV ABI has more call-clobbered registers;
++ disallow sibcalls from MS to SYSV. */
++ if (cfun->machine->call_abi == MS_ABI
++ && ix86_function_type_abi (type) == SYSV_ABI)
++ return false;
++ }
++ else
++ {
++ /* If this call is indirect, we'll need to be able to use a
++ call-clobbered register for the address of the target function.
++ Make sure that all such registers are not used for passing
++ parameters. Note that DLLIMPORT functions are indirect. */
++ if (!decl
++ || (TARGET_DLLIMPORT_DECL_ATTRIBUTES && DECL_DLLIMPORT_P (decl)))
+ {
+- /* ??? Need to count the actual number of registers to be used,
+- not the possible number of registers. Fix later. */
+- return false;
++ if (ix86_function_regparm (type, NULL) >= 3)
++ {
++ /* ??? Need to count the actual number of registers to be used,
++ not the possible number of registers. Fix later. */
++ return false;
++ }
+ }
+ }
+
+- /* Dllimport'd functions are also called indirectly. */
+- if (TARGET_DLLIMPORT_DECL_ATTRIBUTES
+- && !TARGET_64BIT
+- && decl && DECL_DLLIMPORT_P (decl)
+- && ix86_function_regparm (TREE_TYPE (decl), NULL) >= 3)
+- return false;
+-
+- /* If we need to align the outgoing stack, then sibcalling would
+- unalign the stack, which may break the called function. */
+- if (ix86_incoming_stack_boundary < PREFERRED_STACK_BOUNDARY)
+- return false;
+-
+ /* Otherwise okay. That also includes certain types of indirect calls. */
+ return true;
+ }
+@@ -4642,7 +4719,8 @@
+ /* Set up the number of registers to use for passing arguments. */
+
+ if (cum->call_abi == MS_ABI && !ACCUMULATE_OUTGOING_ARGS)
+- sorry ("ms_abi attribute require -maccumulate-outgoing-args or subtarget optimization implying it");
++ sorry ("ms_abi attribute requires -maccumulate-outgoing-args "
++ "or subtarget optimization implying it");
+ cum->nregs = ix86_regparm;
+ if (TARGET_64BIT)
+ {
+@@ -5357,7 +5435,10 @@
case X86_64_SSE_CLASS:
case X86_64_SSESF_CLASS:
case X86_64_SSEDF_CLASS:
case X86_64_X87_CLASS:
case X86_64_COMPLEX_X87_CLASS:
return gen_rtx_REG (mode, FIRST_STACK_REG);
-@@ -7301,10 +7304,12 @@
+@@ -7301,10 +7382,12 @@
cfun->machine->accesses_prev_frame = 1;
}
\f
#endif
static int pic_labels_used;
+@@ -7773,7 +7856,8 @@
+ || (TARGET_64BIT && frame->to_allocate >= (HOST_WIDE_INT) 0x80000000))
+ frame->save_regs_using_mov = false;
+
+- if (!TARGET_64BIT_MS_ABI && TARGET_RED_ZONE && current_function_sp_is_unchanging
++ if (!TARGET_64BIT_MS_ABI && TARGET_RED_ZONE
++ && current_function_sp_is_unchanging
+ && current_function_is_leaf
+ && !ix86_current_function_calls_tls_descriptor)
+ {
+@@ -18687,20 +18771,13 @@
+ && GET_CODE (XEXP (fnaddr, 0)) == SYMBOL_REF
+ && !local_symbolic_operand (XEXP (fnaddr, 0), VOIDmode))
+ fnaddr = gen_rtx_MEM (QImode, construct_plt_address (XEXP (fnaddr, 0)));
+- else if (! call_insn_operand (XEXP (fnaddr, 0), Pmode))
++ else if (sibcall
++ ? !sibcall_insn_operand (XEXP (fnaddr, 0), Pmode)
++ : !call_insn_operand (XEXP (fnaddr, 0), Pmode))
+ {
+ fnaddr = copy_to_mode_reg (Pmode, XEXP (fnaddr, 0));
+ fnaddr = gen_rtx_MEM (QImode, fnaddr);
+ }
+- if (sibcall && TARGET_64BIT
+- && !constant_call_address_operand (XEXP (fnaddr, 0), Pmode))
+- {
+- rtx addr;
+- addr = copy_to_mode_reg (Pmode, XEXP (fnaddr, 0));
+- fnaddr = gen_rtx_REG (Pmode, R11_REG);
+- emit_move_insn (fnaddr, addr);
+- fnaddr = gen_rtx_MEM (QImode, fnaddr);
+- }
+
+ call = gen_rtx_CALL (VOIDmode, fnaddr, callarg1);
+ if (retval)
+@@ -19469,6 +19546,41 @@
+ }
+ return align;
+ }
++
++/* Compute the minimum required alignment for dynamic stack realignment
++ purposes for a local variable, parameter or a stack slot. EXP is
++ the data type or decl itself, MODE is its mode and ALIGN is the
++ alignment that the object would ordinarily have. */
++
++unsigned int
++ix86_minimum_alignment (tree exp, enum machine_mode mode,
++ unsigned int align)
++{
++ tree type, decl;
++
++ if (TARGET_64BIT || align != 64 || ix86_preferred_stack_boundary >= 64)
++ return align;
++
++ if (exp && DECL_P (exp))
++ {
++ type = TREE_TYPE (exp);
++ decl = exp;
++ }
++ else
++ {
++ type = exp;
++ decl = NULL;
++ }
++
++ /* Don't do dynamic stack realignment for long long objects with
++ -mpreferred-stack-boundary=2. */
++ if ((mode == DImode || (type && TYPE_MODE (type) == DImode))
++ && (!type || !TYPE_USER_ALIGN (type))
++ && (!decl || !DECL_USER_ALIGN (decl)))
++ return 32;
++
++ return align;
++}
+ \f
+ /* Emit RTL insns to initialize the variable parts of a trampoline.
+ FNADDR is an RTX for the address of the function's pure code.
Index: gcc/config/sh/sh.c
===================================================================
---- gcc/config/sh/sh.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/config/sh/sh.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/config/sh/sh.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/config/sh/sh.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -6908,6 +6908,8 @@
tmp = gen_frame_mem (Pmode, tmp);
/* Clear variables at function end. */
Index: gcc/config/sh/sh.md
===================================================================
---- gcc/config/sh/sh.md (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/config/sh/sh.md (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/config/sh/sh.md (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/config/sh/sh.md (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -3999,6 +3999,34 @@
[(set_attr "length" "4")
(set_attr "type" "arith")])
Index: gcc/config/rs6000/rs6000-c.c
===================================================================
---- gcc/config/rs6000/rs6000-c.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/config/rs6000/rs6000-c.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/config/rs6000/rs6000-c.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/config/rs6000/rs6000-c.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -91,6 +91,7 @@
static GTY(()) tree pixel_keyword;
static GTY(()) tree __bool_keyword;
/* Enable context-sensitive macros. */
Index: gcc/config/arm/arm.c
===================================================================
---- gcc/config/arm/arm.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/config/arm/arm.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/config/arm/arm.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/config/arm/arm.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -16883,7 +16883,7 @@
if (push && pushed_words && dwarf2out_do_frame ())
dwarf2out_def_cfa (l, SP_REGNUM, cfa_offset);
Index: gcc/config/arm/arm.h
===================================================================
---- gcc/config/arm/arm.h (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/config/arm/arm.h (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/config/arm/arm.h (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/config/arm/arm.h (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -2244,8 +2244,10 @@
#define GO_IF_MODE_DEPENDENT_ADDRESS(ADDR, LABEL) \
if (TARGET_32BIT) \
#define CASE_VECTOR_MODE Pmode
Index: gcc/config/arm/arm.md
===================================================================
---- gcc/config/arm/arm.md (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/config/arm/arm.md (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/config/arm/arm.md (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/config/arm/arm.md (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -8214,7 +8214,7 @@
(define_insn "cstoresi_nltu_thumb1"
"cmp\\t%1, %2\;sbc\\t%0, %0, %0"
Index: gcc/config/vax/vax.c
===================================================================
---- gcc/config/vax/vax.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/config/vax/vax.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/config/vax/vax.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/config/vax/vax.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -122,7 +122,7 @@
if (dwarf2out_do_frame ())
for (regno = FIRST_PSEUDO_REGISTER-1; regno >= 0; --regno)
Index: gcc/dfp.c
===================================================================
---- gcc/dfp.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/dfp.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/dfp.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/dfp.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,5 +1,5 @@
/* Decimal floating point support.
- Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
decimal128ToNumber (&d128, &dn);
Index: gcc/cfgrtl.c
===================================================================
---- gcc/cfgrtl.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/cfgrtl.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/cfgrtl.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/cfgrtl.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -53,6 +53,7 @@
#include "toplev.h"
#include "tm_p.h"
0, /* static_pass_number */
Index: gcc/stmt.c
===================================================================
---- gcc/stmt.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/stmt.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/stmt.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/stmt.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1418,6 +1418,7 @@
goto restart;
Index: gcc/convert.c
===================================================================
---- gcc/convert.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/convert.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/convert.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/convert.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -740,10 +740,16 @@
case COND_EXPR:
break;
Index: gcc/tree-ssa-operands.c
===================================================================
---- gcc/tree-ssa-operands.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gcc/tree-ssa-operands.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gcc/tree-ssa-operands.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gcc/tree-ssa-operands.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -2099,6 +2099,13 @@
/* Add call-clobbered operands, if needed. */
if (code == GIMPLE_CALL)
Zmiany atrybutów dla: gcc
___________________________________________________________________
Dodane: svn:mergeinfo
- Połączono zmiany /trunk/gcc:r148910
+ Połączono zmiany /trunk/gcc:r148910,149341,149351
Index: libstdc++-v3/configure
===================================================================
---- libstdc++-v3/configure (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/configure (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/configure (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/configure (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1567,7 +1567,7 @@
### am handles this now? ORIGINAL_LD_FOR_MULTILIBS=$LD
# Find the rest of the source tree framework.
Index: libstdc++-v3/include/ext/memory
===================================================================
---- libstdc++-v3/include/ext/memory (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/include/ext/memory (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/include/ext/memory (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/include/ext/memory (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -102,9 +102,9 @@
template<typename _InputIter, typename _Size, typename _ForwardIter>
inline pair<_InputIter, _ForwardIter>
/**
Index: libstdc++-v3/include/bits/locale_facets.tcc
===================================================================
---- libstdc++-v3/include/bits/locale_facets.tcc (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/include/bits/locale_facets.tcc (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/include/bits/locale_facets.tcc (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/include/bits/locale_facets.tcc (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -379,8 +379,7 @@
if (!__testeof)
{
__v = __gnu_cxx::__numeric_traits<_ValueT>::__max;
Index: libstdc++-v3/include/bits/atomic_0.h
===================================================================
---- libstdc++-v3/include/bits/atomic_0.h (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/include/bits/atomic_0.h (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/include/bits/atomic_0.h (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/include/bits/atomic_0.h (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -119,17 +119,17 @@
void
store(void* __v, memory_order __m = memory_order_seq_cst) volatile
}
Index: libstdc++-v3/include/bits/atomic_2.h
===================================================================
---- libstdc++-v3/include/bits/atomic_2.h (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/include/bits/atomic_2.h (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/include/bits/atomic_2.h (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/include/bits/atomic_2.h (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -65,6 +65,10 @@
void
clear(memory_order __m = memory_order_seq_cst) volatile
__integral_type __i1o = __i1;
Index: libstdc++-v3/include/bits/stl_construct.h
===================================================================
---- libstdc++-v3/include/bits/stl_construct.h (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/include/bits/stl_construct.h (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/include/bits/stl_construct.h (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/include/bits/stl_construct.h (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -82,6 +82,26 @@
_Destroy(_Tp* __pointer)
{ __pointer->~_Tp(); }
/**
Index: libstdc++-v3/include/Makefile.in
===================================================================
---- libstdc++-v3/include/Makefile.in (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/include/Makefile.in (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/include/Makefile.in (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/include/Makefile.in (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1096,7 +1096,7 @@
pch_output_anchors = \
${pch1_output_anchor} ${pch2_output_anchor} ${pch3_output_anchor}
Index: libstdc++-v3/include/Makefile.am
===================================================================
---- libstdc++-v3/include/Makefile.am (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/include/Makefile.am (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/include/Makefile.am (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/include/Makefile.am (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -850,7 +850,7 @@
${pch1_output_builddir} ${pch2_output_builddir} ${pch3_output_builddir}
pch_output_anchors = \
else
Index: libstdc++-v3/include/std/system_error
===================================================================
---- libstdc++-v3/include/std/system_error (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/include/std/system_error (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/include/std/system_error (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/include/std/system_error (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -51,10 +51,6 @@
template<typename _Tp>
struct is_error_code_enum : public false_type { };
clear()
Index: libstdc++-v3/include/std/thread
===================================================================
---- libstdc++-v3/include/std/thread (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/include/std/thread (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/include/std/thread (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/include/std/thread (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -135,7 +135,7 @@
~thread()
{
}
Index: libstdc++-v3/include/std/mutex
===================================================================
---- libstdc++-v3/include/std/mutex (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/include/std/mutex (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/include/std/mutex (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/include/std/mutex (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -729,8 +729,11 @@
#else
extern function<void()> __once_functor;
if (__e)
Index: libstdc++-v3/include/parallel/algo.h
===================================================================
---- libstdc++-v3/include/parallel/algo.h (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/include/parallel/algo.h (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/include/parallel/algo.h (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/include/parallel/algo.h (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -149,8 +149,8 @@
if (_GLIBCXX_PARALLEL_CONDITION(true))
find_if_selector()).first;
Index: libstdc++-v3/src/math_stubs_long_double.cc
===================================================================
---- libstdc++-v3/src/math_stubs_long_double.cc (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/src/math_stubs_long_double.cc (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/src/math_stubs_long_double.cc (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/src/math_stubs_long_double.cc (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -70,6 +70,14 @@
}
#endif
cosl(long double x)
Index: libstdc++-v3/src/mutex.cc
===================================================================
---- libstdc++-v3/src/mutex.cc (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/src/mutex.cc (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/src/mutex.cc (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/src/mutex.cc (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -28,11 +28,11 @@
#ifndef _GLIBCXX_HAVE_TLS
namespace
}
Index: libstdc++-v3/scripts/run_doxygen
===================================================================
---- libstdc++-v3/scripts/run_doxygen (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/scripts/run_doxygen (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/scripts/run_doxygen (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/scripts/run_doxygen (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,7 +1,8 @@
#!/bin/bash
for f in *_libstdc__-v3_*; do
Index: libstdc++-v3/scripts/create_testsuite_files
===================================================================
---- libstdc++-v3/scripts/create_testsuite_files (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/scripts/create_testsuite_files (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/scripts/create_testsuite_files (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/scripts/create_testsuite_files (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -32,7 +32,7 @@
# This is the ugly version of "everything but the current directory". It's
# what has to happen when find(1) doesn't support -mindepth, or -xtype.
cat $tmp.01 $tmp.02 | sort > $tmp.1
Index: libstdc++-v3/libsupc++/eh_ptr.cc
===================================================================
---- libstdc++-v3/libsupc++/eh_ptr.cc (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/libsupc++/eh_ptr.cc (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/libsupc++/eh_ptr.cc (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/libsupc++/eh_ptr.cc (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -26,6 +26,8 @@
#ifdef _GLIBCXX_ATOMIC_BUILTINS_4
#endif
Index: libstdc++-v3/libsupc++/exception_ptr.h
===================================================================
---- libstdc++-v3/libsupc++/exception_ptr.h (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/libsupc++/exception_ptr.h (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/libsupc++/exception_ptr.h (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/libsupc++/exception_ptr.h (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -121,7 +121,7 @@
exception_ptr&
operator=(exception_ptr&& __o) throw()
operator==(const exception_ptr&, const exception_ptr&) throw();
Index: libstdc++-v3/ChangeLog
===================================================================
---- libstdc++-v3/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,3 +1,196 @@
+2009-06-30 Paolo Carlini <paolo.carlini@oracle.com>
+
* GCC 4.4.0 released.
Index: libstdc++-v3/testsuite/25_algorithms/minmax/2.cc
===================================================================
---- libstdc++-v3/testsuite/25_algorithms/minmax/2.cc (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/testsuite/25_algorithms/minmax/2.cc (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/testsuite/25_algorithms/minmax/2.cc (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/testsuite/25_algorithms/minmax/2.cc (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -27,25 +27,25 @@
{
bool test __attribute__((unused)) = true;
VERIFY( wc.first == 5 );
Index: libstdc++-v3/testsuite/25_algorithms/minmax/3.cc
===================================================================
---- libstdc++-v3/testsuite/25_algorithms/minmax/3.cc (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/testsuite/25_algorithms/minmax/3.cc (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/testsuite/25_algorithms/minmax/3.cc (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/testsuite/25_algorithms/minmax/3.cc (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -41,8 +41,8 @@
{
bool test __attribute__((unused)) = true;
Index: libstdc++-v3/testsuite/25_algorithms/find/39546.cc
===================================================================
--- libstdc++-v3/testsuite/25_algorithms/find/39546.cc (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ libstdc++-v3/testsuite/25_algorithms/find/39546.cc (.../branches/gcc-4_4-branch) (wersja 149126)
++++ libstdc++-v3/testsuite/25_algorithms/find/39546.cc (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,43 @@
+// Copyright (C) 2009 Free Software Foundation, Inc.
+//
+}
Index: libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc
===================================================================
---- libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++0x" }
{
Index: libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc
===================================================================
---- libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -32,7 +32,7 @@
char buf[64];
Index: libstdc++-v3/testsuite/19_diagnostics/error_condition/modifiers/39881.cc
===================================================================
--- libstdc++-v3/testsuite/19_diagnostics/error_condition/modifiers/39881.cc (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ libstdc++-v3/testsuite/19_diagnostics/error_condition/modifiers/39881.cc (.../branches/gcc-4_4-branch) (wersja 149126)
++++ libstdc++-v3/testsuite/19_diagnostics/error_condition/modifiers/39881.cc (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,61 @@
+// { dg-options "-std=gnu++0x" }
+
Index: libstdc++-v3/testsuite/19_diagnostics/error_condition/cons/39881.cc
===================================================================
--- libstdc++-v3/testsuite/19_diagnostics/error_condition/cons/39881.cc (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ libstdc++-v3/testsuite/19_diagnostics/error_condition/cons/39881.cc (.../branches/gcc-4_4-branch) (wersja 149126)
++++ libstdc++-v3/testsuite/19_diagnostics/error_condition/cons/39881.cc (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,60 @@
+// { dg-options "-std=gnu++0x" }
+
Index: libstdc++-v3/testsuite/19_diagnostics/error_code/modifiers/39882.cc
===================================================================
--- libstdc++-v3/testsuite/19_diagnostics/error_code/modifiers/39882.cc (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ libstdc++-v3/testsuite/19_diagnostics/error_code/modifiers/39882.cc (.../branches/gcc-4_4-branch) (wersja 149126)
++++ libstdc++-v3/testsuite/19_diagnostics/error_code/modifiers/39882.cc (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,61 @@
+// { dg-options "-std=gnu++0x" }
+
Index: libstdc++-v3/testsuite/19_diagnostics/error_code/cons/39882.cc
===================================================================
--- libstdc++-v3/testsuite/19_diagnostics/error_code/cons/39882.cc (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ libstdc++-v3/testsuite/19_diagnostics/error_code/cons/39882.cc (.../branches/gcc-4_4-branch) (wersja 149126)
++++ libstdc++-v3/testsuite/19_diagnostics/error_code/cons/39882.cc (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,60 @@
+// { dg-options "-std=gnu++0x" }
+
+}
Index: libstdc++-v3/testsuite/19_diagnostics/error_code/cons/1.cc
===================================================================
---- libstdc++-v3/testsuite/19_diagnostics/error_code/cons/1.cc (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/testsuite/19_diagnostics/error_code/cons/1.cc (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/testsuite/19_diagnostics/error_code/cons/1.cc (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/testsuite/19_diagnostics/error_code/cons/1.cc (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -37,7 +37,7 @@
VERIFY( e2.category() == cat );
Index: libstdc++-v3/testsuite/19_diagnostics/error_code/operators/bool.cc
===================================================================
---- libstdc++-v3/testsuite/19_diagnostics/error_code/operators/bool.cc (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/testsuite/19_diagnostics/error_code/operators/bool.cc (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/testsuite/19_diagnostics/error_code/operators/bool.cc (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/testsuite/19_diagnostics/error_code/operators/bool.cc (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -34,7 +34,7 @@
}
VERIFY( true );
Index: libstdc++-v3/testsuite/19_diagnostics/error_code/operators/equal.cc
===================================================================
---- libstdc++-v3/testsuite/19_diagnostics/error_code/operators/equal.cc (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/testsuite/19_diagnostics/error_code/operators/equal.cc (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/testsuite/19_diagnostics/error_code/operators/equal.cc (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/testsuite/19_diagnostics/error_code/operators/equal.cc (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -27,7 +27,7 @@
bool test __attribute__((unused)) = true;
VERIFY( !(e1 == e2) );
Index: libstdc++-v3/testsuite/19_diagnostics/error_code/operators/not_equal.cc
===================================================================
---- libstdc++-v3/testsuite/19_diagnostics/error_code/operators/not_equal.cc (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/testsuite/19_diagnostics/error_code/operators/not_equal.cc (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/testsuite/19_diagnostics/error_code/operators/not_equal.cc (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/testsuite/19_diagnostics/error_code/operators/not_equal.cc (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -27,7 +27,7 @@
bool test __attribute__((unused)) = true;
VERIFY( e1 != e2 );
Index: libstdc++-v3/testsuite/19_diagnostics/error_category/cons/copy_neg.cc
===================================================================
---- libstdc++-v3/testsuite/19_diagnostics/error_category/cons/copy_neg.cc (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/testsuite/19_diagnostics/error_category/cons/copy_neg.cc (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/testsuite/19_diagnostics/error_category/cons/copy_neg.cc (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/testsuite/19_diagnostics/error_category/cons/copy_neg.cc (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -32,7 +32,7 @@
return 0;
}
Index: libstdc++-v3/testsuite/19_diagnostics/system_error/39880.cc
===================================================================
--- libstdc++-v3/testsuite/19_diagnostics/system_error/39880.cc (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ libstdc++-v3/testsuite/19_diagnostics/system_error/39880.cc (.../branches/gcc-4_4-branch) (wersja 149126)
++++ libstdc++-v3/testsuite/19_diagnostics/system_error/39880.cc (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,29 @@
+// { dg-options "-std=gnu++0x" }
+// { dg-do compile }
+}
Index: libstdc++-v3/testsuite/19_diagnostics/system_error/cons-1.cc
===================================================================
---- libstdc++-v3/testsuite/19_diagnostics/system_error/cons-1.cc (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/testsuite/19_diagnostics/system_error/cons-1.cc (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/testsuite/19_diagnostics/system_error/cons-1.cc (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/testsuite/19_diagnostics/system_error/cons-1.cc (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -26,7 +26,8 @@
{
bool test __attribute__((unused)) = true;
{
Index: libstdc++-v3/testsuite/19_diagnostics/system_error/what-4.cc
===================================================================
---- libstdc++-v3/testsuite/19_diagnostics/system_error/what-4.cc (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/testsuite/19_diagnostics/system_error/what-4.cc (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/testsuite/19_diagnostics/system_error/what-4.cc (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/testsuite/19_diagnostics/system_error/what-4.cc (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -31,7 +31,8 @@
bool test __attribute__((unused)) = true;
std::string s("after nine thirty, this request cannot be met");
VERIFY( s1 == s2 );
Index: libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc
===================================================================
---- libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -31,7 +31,7 @@
using namespace std;
Index: libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc
===================================================================
--- libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc (.../branches/gcc-4_4-branch) (wersja 149126)
++++ libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,30 @@
+// { dg-do compile }
+// { dg-options "-std=gnu++0x" }
Index: libstdc++-v3/testsuite/18_support/exception_ptr/move.cc
===================================================================
--- libstdc++-v3/testsuite/18_support/exception_ptr/move.cc (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ libstdc++-v3/testsuite/18_support/exception_ptr/move.cc (.../branches/gcc-4_4-branch) (wersja 149126)
++++ libstdc++-v3/testsuite/18_support/exception_ptr/move.cc (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,45 @@
+// { dg-options "-std=gnu++0x" }
+// { dg-require-atomic-builtins "" }
Index: libstdc++-v3/testsuite/30_threads/call_once/39909.cc
===================================================================
--- libstdc++-v3/testsuite/30_threads/call_once/39909.cc (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ libstdc++-v3/testsuite/30_threads/call_once/39909.cc (.../branches/gcc-4_4-branch) (wersja 149126)
++++ libstdc++-v3/testsuite/30_threads/call_once/39909.cc (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,56 @@
+// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
+}
Index: libstdc++-v3/testsuite/30_threads/unique_lock/locking/2.cc
===================================================================
---- libstdc++-v3/testsuite/30_threads/unique_lock/locking/2.cc (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/testsuite/30_threads/unique_lock/locking/2.cc (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/testsuite/30_threads/unique_lock/locking/2.cc (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/testsuite/30_threads/unique_lock/locking/2.cc (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -44,7 +44,8 @@
}
catch (const std::system_error& ex)
Index: libstdc++-v3/testsuite/ext/rope/40299.cc
===================================================================
--- libstdc++-v3/testsuite/ext/rope/40299.cc (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ libstdc++-v3/testsuite/ext/rope/40299.cc (.../branches/gcc-4_4-branch) (wersja 149126)
++++ libstdc++-v3/testsuite/ext/rope/40299.cc (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,27 @@
+// { dg-options "-std=gnu++0x" }
+// { dg-do compile }
Index: libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/39802.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/39802.cc (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/39802.cc (.../branches/gcc-4_4-branch) (wersja 149126)
++++ libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/39802.cc (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,77 @@
+// Copyright (C) 2009 Free Software Foundation
+//
Index: libstdc++-v3/testsuite/22_locale/num_get/get/char/39802.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/num_get/get/char/39802.cc (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ libstdc++-v3/testsuite/22_locale/num_get/get/char/39802.cc (.../branches/gcc-4_4-branch) (wersja 149126)
++++ libstdc++-v3/testsuite/22_locale/num_get/get/char/39802.cc (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,77 @@
+// Copyright (C) 2009 Free Software Foundation
+//
+}
Index: libstdc++-v3/testsuite/lib/libstdc++.exp
===================================================================
---- libstdc++-v3/testsuite/lib/libstdc++.exp (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/testsuite/lib/libstdc++.exp (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/testsuite/lib/libstdc++.exp (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/testsuite/lib/libstdc++.exp (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -402,8 +402,7 @@
# Flag setting based on type argument.
if { $type == "executable" } {
Index: libstdc++-v3/testsuite/23_containers/vector/40192.cc
===================================================================
--- libstdc++-v3/testsuite/23_containers/vector/40192.cc (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ libstdc++-v3/testsuite/23_containers/vector/40192.cc (.../branches/gcc-4_4-branch) (wersja 149126)
++++ libstdc++-v3/testsuite/23_containers/vector/40192.cc (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,28 @@
+// Copyright (C) 2009 Free Software Foundation, Inc.
+//
+}
Index: libstdc++-v3/testsuite/util/testsuite_abi.cc
===================================================================
---- libstdc++-v3/testsuite/util/testsuite_abi.cc (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/testsuite/util/testsuite_abi.cc (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/testsuite/util/testsuite_abi.cc (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/testsuite/util/testsuite_abi.cc (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -183,6 +183,7 @@
known_versions.push_back("GLIBCXX_3.4.9");
known_versions.push_back("GLIBCXX_3.4.10");
known_versions.push_back("GLIBCXX_LDBL_3.4.10");
Index: libstdc++-v3/configure.ac
===================================================================
---- libstdc++-v3/configure.ac (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/configure.ac (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/configure.ac (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/configure.ac (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -12,7 +12,7 @@
### am handles this now? ORIGINAL_LD_FOR_MULTILIBS=$LD
# Find the rest of the source tree framework.
Index: libstdc++-v3/config/abi/pre/gnu.ver
===================================================================
---- libstdc++-v3/config/abi/pre/gnu.ver (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/config/abi/pre/gnu.ver (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/config/abi/pre/gnu.ver (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/config/abi/pre/gnu.ver (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -958,6 +958,14 @@
} GLIBCXX_3.4.10;
Index: libstdc++-v3/doc/xml/authors.xml
===================================================================
---- libstdc++-v3/doc/xml/authors.xml (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/doc/xml/authors.xml (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/doc/xml/authors.xml (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/doc/xml/authors.xml (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -21,6 +21,16 @@
-->
Index: libstdc++-v3/doc/xml/faq.xml
===================================================================
---- libstdc++-v3/doc/xml/faq.xml (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/doc/xml/faq.xml (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/doc/xml/faq.xml (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/doc/xml/faq.xml (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -692,9 +692,9 @@
</para>
<para>
</answer>
Index: libstdc++-v3/doc/xml/manual/intro.xml
===================================================================
---- libstdc++-v3/doc/xml/manual/intro.xml (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/doc/xml/manual/intro.xml (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/doc/xml/manual/intro.xml (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/doc/xml/manual/intro.xml (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -27,7 +27,7 @@
<title>Status</title>
<!-- Section 01.1 : Status C++ 1998 -->
Index: libstdc++-v3/doc/xml/manual/abi.xml
===================================================================
---- libstdc++-v3/doc/xml/manual/abi.xml (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/doc/xml/manual/abi.xml (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/doc/xml/manual/abi.xml (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/doc/xml/manual/abi.xml (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -207,6 +207,7 @@
<listitem><para>gcc-4.1.0: GCC_4.1.0</para></listitem>
<listitem><para>gcc-4.2.0: GCC_4.2.0</para></listitem>
</listitem>
Index: libstdc++-v3/doc/xml/manual/status_cxxtr1.xml
===================================================================
---- libstdc++-v3/doc/xml/manual/status_cxxtr1.xml (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/doc/xml/manual/status_cxxtr1.xml (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/doc/xml/manual/status_cxxtr1.xml (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/doc/xml/manual/status_cxxtr1.xml (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,4 +1,4 @@
-<sect2 id="manual.intro.status.standard.tr1" xreflabel="Status C++ TR1">
+<sect2 id="status.iso.tr1" xreflabel="Status C++ TR1">
<sect2info>
Index: libstdc++-v3/doc/xml/manual/status_cxx1998.xml
===================================================================
---- libstdc++-v3/doc/xml/manual/status_cxx1998.xml (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/doc/xml/manual/status_cxx1998.xml (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/doc/xml/manual/status_cxx1998.xml (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/doc/xml/manual/status_cxx1998.xml (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,4 +1,4 @@
-<sect2 id="manual.intro.status.standard.1998" xreflabel="ISO C++ 1998">
+<sect2 id="status.iso.1998" xreflabel="ISO C++ 1998">
<para>
Index: libstdc++-v3/doc/xml/manual/appendix_contributing.xml
===================================================================
---- libstdc++-v3/doc/xml/manual/appendix_contributing.xml (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/doc/xml/manual/appendix_contributing.xml (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/doc/xml/manual/appendix_contributing.xml (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/doc/xml/manual/appendix_contributing.xml (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1102,7 +1102,7 @@
For validating the XML document, you'll need
something like <command>xmllint</command> and access to the
<para>
Index: libstdc++-v3/doc/xml/manual/status_cxx200x.xml
===================================================================
---- libstdc++-v3/doc/xml/manual/status_cxx200x.xml (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libstdc++-v3/doc/xml/manual/status_cxx200x.xml (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libstdc++-v3/doc/xml/manual/status_cxx200x.xml (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libstdc++-v3/doc/xml/manual/status_cxx200x.xml (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,4 +1,4 @@
-<sect2 id="manual.intro.status.standard.200x" xreflabel="Status C++ 200x">
+<sect2 id="status.iso.200x" xreflabel="Status C++ 200x">
<sect2info>
Index: configure.ac
===================================================================
---- configure.ac (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ configure.ac (.../branches/gcc-4_4-branch) (wersja 149126)
+--- configure.ac (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ configure.ac (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1250,6 +1250,7 @@
if test "x$with_gmp$with_gmp_include$with_gmp_lib" = x && test -d ${srcdir}/gmp; then
gmplibs='-L$$r/$(HOST_SUBDIR)/gmp/.libs -L$$r/$(HOST_SUBDIR)/gmp/_libs '"$gmplibs"
AC_ARG_WITH(host-libstdcxx, [ --with-host-libstdcxx=L Use linker arguments L to link with libstdc++
Index: libgfortran/Makefile.in
===================================================================
---- libgfortran/Makefile.in (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libgfortran/Makefile.in (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libgfortran/Makefile.in (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libgfortran/Makefile.in (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -416,9 +416,9 @@
io/size_from_kind.c io/transfer.c io/unit.c io/unix.c \
io/write.c io/fbuf.c intrinsics/associated.c \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/c99_functions.Tpo" "$(DEPDIR)/c99_functions.Plo"; else rm -f "$(DEPDIR)/c99_functions.Tpo"; exit 1; fi
Index: libgfortran/runtime/backtrace.c
===================================================================
---- libgfortran/runtime/backtrace.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libgfortran/runtime/backtrace.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libgfortran/runtime/backtrace.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libgfortran/runtime/backtrace.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -147,7 +147,7 @@
/* Write the list of addresses in hexadecimal format. */
/* Don't output an error message if something goes wrong, we'll simply
Index: libgfortran/runtime/error.c
===================================================================
---- libgfortran/runtime/error.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libgfortran/runtime/error.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libgfortran/runtime/error.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libgfortran/runtime/error.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -112,48 +112,11 @@
* Other error returns are reserved for the STOP statement with a numeric code.
*/
Index: libgfortran/intrinsics/bit_intrinsics.c
===================================================================
--- libgfortran/intrinsics/bit_intrinsics.c (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ libgfortran/intrinsics/bit_intrinsics.c (.../branches/gcc-4_4-branch) (wersja 149126)
++++ libgfortran/intrinsics/bit_intrinsics.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,138 @@
+/* Implementation of the bit intrinsics not implemented as GCC builtins.
+ Copyright (C) 2009 Free Software Foundation, Inc.
+#endif
Index: libgfortran/ChangeLog
===================================================================
---- libgfortran/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libgfortran/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libgfortran/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libgfortran/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,3 +1,364 @@
+2009-06-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
* GCC 4.4.0 released.
Index: libgfortran/gfortran.map
===================================================================
---- libgfortran/gfortran.map (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libgfortran/gfortran.map (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libgfortran/gfortran.map (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libgfortran/gfortran.map (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1090,6 +1090,13 @@
_gfortran_unpack1_char4;
} GFORTRAN_1.0;
_gfortran_f2c_specific__abs_c4;
Index: libgfortran/libgfortran.h
===================================================================
---- libgfortran/libgfortran.h (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libgfortran/libgfortran.h (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libgfortran/libgfortran.h (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libgfortran/libgfortran.h (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -631,12 +631,9 @@
extern void sys_exit (int) __attribute__ ((noreturn));
internal_proto(sys_exit);
Index: libgfortran/io/file_pos.c
===================================================================
---- libgfortran/io/file_pos.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libgfortran/io/file_pos.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libgfortran/io/file_pos.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libgfortran/io/file_pos.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -41,17 +41,17 @@
{
gfc_offset base;
else
Index: libgfortran/io/open.c
===================================================================
---- libgfortran/io/open.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libgfortran/io/open.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libgfortran/io/open.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libgfortran/io/open.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -150,7 +150,7 @@
static void
test_endfile (gfc_unit * u)
generate_error (&opp->common, LIBERROR_OS,
Index: libgfortran/io/list_read.c
===================================================================
---- libgfortran/io/list_read.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libgfortran/io/list_read.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libgfortran/io/list_read.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libgfortran/io/list_read.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -28,6 +28,7 @@
#include "io.h"
}
Index: libgfortran/io/read.c
===================================================================
---- libgfortran/io/read.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libgfortran/io/read.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libgfortran/io/read.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libgfortran/io/read.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -28,6 +28,7 @@
#include <errno.h>
#include <ctype.h>
Index: libgfortran/io/io.h
===================================================================
---- libgfortran/io/io.h (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libgfortran/io/io.h (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libgfortran/io/io.h (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libgfortran/io/io.h (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -46,35 +46,61 @@
typedef struct stream
internal_proto(free_ionml);
Index: libgfortran/io/unit.c
===================================================================
---- libgfortran/io/unit.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libgfortran/io/unit.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libgfortran/io/unit.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libgfortran/io/unit.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -535,6 +535,8 @@
u->file_len = strlen (stdin_name);
u->file = get_mem (u->file_len);
Index: libgfortran/io/fbuf.c
===================================================================
---- libgfortran/io/fbuf.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libgfortran/io/fbuf.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libgfortran/io/fbuf.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libgfortran/io/fbuf.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -28,8 +28,11 @@
#include <stdlib.h>
+}
Index: libgfortran/io/unix.c
===================================================================
---- libgfortran/io/unix.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libgfortran/io/unix.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libgfortran/io/unix.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libgfortran/io/unix.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -89,10 +89,6 @@
#endif
Index: libgfortran/io/transfer.c
===================================================================
---- libgfortran/io/transfer.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libgfortran/io/transfer.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libgfortran/io/transfer.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libgfortran/io/transfer.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -32,6 +32,7 @@
#include <string.h>
#include <assert.h>
+}
Index: libgfortran/io/intrinsics.c
===================================================================
---- libgfortran/io/intrinsics.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libgfortran/io/intrinsics.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libgfortran/io/intrinsics.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libgfortran/io/intrinsics.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -41,21 +41,26 @@
PREFIX(fgetc) (const int * unit, char * c, gfc_charlen_type c_len)
{
}
Index: libgfortran/io/format.c
===================================================================
---- libgfortran/io/format.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libgfortran/io/format.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libgfortran/io/format.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libgfortran/io/format.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -58,7 +58,7 @@
static const fnode colon_node = { FMT_COLON, 0, NULL, NULL, {{ 0, 0, 0 }}, 0,
NULL };
* Parenthesis nodes are incremented after the list has been
Index: libgfortran/io/write.c
===================================================================
---- libgfortran/io/write.c (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libgfortran/io/write.c (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libgfortran/io/write.c (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libgfortran/io/write.c (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -108,7 +108,7 @@
gfc_char4_t c;
static const uchar masks[6] = { 0x00, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC };
nml_carry = 1;
Index: libgfortran/io/write_float.def
===================================================================
---- libgfortran/io/write_float.def (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libgfortran/io/write_float.def (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libgfortran/io/write_float.def (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libgfortran/io/write_float.def (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -603,7 +603,7 @@
int d = f->u.real.d;\
int w = f->u.real.w;\
{ \
Index: libgfortran/Makefile.am
===================================================================
---- libgfortran/Makefile.am (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libgfortran/Makefile.am (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libgfortran/Makefile.am (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libgfortran/Makefile.am (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -58,6 +58,7 @@
intrinsics/abort.c \
intrinsics/access.c \
intrinsics/chmod.c \
Index: Makefile.def
===================================================================
---- Makefile.def (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ Makefile.def (.../branches/gcc-4_4-branch) (wersja 149126)
+--- Makefile.def (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ Makefile.def (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -65,7 +65,7 @@
host="none-${host_vendor}-${host_os}";
target="none-${host_vendor}-${host_os}"; };
target="none-${host_vendor}-${host_os}"; };
Index: ChangeLog
===================================================================
---- ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ ChangeLog (.../branches/gcc-4_4-branch) (wersja 149126)
+--- ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ ChangeLog (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,3 +1,11 @@
+2009-04-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
* GCC 4.4.0 released.
Index: contrib/ChangeLog
===================================================================
---- contrib/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ contrib/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149126)
+--- contrib/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ contrib/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,3 +1,17 @@
+2009-06-20 Gerald Pfeifer <gerald@pfeifer.com>
+
* GCC 4.4.0 released.
Index: contrib/test_summary
===================================================================
---- contrib/test_summary (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ contrib/test_summary (.../branches/gcc-4_4-branch) (wersja 149126)
+--- contrib/test_summary (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ contrib/test_summary (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,6 +1,7 @@
#! /bin/sh
sub(/,;t t $/, " ", configflags);
Index: contrib/dg-extract-results.sh
===================================================================
---- contrib/dg-extract-results.sh (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ contrib/dg-extract-results.sh (.../branches/gcc-4_4-branch) (wersja 149126)
+--- contrib/dg-extract-results.sh (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ contrib/dg-extract-results.sh (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -6,7 +6,7 @@
# The resulting file can be used with test result comparison scripts for
# results from tests that were run in parallel. See usage() below.
}
Index: libjava/Makefile.in
===================================================================
---- libjava/Makefile.in (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libjava/Makefile.in (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libjava/Makefile.in (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libjava/Makefile.in (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -72,6 +72,7 @@
$(top_srcdir)/contrib/aot-compile-rpm.in \
$(top_srcdir)/contrib/aot-compile.in \
@CREATE_JAVA_HOME_TRUE@ $(DESTDIR)$(SDK_INCLUDE_DIR)/linux); \
Index: libjava/configure.ac
===================================================================
---- libjava/configure.ac (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libjava/configure.ac (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libjava/configure.ac (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libjava/configure.ac (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -834,6 +834,8 @@
AC_CONFIG_LINKS(gnu/java/nio/channels/natFileChannelImpl.cc:gnu/java/nio/channels/natFileChannel${FILE-${PLATFORM}}.cc)
Index: libjava/classpath/tools/gnu/classpath/tools/gjdoc/Main.java
===================================================================
---- libjava/classpath/tools/gnu/classpath/tools/gjdoc/Main.java (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libjava/classpath/tools/gnu/classpath/tools/gjdoc/Main.java (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libjava/classpath/tools/gnu/classpath/tools/gjdoc/Main.java (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libjava/classpath/tools/gnu/classpath/tools/gjdoc/Main.java (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1825,16 +1825,7 @@
public String getGjdocVersion()
{
}
Index: libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java
===================================================================
---- libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libjava/classpath/tools/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -3736,20 +3736,7 @@
protected String getDocletVersion()
{
svn:mime-type = application/octet-stream
Index: libjava/classpath/ChangeLog.gcj
===================================================================
---- libjava/classpath/ChangeLog.gcj (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libjava/classpath/ChangeLog.gcj (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libjava/classpath/ChangeLog.gcj (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libjava/classpath/ChangeLog.gcj (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,3 +1,13 @@
+2009-06-16 Matthias Klose <doko@ubuntu.com>
+
* configure.ac: Detect xulrunner-1.9.
Index: libjava/ChangeLog
===================================================================
---- libjava/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libjava/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libjava/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libjava/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,3 +1,28 @@
+2009-05-11 Matthias Klose <doko@ubuntu.com>
+
* GCC 4.4.0 released.
Index: libjava/contrib/aotcompile.py.in
===================================================================
---- libjava/contrib/aotcompile.py.in (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libjava/contrib/aotcompile.py.in (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libjava/contrib/aotcompile.py.in (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libjava/contrib/aotcompile.py.in (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -177,11 +177,14 @@
def __init__(self, path):
Index: libjava/contrib/generate-cacerts.pl.in
===================================================================
--- libjava/contrib/generate-cacerts.pl.in (.../tags/gcc_4_4_0_release) (wersja 0)
-+++ libjava/contrib/generate-cacerts.pl.in (.../branches/gcc-4_4-branch) (wersja 149126)
++++ libjava/contrib/generate-cacerts.pl.in (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -0,0 +1,106 @@
+#!/usr/bin/perl
+
+}
Index: libjava/configure
===================================================================
---- libjava/configure (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libjava/configure (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libjava/configure (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libjava/configure (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -19141,6 +19141,8 @@
"include/platform.h" ) CONFIG_LINKS="$CONFIG_LINKS include/platform.h:include/$PLATFORMH" ;;
Index: libjava/Makefile.am
===================================================================
---- libjava/Makefile.am (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libjava/Makefile.am (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libjava/Makefile.am (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libjava/Makefile.am (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -305,8 +305,15 @@
## compiled.
EXTRA_libgcj_la_SOURCES = java/lang/Object.java
$(DESTDIR)$(SDK_INCLUDE_DIR)/linux); \
Index: libcpp/po/ChangeLog
===================================================================
---- libcpp/po/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libcpp/po/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libcpp/po/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libcpp/po/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,3 +1,7 @@
+2009-04-22 Joseph Myers <joseph@codesourcery.com>
+
* GCC 4.4.0 released.
Index: libcpp/po/cpplib.pot
===================================================================
---- libcpp/po/cpplib.pot (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ libcpp/po/cpplib.pot (.../branches/gcc-4_4-branch) (wersja 149126)
+--- libcpp/po/cpplib.pot (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ libcpp/po/cpplib.pot (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
msgstr ""
Index: gnattools/Makefile.in
===================================================================
---- gnattools/Makefile.in (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gnattools/Makefile.in (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gnattools/Makefile.in (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gnattools/Makefile.in (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -164,7 +164,7 @@
-(cd $(GCC_DIR)/ada/tools; $(LN_S) ../sdefault.adb .)
-$(foreach PAIR,$(TOOLS_TARGET_PAIRS), \
Index: gnattools/ChangeLog
===================================================================
---- gnattools/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149126)
-+++ gnattools/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149126)
+--- gnattools/ChangeLog (.../tags/gcc_4_4_0_release) (wersja 149530)
++++ gnattools/ChangeLog (.../branches/gcc-4_4-branch) (wersja 149530)
@@ -1,3 +1,9 @@
+2009-05-18 Bechir Zalila <bechir.zalila@gmail.com>
+
+++ /dev/null
-Index: gcc/doc/invoke.texi
-===================================================================
---- gcc/doc/invoke.texi (.../tags/gcc_4_4_0_release) (revision 146537)
-+++ gcc/doc/invoke.texi (.../branches/ix86/gcc-4_4-branch) (revision 146537)
-@@ -584,7 +584,7 @@
- -m96bit-long-double -mregparm=@var{num} -msseregparm @gol
- -mveclibabi=@var{type} -mpc32 -mpc64 -mpc80 -mstackrealign @gol
- -momit-leaf-frame-pointer -mno-red-zone -mno-tls-direct-seg-refs @gol
---mcmodel=@var{code-model} @gol
-+-mcmodel=@var{code-model} -mabi=@var{name} @gol
- -m32 -m64 -mlarge-data-threshold=@var{num} @gol
- -mfused-madd -mno-fused-madd -msse2avx}
-
-@@ -10959,6 +10959,9 @@
- @item core2
- Intel Core2 CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3 and SSSE3
- instruction set support.
-+@item atom
-+Intel Atom CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3 and SSSE3
-+instruction set support.
- @item k6
- AMD K6 CPU with MMX instruction set support.
- @item k6-2, k6-3
-@@ -11394,6 +11397,16 @@
- @option{-funsafe-math-optimizations} have to be enabled. A SVML or ACML ABI
- compatible library will have to be specified at link time.
-
-+@item -mabi=@var{name}
-+@opindex mabi
-+Generate code for the specified calling convention. Permissible values
-+are: @samp{sysv} for the ABI used on GNU/Linux and other systems and
-+@samp{ms} for the Microsoft ABI. The default is to use the Microsoft
-+ABI when targeting Windows. On all other systems, the default is the
-+SYSV ABI. You can control this behavior for a specific function by
-+using the function attribute @samp{ms_abi}/@samp{sysv_abi}.
-+@xref{Function Attributes}.
-+
- @item -mpush-args
- @itemx -mno-push-args
- @opindex mpush-args
-Index: gcc/doc/md.texi
-===================================================================
---- gcc/doc/md.texi (.../tags/gcc_4_4_0_release) (revision 146537)
-+++ gcc/doc/md.texi (.../branches/ix86/gcc-4_4-branch) (revision 146537)
-@@ -7506,6 +7506,11 @@
- recognize complicated bypasses, e.g.@: when the consumer is only an address
- of insn @samp{store} (not a stored value).
-
-+If there are more one bypass with the same output and input insns, the
-+chosen bypass is the first bypass with a guard in description whose
-+guard function returns nonzero. If there is no such bypass, then
-+bypass without the guard function is chosen.
-+
- @findex exclusion_set
- @findex presence_set
- @findex final_presence_set
-Index: gcc/genautomata.c
-===================================================================
---- gcc/genautomata.c (.../tags/gcc_4_4_0_release) (revision 146537)
-+++ gcc/genautomata.c (.../branches/ix86/gcc-4_4-branch) (revision 146537)
-@@ -1,5 +1,5 @@
- /* Pipeline hazard description translator.
-- Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008
-+ Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009
- Free Software Foundation, Inc.
-
- Written by Vladimir Makarov <vmakarov@redhat.com>
-@@ -22,21 +22,25 @@
-
- /* References:
-
-- 1. Detecting pipeline structural hazards quickly. T. Proebsting,
-+ 1. The finite state automaton based pipeline hazard recognizer and
-+ instruction scheduler in GCC. V. Makarov. Proceedings of GCC
-+ summit, 2003.
-+
-+ 2. Detecting pipeline structural hazards quickly. T. Proebsting,
- C. Fraser. Proceedings of ACM SIGPLAN-SIGACT Symposium on
- Principles of Programming Languages, pages 280--286, 1994.
-
- This article is a good start point to understand usage of finite
- state automata for pipeline hazard recognizers. But I'd
-- recommend the 2nd article for more deep understanding.
-+ recommend the 1st and 3rd article for more deep understanding.
-
-- 2. Efficient Instruction Scheduling Using Finite State Automata:
-+ 3. Efficient Instruction Scheduling Using Finite State Automata:
- V. Bala and N. Rubin, Proceedings of MICRO-28. This is the best
- article about usage of finite state automata for pipeline hazard
- recognizers.
-
-- The current implementation is different from the 2nd article in the
-- following:
-+ The current implementation is described in the 1st article and it
-+ is different from the 3rd article in the following:
-
- 1. New operator `|' (alternative) is permitted in functional unit
- reservation which can be treated deterministically and
-@@ -463,7 +467,10 @@
- insn. */
- int insn_num;
- /* The following field value is list of bypasses in which given insn
-- is output insn. */
-+ is output insn. Bypasses with the same input insn stay one after
-+ another in the list in the same order as their occurrences in the
-+ description but the bypass without a guard stays always the last
-+ in a row of bypasses with the same input insn. */
- struct bypass_decl *bypass_list;
-
- /* The following fields are defined by automaton generator. */
-@@ -2367,18 +2374,67 @@
- }
-
-
--/* The function searches for bypass with given IN_INSN_RESERV in given
-- BYPASS_LIST. */
--static struct bypass_decl *
--find_bypass (struct bypass_decl *bypass_list,
-- struct insn_reserv_decl *in_insn_reserv)
-+/* The function inserts BYPASS in the list of bypasses of the
-+ corresponding output insn. The order of bypasses in the list is
-+ decribed in a comment for member `bypass_list' (see above). If
-+ there is already the same bypass in the list the function reports
-+ this and does nothing. */
-+static void
-+insert_bypass (struct bypass_decl *bypass)
- {
-- struct bypass_decl *bypass;
--
-- for (bypass = bypass_list; bypass != NULL; bypass = bypass->next)
-- if (bypass->in_insn_reserv == in_insn_reserv)
-- break;
-- return bypass;
-+ struct bypass_decl *curr, *last;
-+ struct insn_reserv_decl *out_insn_reserv = bypass->out_insn_reserv;
-+ struct insn_reserv_decl *in_insn_reserv = bypass->in_insn_reserv;
-+
-+ for (curr = out_insn_reserv->bypass_list, last = NULL;
-+ curr != NULL;
-+ last = curr, curr = curr->next)
-+ if (curr->in_insn_reserv == in_insn_reserv)
-+ {
-+ if ((bypass->bypass_guard_name != NULL
-+ && curr->bypass_guard_name != NULL
-+ && ! strcmp (bypass->bypass_guard_name, curr->bypass_guard_name))
-+ || bypass->bypass_guard_name == curr->bypass_guard_name)
-+ {
-+ if (bypass->bypass_guard_name == NULL)
-+ {
-+ if (!w_flag)
-+ error ("the same bypass `%s - %s' is already defined",
-+ bypass->out_insn_name, bypass->in_insn_name);
-+ else
-+ warning (0, "the same bypass `%s - %s' is already defined",
-+ bypass->out_insn_name, bypass->in_insn_name);
-+ }
-+ else if (!w_flag)
-+ error ("the same bypass `%s - %s' (guard %s) is already defined",
-+ bypass->out_insn_name, bypass->in_insn_name,
-+ bypass->bypass_guard_name);
-+ else
-+ warning
-+ (0, "the same bypass `%s - %s' (guard %s) is already defined",
-+ bypass->out_insn_name, bypass->in_insn_name,
-+ bypass->bypass_guard_name);
-+ return;
-+ }
-+ if (curr->bypass_guard_name == NULL)
-+ break;
-+ if (curr->next == NULL || curr->next->in_insn_reserv != in_insn_reserv)
-+ {
-+ last = curr;
-+ break;
-+ }
-+
-+ }
-+ if (last == NULL)
-+ {
-+ bypass->next = out_insn_reserv->bypass_list;
-+ out_insn_reserv->bypass_list = bypass;
-+ }
-+ else
-+ {
-+ bypass->next = last->next;
-+ last->next = bypass;
-+ }
- }
-
- /* The function processes pipeline description declarations, checks
-@@ -2391,7 +2447,6 @@
- decl_t decl_in_table;
- decl_t out_insn_reserv;
- decl_t in_insn_reserv;
-- struct bypass_decl *bypass;
- int automaton_presence;
- int i;
-
-@@ -2514,36 +2569,7 @@
- = DECL_INSN_RESERV (out_insn_reserv);
- DECL_BYPASS (decl)->in_insn_reserv
- = DECL_INSN_RESERV (in_insn_reserv);
-- bypass
-- = find_bypass (DECL_INSN_RESERV (out_insn_reserv)->bypass_list,
-- DECL_BYPASS (decl)->in_insn_reserv);
-- if (bypass != NULL)
-- {
-- if (DECL_BYPASS (decl)->latency == bypass->latency)
-- {
-- if (!w_flag)
-- error
-- ("the same bypass `%s - %s' is already defined",
-- DECL_BYPASS (decl)->out_insn_name,
-- DECL_BYPASS (decl)->in_insn_name);
-- else
-- warning
-- (0, "the same bypass `%s - %s' is already defined",
-- DECL_BYPASS (decl)->out_insn_name,
-- DECL_BYPASS (decl)->in_insn_name);
-- }
-- else
-- error ("bypass `%s - %s' is already defined",
-- DECL_BYPASS (decl)->out_insn_name,
-- DECL_BYPASS (decl)->in_insn_name);
-- }
-- else
-- {
-- DECL_BYPASS (decl)->next
-- = DECL_INSN_RESERV (out_insn_reserv)->bypass_list;
-- DECL_INSN_RESERV (out_insn_reserv)->bypass_list
-- = DECL_BYPASS (decl);
-- }
-+ insert_bypass (DECL_BYPASS (decl));
- }
- }
- }
-@@ -8159,19 +8185,32 @@
- (advance_cycle_insn_decl)->insn_num));
- fprintf (output_file, " case %d:\n",
- bypass->in_insn_reserv->insn_num);
-- if (bypass->bypass_guard_name == NULL)
-- fprintf (output_file, " return %d;\n",
-- bypass->latency);
-- else
-+ for (;;)
- {
-- fprintf (output_file,
-- " if (%s (%s, %s))\n",
-- bypass->bypass_guard_name, INSN_PARAMETER_NAME,
-- INSN2_PARAMETER_NAME);
-- fprintf (output_file,
-- " return %d;\n break;\n",
-- bypass->latency);
-+ if (bypass->bypass_guard_name == NULL)
-+ {
-+ gcc_assert (bypass->next == NULL
-+ || (bypass->in_insn_reserv
-+ != bypass->next->in_insn_reserv));
-+ fprintf (output_file, " return %d;\n",
-+ bypass->latency);
-+ }
-+ else
-+ {
-+ fprintf (output_file,
-+ " if (%s (%s, %s))\n",
-+ bypass->bypass_guard_name, INSN_PARAMETER_NAME,
-+ INSN2_PARAMETER_NAME);
-+ fprintf (output_file, " return %d;\n",
-+ bypass->latency);
-+ }
-+ if (bypass->next == NULL
-+ || bypass->in_insn_reserv != bypass->next->in_insn_reserv)
-+ break;
-+ bypass = bypass->next;
- }
-+ if (bypass->bypass_guard_name != NULL)
-+ fprintf (output_file, " break;\n");
- }
- fputs (" }\n break;\n", output_file);
- }
-Index: gcc/testsuite/gcc.target/x86_64/abi/callabi/vaarg-4a.c
-===================================================================
---- gcc/testsuite/gcc.target/x86_64/abi/callabi/vaarg-4a.c (.../tags/gcc_4_4_0_release) (revision 0)
-+++ gcc/testsuite/gcc.target/x86_64/abi/callabi/vaarg-4a.c (.../branches/ix86/gcc-4_4-branch) (revision 146537)
-@@ -0,0 +1,24 @@
-+/* Test for cross x86_64<->w64 abi va_list calls. */
-+/* { dg-do run { target i?86-*-linux* x86_64-*-linux* } } */
-+/* { dg-options "-O2 -mabi=ms -std=gnu99 -fno-builtin" } */
-+/* { dg-additional-sources "vaarg-4b.c" } */
-+
-+extern __SIZE_TYPE__ __attribute__ ((sysv_abi)) strlen (const char *);
-+extern int __attribute__ ((sysv_abi)) sprintf (char *,const char *, ...);
-+extern void __attribute__ ((sysv_abi)) abort (void);
-+
-+extern void do_cpy (char *, ...);
-+
-+int __attribute__ ((sysv_abi))
-+main ()
-+{
-+ char s[256];
-+
-+ do_cpy (s, "1","2","3","4", "5", "6", "7", "");
-+
-+ if (s[0] != '1' || s[1] !='2' || s[2] != '3' || s[3] != '4'
-+ || s[4] != '5' || s[5] != '6' || s[6] != '7' || s[7] != 0)
-+ abort ();
-+
-+ return 0;
-+}
-Index: gcc/testsuite/gcc.target/x86_64/abi/callabi/vaarg-4b.c
-===================================================================
---- gcc/testsuite/gcc.target/x86_64/abi/callabi/vaarg-4b.c (.../tags/gcc_4_4_0_release) (revision 0)
-+++ gcc/testsuite/gcc.target/x86_64/abi/callabi/vaarg-4b.c (.../branches/ix86/gcc-4_4-branch) (revision 146537)
-@@ -0,0 +1,31 @@
-+/* Test for cross x86_64<->w64 abi va_list calls. */
-+/* { dg-options "-O2 -mabi=ms -std=gnu99 -fno-builtin" } */
-+
-+#include <stdarg.h>
-+
-+extern __SIZE_TYPE__ __attribute__ ((sysv_abi)) strlen (const char *);
-+extern int __attribute__ ((sysv_abi)) sprintf (char *, const char *, ...);
-+
-+static void
-+vdo_cpy (char *s, va_list argp)
-+{
-+ __SIZE_TYPE__ len;
-+ char *r = s;
-+ char *e;
-+ *r = 0;
-+ for (;;) {
-+ e = va_arg (argp, char *);
-+ if (*e == 0) break;
-+ sprintf (r,"%s", e);
-+ r += strlen (r);
-+ }
-+}
-+
-+void
-+do_cpy (char *s, ...)
-+{
-+ va_list argp;
-+ va_start (argp, s);
-+ vdo_cpy (s, argp);
-+ va_end (argp);
-+}
-Index: gcc/testsuite/gcc.target/x86_64/abi/callabi/vaarg-5a.c
-===================================================================
---- gcc/testsuite/gcc.target/x86_64/abi/callabi/vaarg-5a.c (.../tags/gcc_4_4_0_release) (revision 0)
-+++ gcc/testsuite/gcc.target/x86_64/abi/callabi/vaarg-5a.c (.../branches/ix86/gcc-4_4-branch) (revision 146537)
-@@ -0,0 +1,17 @@
-+/* Test for cross x86_64<->w64 abi va_list calls. */
-+/* { dg-do run { target i?86-*-linux* x86_64-*-linux* } } */
-+/* { dg-options "-O2 -mabi=ms -std=gnu99 -fno-builtin" } */
-+/* { dg-additional-sources "vaarg-5b.c" } */
-+
-+extern void __attribute__ ((sysv_abi)) abort (void);
-+extern int fct2 (int, ...);
-+
-+#define SZ_ARGS 1ll,2ll,3ll,4ll,5ll,6ll,7ll,0ll
-+
-+int __attribute__ ((sysv_abi))
-+main()
-+{
-+ if (fct2 (-1, SZ_ARGS) != 0)
-+ abort ();
-+ return 0;
-+}
-Index: gcc/testsuite/gcc.target/x86_64/abi/callabi/vaarg-5b.c
-===================================================================
---- gcc/testsuite/gcc.target/x86_64/abi/callabi/vaarg-5b.c (.../tags/gcc_4_4_0_release) (revision 0)
-+++ gcc/testsuite/gcc.target/x86_64/abi/callabi/vaarg-5b.c (.../branches/ix86/gcc-4_4-branch) (revision 146537)
-@@ -0,0 +1,37 @@
-+/* Test for cross x86_64<->w64 abi va_list calls. */
-+/* { dg-options "-O2 -mabi=ms -std=gnu99 -fno-builtin" } */
-+
-+#include <stdarg.h>
-+
-+#define SZ_ARGS 1ll,2ll,3ll,4ll,5ll,6ll,7ll,0ll
-+
-+static int __attribute__ ((sysv_abi))
-+fct1 (va_list argp, ...)
-+{
-+ long long p1,p2;
-+ int ret = 1;
-+ __builtin_sysv_va_list argp_2;
-+
-+ __builtin_sysv_va_start (argp_2, argp);
-+ do {
-+ p1 = va_arg (argp_2, long long);
-+ p2 = va_arg (argp, long long);
-+ if (p1 != p2)
-+ ret = 0;
-+ } while (ret && p1 != 0);
-+ __builtin_sysv_va_end (argp_2);
-+
-+ return ret;
-+}
-+
-+int
-+fct2 (int dummy, ...)
-+{
-+ va_list argp;
-+ int ret = dummy;
-+
-+ va_start (argp, dummy);
-+ ret += fct1 (argp, SZ_ARGS);
-+ va_end (argp);
-+ return ret;
-+}
-Index: gcc/testsuite/gcc.target/x86_64/abi/callabi/func-indirect-2a.c
-===================================================================
---- gcc/testsuite/gcc.target/x86_64/abi/callabi/func-indirect-2a.c (.../tags/gcc_4_4_0_release) (revision 0)
-+++ gcc/testsuite/gcc.target/x86_64/abi/callabi/func-indirect-2a.c (.../branches/ix86/gcc-4_4-branch) (revision 146537)
-@@ -0,0 +1,17 @@
-+/* Test for cross x86_64<->w64 abi standard calls via variable. */
-+/* { dg-do run { target i?86-*-linux* x86_64-*-linux* } } */
-+/* { dg-options "-O2 -mabi=ms -std=gnu99 -ffast-math -fno-builtin" } */
-+/* { dg-additional-sources "func-indirect-2b.c" } */
-+
-+extern void __attribute__ ((sysv_abi)) abort (void);
-+typedef int (*func)(void *, char *, char *, short, long long);
-+extern func get_callback (void);
-+
-+int __attribute__ ((sysv_abi))
-+main ()
-+{
-+ func callme = get_callback ();
-+ if (callme (0, 0, 0, 0x1234, 0x1234567890abcdefLL))
-+ abort ();
-+ return 0;
-+}
-Index: gcc/testsuite/gcc.target/x86_64/abi/callabi/func-2a.c
-===================================================================
---- gcc/testsuite/gcc.target/x86_64/abi/callabi/func-2a.c (.../tags/gcc_4_4_0_release) (revision 0)
-+++ gcc/testsuite/gcc.target/x86_64/abi/callabi/func-2a.c (.../branches/ix86/gcc-4_4-branch) (revision 146537)
-@@ -0,0 +1,27 @@
-+/* Test for cross x86_64<->w64 abi standard calls. */
-+/* { dg-do run { target i?86-*-linux* x86_64-*-linux* } } */
-+/* { dg-options "-O2 -mabi=ms -std=gnu99 -ffast-math -fno-builtin" } */
-+/* { dg-additional-sources "func-2b.c" } */
-+
-+extern void __attribute__ ((sysv_abi)) abort (void);
-+long double func_cross (long double, double, float, long, int, char);
-+
-+long double __attribute__ ((sysv_abi))
-+func_native (long double a, double b, float c, long d, int e, char f)
-+{
-+ long double ret;
-+ ret = a + (long double) b + (long double) c;
-+ ret *= (long double) (d + (long) e);
-+ if (f>0)
-+ ret += func_native (a,b,c,d,e,-f);
-+ return ret;
-+}
-+
-+int __attribute__ ((sysv_abi))
-+main ()
-+{
-+ if (func_cross (1.0,2.0,3.0,1,2,3)
-+ != func_native (1.0,2.0,3.0,1,2,3))
-+ abort ();
-+ return 0;
-+}
-Index: gcc/testsuite/gcc.target/x86_64/abi/callabi/func-indirect-2b.c
-===================================================================
---- gcc/testsuite/gcc.target/x86_64/abi/callabi/func-indirect-2b.c (.../tags/gcc_4_4_0_release) (revision 0)
-+++ gcc/testsuite/gcc.target/x86_64/abi/callabi/func-indirect-2b.c (.../branches/ix86/gcc-4_4-branch) (revision 146537)
-@@ -0,0 +1,24 @@
-+/* Test for cross x86_64<->w64 abi standard calls via variable. */
-+/* { dg-options "-O2 -mabi=ms -std=gnu99 -ffast-math -fno-builtin" } */
-+
-+typedef int (*func)(void *, char *, char *, short, long long);
-+
-+static int
-+callback (void *ptr, char *string1, char *string2, short number,
-+ long long rand)
-+{
-+ if (ptr != 0
-+ || string1 != 0
-+ || string2 != 0
-+ || number != 0x1234
-+ || rand != 0x1234567890abcdefLL)
-+ return 1;
-+ else
-+ return 0;
-+}
-+
-+func
-+get_callback (void)
-+{
-+ return callback;
-+}
-Index: gcc/testsuite/gcc.target/x86_64/abi/callabi/func-2b.c
-===================================================================
---- gcc/testsuite/gcc.target/x86_64/abi/callabi/func-2b.c (.../tags/gcc_4_4_0_release) (revision 0)
-+++ gcc/testsuite/gcc.target/x86_64/abi/callabi/func-2b.c (.../branches/ix86/gcc-4_4-branch) (revision 146537)
-@@ -0,0 +1,13 @@
-+/* Test for cross x86_64<->w64 abi standard calls. */
-+/* { dg-options "-mabi=ms -std=gnu99 -ffast-math -fno-builtin" } */
-+
-+long double func_cross (long double a, double b, float c, long d, int e,
-+ char f)
-+{
-+ long double ret;
-+ ret = a + (long double) b + (long double) c;
-+ ret *= (long double) (d + (long) e);
-+ if (f>0)
-+ ret += func_cross (a,b,c,d,e,-f);
-+ return ret;
-+}
-
-Property changes on: gcc/testsuite/gcc.target/x86_64/abi/callabi
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-Index: gcc/testsuite/ChangeLog.ix86
-===================================================================
---- gcc/testsuite/ChangeLog.ix86 (.../tags/gcc_4_4_0_release) (revision 0)
-+++ gcc/testsuite/ChangeLog.ix86 (.../branches/ix86/gcc-4_4-branch) (revision 146537)
-@@ -0,0 +1,14 @@
-+2009-03-27 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ Backport from mainline:
-+ 2009-03-27 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ PR target/39472
-+ * gcc.target/x86_64/abi/callabi/func-2a.c: New.
-+ * gcc.target/x86_64/abi/callabi/func-2b.c: Likewise.
-+ * gcc.target/x86_64/abi/callabi/func-indirect-2a.c: Likewise.
-+ * gcc.target/x86_64/abi/callabi/func-indirect-2b.c: Likewise.
-+ * gcc.target/x86_64/abi/callabi/vaarg-4a.c: Likewise.
-+ * gcc.target/x86_64/abi/callabi/vaarg-4b.c: Likewise.
-+ * gcc.target/x86_64/abi/callabi/vaarg-5a.c: Likewise.
-+ * gcc.target/x86_64/abi/callabi/vaarg-5b.c: Likewise.
-
-Property changes on: gcc/testsuite/gcc.dg/torture/pr36227.c
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-
-Property changes on: gcc/testsuite/g++.dg/cpp0x/decltype-38655.C
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-
-Property changes on: gcc/testsuite/ChangeLog-2008
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-
-Property changes on: gcc/cp/ChangeLog-2007
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-
-Property changes on: gcc/cp/ChangeLog-2008
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-Index: gcc/rtl.def
-===================================================================
---- gcc/rtl.def (.../tags/gcc_4_4_0_release) (revision 146537)
-+++ gcc/rtl.def (.../branches/ix86/gcc-4_4-branch) (revision 146537)
-@@ -1088,7 +1088,11 @@
- guard for the bypass. The function will get the two insns as
- parameters. If the function returns zero the bypass will be
- ignored for this case. Additional guard is necessary to recognize
-- complicated bypasses, e.g. when consumer is load address. */
-+ complicated bypasses, e.g. when consumer is load address. If there
-+ are more one bypass with the same output and input insns, the
-+ chosen bypass is the first bypass with a guard in description whose
-+ guard function returns nonzero. If there is no such bypass, then
-+ bypass without the guard function is chosen. */
- DEF_RTL_EXPR(DEFINE_BYPASS, "define_bypass", "issS", RTX_EXTRA)
-
- /* (define_automaton string) describes names of automata generated and
-
-Property changes on: gcc/ChangeLog-2008
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-Index: gcc/ChangeLog.ix86
-===================================================================
---- gcc/ChangeLog.ix86 (.../tags/gcc_4_4_0_release) (revision 0)
-+++ gcc/ChangeLog.ix86 (.../branches/ix86/gcc-4_4-branch) (revision 146537)
-@@ -0,0 +1,171 @@
-+2009-04-20 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ Backport from mainline:
-+ 2009-04-20 Joey Ye <joey.ye@intel.com>
-+ Xuepeng Guo <xuepeng.guo@intel.com>
-+ H.J. Lu <hongjiu.lu@intel.com>
-+
-+ * config/i386/atom.md: Add bypasses with ix86_dep_by_shift_count.
-+
-+ * config/i386/i386.c (LEA_SEARCH_THRESHOLD): New macro.
-+ (IX86_LEA_PRIORITY): Likewise.
-+ (distance_non_agu_define): New function.
-+ (distance_agu_use): Likewise.
-+ (ix86_lea_for_add_ok): Likewise.
-+ (ix86_dep_by_shift_count): Likewise.
-+
-+ * config/i386/i386.md: Call ix86_lea_for_add_ok to decide we
-+ should split for LEA.
-+
-+ * config/i386/i386-protos.h (ix86_lea_for_add_ok): Declare new
-+ function.
-+ (ix86_dep_by_shift_count): Likewise.
-+
-+2009-04-07 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ Backport from mainline:
-+ 2009-04-07 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ * doc/invoke.texi: Document Atom support.
-+
-+2009-04-06 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ * config/i386/i386.md: Revert 2 accidental checkins.
-+
-+2009-04-06 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ Backport from mainline:
-+ 2009-04-06 Joey Ye <joey.ye@intel.com>
-+ Xuepeng Guo <xuepeng.guo@intel.com>
-+ H.J. Lu <hongjiu.lu@intel.com>
-+
-+ Atom pipeline model, tuning and insn selection.
-+ * config.gcc (atom): Add atom config options and target.
-+
-+ * config/i386/atom.md: New.
-+
-+ * config/i386/i386.c (atom_cost): New cost.
-+ (m_ATOM): New macro flag.
-+ (initial_ix86_tune_features): Set m_ATOM.
-+ (x86_accumulate_outgoing_args): Likewise.
-+ (x86_arch_always_fancy_math_387): Likewise.
-+ (processor_target): Add Atom cost.
-+ (cpu_names): Add Atom cpu name.
-+ (override_options): Set Atom ISA.
-+ (ix86_issue_rate): New case PROCESSOR_ATOM.
-+ (ix86_adjust_cost): Likewise.
-+
-+ * config/i386/i386.h (TARGET_ATOM): New target macro.
-+ (ix86_tune_indices): Add X86_TUNE_OPT_AGU.
-+ (TARGET_OPT_AGU): New target option.
-+ (target_cpu_default): Add TARGET_CPU_DEFAULT_atom.
-+ (processor_type): Add PROCESSOR_ATOM.
-+
-+ * config/i386/i386.md (cpu): Add new value "atom".
-+ (use_carry, movu): New attr.
-+ (atom.md): Include atom.md.
-+ (adddi3_carry_rex64): Set attr "use_carry".
-+ (addqi3_carry): Likewise.
-+ (addhi3_carry): Likewise.
-+ (addsi3_carry): Likewise.
-+ (*addsi3_carry_zext): Likewise.
-+ (subdi3_carry_rex64): Likewise.
-+ (subqi3_carry): Likewise.
-+ (subhi3_carry): Likewise.
-+ (subsi3_carry): Likewise.
-+ (x86_movdicc_0_m1_rex64): Likewise.
-+ (*x86_movdicc_0_m1_se): Likewise.
-+ (x86_movsicc_0_m1): Likewise.
-+ (*x86_movsicc_0_m1_se): Likewise.
-+ (*adddi_1_rex64): Emit add insn as much as possible.
-+ (*addsi_1): Likewise.
-+ (return_internal): Set atom_unit.
-+ (return_internal_long): Likewise.
-+ (return_pop_internal): Likewise.
-+ (*rcpsf2_sse): Set atom_sse_attr attr.
-+ (*qrt<mode>2_sse): Likewise.
-+
-+2009-04-02 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ Backport from mainline:
-+ 2009-04-02 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ * config/i386/i386.c (ix86_abi): Move initialization to ...
-+ (override_options): Here.
-+
-+2009-03-29 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ Backport from mainline:
-+ 2009-03-29 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ * config/i386/i386-protos.h (ix86_agi_dependent): New.
-+
-+ * config/i386/i386.c (ix86_agi_dependent): Rewrite.
-+ (ix86_adjust_cost): Updated.
-+
-+2009-03-27 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ Backport from mainline:
-+ 2009-03-27 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ PR target/39472
-+ * config/i386/i386.c (ix86_abi): New.
-+ (override_options): Handle -mabi=.
-+ (ix86_function_arg_regno_p): Replace DEFAULT_ABI with
-+ ix86_abi.
-+ (ix86_call_abi_override): Likewise.
-+ (init_cumulative_args): Likewise.
-+ (function_arg_advance): Likewise.
-+ (function_arg_64): Likewise.
-+ (function_arg): Likewise.
-+ (ix86_pass_by_reference): Likewise.
-+ (ix86_function_value_regno_p): Likewise.
-+ (ix86_build_builtin_va_list_abi): Likewise.
-+ (setup_incoming_varargs_64): Likewise.
-+ (is_va_list_char_pointer): Likewise.
-+ (ix86_init_machine_status): Likewise.
-+ (ix86_reg_parm_stack_space): Use enum calling_abi on
-+ call_abi.
-+ (ix86_function_type_abi): Return enum calling_abi. Rewrite
-+ for 64bit. Replace DEFAULT_ABI with ix86_abi.
-+ (ix86_function_abi): Make it static and return enum
-+ calling_abi.
-+ (ix86_cfun_abi): Return enum calling_abi. Replace DEFAULT_ABI
-+ with ix86_abi.
-+ (ix86_fn_abi_va_list): Updated.
-+
-+ * config/i386/i386.h (ix86_abi): New.
-+ (STACK_BOUNDARY): Replace DEFAULT_ABI with ix86_abi.
-+ (CONDITIONAL_REGISTER_USAGE): Likewise.
-+ (CUMULATIVE_ARGS): Change call_abi type to enum calling_abi.
-+ (machine_function): Likewise.
-+
-+ * config/i386/i386.md (untyped_call): Replace DEFAULT_ABI
-+ with ix86_abi.
-+ * config/i386/cygming.h (TARGET_64BIT_MS_ABI): Likewise.
-+ (STACK_BOUNDARY): Likewise.
-+ * config/i386/mingw32.h (EXTRA_OS_CPP_BUILTINS): Likewise.
-+
-+ * config/i386/i386.opt (mabi=): New.
-+
-+ * config/i386/i386-protos.h (ix86_cfun_abi): Changed to
-+ return enum calling_abi.
-+ (ix86_function_type_abi): Likewise.
-+ (ix86_function_abi): Removed.
-+
-+2009-03-27 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ Backport from mainline:
-+ 2009-03-27 Vladimir Makarov <vmakarov@redhat.com>
-+
-+ * genautomata.c: Add a new year to the copyright. Add a new
-+ reference.
-+ (struct insn_reserv_decl): Add comments for member bypass_list.
-+ (find_bypass): Remove.
-+ (insert_bypass): New.
-+ (process_decls): Use insert_bypass.
-+ (output_internal_insn_latency_func): Output all bypasses with the
-+ same input insn in one switch case.
-+
-+ * rtl.def (define_bypass): Describe bypass choice.
-+ * doc/md.texi (define_bypass): Ditto.
-Index: gcc/config.gcc
-===================================================================
---- gcc/config.gcc (.../tags/gcc_4_4_0_release) (revision 146537)
-+++ gcc/config.gcc (.../branches/ix86/gcc-4_4-branch) (revision 146537)
-@@ -1088,7 +1088,7 @@
- tmake_file="${tmake_file} i386/t-linux64"
- need_64bit_hwint=yes
- case X"${with_cpu}" in
-- Xgeneric|Xcore2|Xnocona|Xx86-64|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx)
-+ Xgeneric|Xatom|Xcore2|Xnocona|Xx86-64|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx)
- ;;
- X)
- if test x$with_cpu_64 = x; then
-@@ -1097,7 +1097,7 @@
- ;;
- *)
- echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
-- echo "generic core2 nocona x86-64 amdfam10 barcelona k8 opteron athlon64 athlon-fx" 1>&2
-+ echo "generic atom core2 nocona x86-64 amdfam10 barcelona k8 opteron athlon64 athlon-fx" 1>&2
- exit 1
- ;;
- esac
-@@ -1202,7 +1202,7 @@
- # libgcc/configure.ac instead.
- need_64bit_hwint=yes
- case X"${with_cpu}" in
-- Xgeneric|Xcore2|Xnocona|Xx86-64|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx)
-+ Xgeneric|Xatom|Xcore2|Xnocona|Xx86-64|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx)
- ;;
- X)
- if test x$with_cpu_64 = x; then
-@@ -1211,7 +1211,7 @@
- ;;
- *)
- echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
-- echo "generic core2 nocona x86-64 amdfam10 barcelona k8 opteron athlon64 athlon-fx" 1>&2
-+ echo "generic atom core2 nocona x86-64 amdfam10 barcelona k8 opteron athlon64 athlon-fx" 1>&2
- exit 1
- ;;
- esac
-@@ -2805,7 +2805,7 @@
- esac
- # OK
- ;;
-- "" | amdfam10 | barcelona | k8 | opteron | athlon64 | athlon-fx | nocona | core2 | generic)
-+ "" | amdfam10 | barcelona | k8 | opteron | athlon64 | athlon-fx | nocona | core2 | atom | generic)
- # OK
- ;;
- *)
-Index: gcc/config/i386/i386.h
-===================================================================
---- gcc/config/i386/i386.h (.../tags/gcc_4_4_0_release) (revision 146537)
-+++ gcc/config/i386/i386.h (.../branches/ix86/gcc-4_4-branch) (revision 146537)
-@@ -236,6 +236,7 @@
- #define TARGET_GENERIC64 (ix86_tune == PROCESSOR_GENERIC64)
- #define TARGET_GENERIC (TARGET_GENERIC32 || TARGET_GENERIC64)
- #define TARGET_AMDFAM10 (ix86_tune == PROCESSOR_AMDFAM10)
-+#define TARGET_ATOM (ix86_tune == PROCESSOR_ATOM)
-
- /* Feature tests against the various tunings. */
- enum ix86_tune_indices {
-@@ -300,6 +301,7 @@
- X86_TUNE_USE_VECTOR_FP_CONVERTS,
- X86_TUNE_USE_VECTOR_CONVERTS,
- X86_TUNE_FUSE_CMP_AND_BRANCH,
-+ X86_TUNE_OPT_AGU,
-
- X86_TUNE_LAST
- };
-@@ -387,6 +389,7 @@
- ix86_tune_features[X86_TUNE_USE_VECTOR_CONVERTS]
- #define TARGET_FUSE_CMP_AND_BRANCH \
- ix86_tune_features[X86_TUNE_FUSE_CMP_AND_BRANCH]
-+#define TARGET_OPT_AGU ix86_tune_features[X86_TUNE_OPT_AGU]
-
- /* Feature tests against the various architecture variations. */
- enum ix86_arch_indices {
-@@ -470,7 +473,10 @@
- MS_ABI = 1
- };
-
--/* The default abi form used by target. */
-+/* The abi used by target. */
-+extern enum calling_abi ix86_abi;
-+
-+/* The default abi used by target. */
- #define DEFAULT_ABI SYSV_ABI
-
- /* Subtargets may reset this to 1 in order to enable 96-bit long double
-@@ -569,6 +575,7 @@
- TARGET_CPU_DEFAULT_prescott,
- TARGET_CPU_DEFAULT_nocona,
- TARGET_CPU_DEFAULT_core2,
-+ TARGET_CPU_DEFAULT_atom,
-
- TARGET_CPU_DEFAULT_geode,
- TARGET_CPU_DEFAULT_k6,
-@@ -658,7 +665,7 @@
-
- /* Boundary (in *bits*) on which stack pointer should be aligned. */
- #define STACK_BOUNDARY \
-- (TARGET_64BIT && DEFAULT_ABI == MS_ABI ? 128 : BITS_PER_WORD)
-+ (TARGET_64BIT && ix86_abi == MS_ABI ? 128 : BITS_PER_WORD)
-
- /* Stack boundary of the main function guaranteed by OS. */
- #define MAIN_STACK_BOUNDARY (TARGET_64BIT ? 128 : 32)
-@@ -954,7 +961,7 @@
- fixed_regs[j] = call_used_regs[j] = 1; \
- if (TARGET_64BIT \
- && ((cfun && cfun->machine->call_abi == MS_ABI) \
-- || (!cfun && DEFAULT_ABI == MS_ABI))) \
-+ || (!cfun && ix86_abi == MS_ABI))) \
- { \
- call_used_regs[SI_REG] = 0; \
- call_used_regs[DI_REG] = 0; \
-@@ -1614,7 +1621,7 @@
- int maybe_vaarg; /* true for calls to possibly vardic fncts. */
- int float_in_sse; /* 1 if in 32-bit mode SFmode (2 for DFmode) should
- be passed in SSE registers. Otherwise 0. */
-- int call_abi; /* Set to SYSV_ABI for sysv abi. Otherwise
-+ enum calling_abi call_abi; /* Set to SYSV_ABI for sysv abi. Otherwise
- MS_ABI for ms abi. */
- } CUMULATIVE_ARGS;
-
-@@ -2260,6 +2267,7 @@
- PROCESSOR_GENERIC32,
- PROCESSOR_GENERIC64,
- PROCESSOR_AMDFAM10,
-+ PROCESSOR_ATOM,
- PROCESSOR_max
- };
-
-@@ -2433,7 +2441,7 @@
- int tls_descriptor_call_expanded_p;
- /* This value is used for amd64 targets and specifies the current abi
- to be used. MS_ABI means ms abi. Otherwise SYSV_ABI means sysv abi. */
-- int call_abi;
-+ enum calling_abi call_abi;
- };
-
- #define ix86_stack_locals (cfun->machine->stack_locals)
-Index: gcc/config/i386/cygming.h
-===================================================================
---- gcc/config/i386/cygming.h (.../tags/gcc_4_4_0_release) (revision 146537)
-+++ gcc/config/i386/cygming.h (.../branches/ix86/gcc-4_4-branch) (revision 146537)
-@@ -34,7 +34,7 @@
- #endif
-
- #undef TARGET_64BIT_MS_ABI
--#define TARGET_64BIT_MS_ABI (!cfun ? DEFAULT_ABI == MS_ABI : TARGET_64BIT && cfun->machine->call_abi == MS_ABI)
-+#define TARGET_64BIT_MS_ABI (!cfun ? ix86_abi == MS_ABI : TARGET_64BIT && cfun->machine->call_abi == MS_ABI)
-
- #undef DEFAULT_ABI
- #define DEFAULT_ABI (TARGET_64BIT ? MS_ABI : SYSV_ABI)
-@@ -202,7 +202,7 @@
- #define CHECK_STACK_LIMIT 4000
-
- #undef STACK_BOUNDARY
--#define STACK_BOUNDARY (DEFAULT_ABI == MS_ABI ? 128 : BITS_PER_WORD)
-+#define STACK_BOUNDARY (ix86_abi == MS_ABI ? 128 : BITS_PER_WORD)
-
- /* By default, target has a 80387, uses IEEE compatible arithmetic,
- returns float values in the 387 and needs stack probes.
-Index: gcc/config/i386/i386.md
-===================================================================
---- gcc/config/i386/i386.md (.../tags/gcc_4_4_0_release) (revision 146537)
-+++ gcc/config/i386/i386.md (.../branches/ix86/gcc-4_4-branch) (revision 146537)
-@@ -316,7 +316,7 @@
-
- \f
- ;; Processor type.
--(define_attr "cpu" "none,pentium,pentiumpro,geode,k6,athlon,k8,core2,
-+(define_attr "cpu" "none,pentium,pentiumpro,geode,k6,athlon,k8,core2,atom,
- generic64,amdfam10"
- (const (symbol_ref "ix86_schedule")))
-
-@@ -612,6 +612,12 @@
- (define_attr "i387_cw" "trunc,floor,ceil,mask_pm,uninitialized,any"
- (const_string "any"))
-
-+;; Define attribute to classify add/sub insns that consumes carry flag (CF)
-+(define_attr "use_carry" "0,1" (const_string "0"))
-+
-+;; Define attribute to indicate unaligned ssemov insns
-+(define_attr "movu" "0,1" (const_string "0"))
-+
- ;; Describe a user's asm statement.
- (define_asm_attributes
- [(set_attr "length" "128")
-@@ -727,6 +733,7 @@
- (include "k6.md")
- (include "athlon.md")
- (include "geode.md")
-+(include "atom.md")
-
- \f
- ;; Operand and operator predicates and constraints
-@@ -5790,6 +5797,7 @@
- "TARGET_64BIT && ix86_binary_operator_ok (PLUS, DImode, operands)"
- "adc{q}\t{%2, %0|%0, %2}"
- [(set_attr "type" "alu")
-+ (set_attr "use_carry" "1")
- (set_attr "pent_pair" "pu")
- (set_attr "mode" "DI")])
-
-@@ -5864,6 +5872,7 @@
- "ix86_binary_operator_ok (PLUS, QImode, operands)"
- "adc{b}\t{%2, %0|%0, %2}"
- [(set_attr "type" "alu")
-+ (set_attr "use_carry" "1")
- (set_attr "pent_pair" "pu")
- (set_attr "mode" "QI")])
-
-@@ -5876,6 +5885,7 @@
- "ix86_binary_operator_ok (PLUS, HImode, operands)"
- "adc{w}\t{%2, %0|%0, %2}"
- [(set_attr "type" "alu")
-+ (set_attr "use_carry" "1")
- (set_attr "pent_pair" "pu")
- (set_attr "mode" "HI")])
-
-@@ -5888,6 +5898,7 @@
- "ix86_binary_operator_ok (PLUS, SImode, operands)"
- "adc{l}\t{%2, %0|%0, %2}"
- [(set_attr "type" "alu")
-+ (set_attr "use_carry" "1")
- (set_attr "pent_pair" "pu")
- (set_attr "mode" "SI")])
-
-@@ -5901,6 +5912,7 @@
- "TARGET_64BIT && ix86_binary_operator_ok (PLUS, SImode, operands)"
- "adc{l}\t{%2, %k0|%k0, %2}"
- [(set_attr "type" "alu")
-+ (set_attr "use_carry" "1")
- (set_attr "pent_pair" "pu")
- (set_attr "mode" "SI")])
-
-@@ -6130,9 +6142,9 @@
- (set_attr "mode" "SI")])
-
- (define_insn "*adddi_1_rex64"
-- [(set (match_operand:DI 0 "nonimmediate_operand" "=r,rm,r")
-- (plus:DI (match_operand:DI 1 "nonimmediate_operand" "%0,0,r")
-- (match_operand:DI 2 "x86_64_general_operand" "rme,re,le")))
-+ [(set (match_operand:DI 0 "nonimmediate_operand" "=r,rm,r,r")
-+ (plus:DI (match_operand:DI 1 "nonimmediate_operand" "%0,0,r,r")
-+ (match_operand:DI 2 "x86_64_general_operand" "rme,re,0,le")))
- (clobber (reg:CC FLAGS_REG))]
- "TARGET_64BIT && ix86_binary_operator_ok (PLUS, DImode, operands)"
- {
-@@ -6153,6 +6165,10 @@
- }
-
- default:
-+ /* Use add as much as possible to replace lea for AGU optimization. */
-+ if (which_alternative == 2 && TARGET_OPT_AGU)
-+ return "add{q}\t{%1, %0|%0, %1}";
-+
- gcc_assert (rtx_equal_p (operands[0], operands[1]));
-
- /* Make things pretty and `subl $4,%eax' rather than `addl $-4, %eax'.
-@@ -6171,8 +6187,11 @@
- }
- }
- [(set (attr "type")
-- (cond [(eq_attr "alternative" "2")
-+ (cond [(and (eq_attr "alternative" "2")
-+ (eq (symbol_ref "TARGET_OPT_AGU") (const_int 0)))
- (const_string "lea")
-+ (eq_attr "alternative" "3")
-+ (const_string "lea")
- ; Current assemblers are broken and do not allow @GOTOFF in
- ; ought but a memory context.
- (match_operand:DI 2 "pic_symbolic_operand" "")
-@@ -6189,8 +6208,8 @@
- (plus:DI (match_operand:DI 1 "register_operand" "")
- (match_operand:DI 2 "x86_64_nonmemory_operand" "")))
- (clobber (reg:CC FLAGS_REG))]
-- "TARGET_64BIT && reload_completed
-- && true_regnum (operands[0]) != true_regnum (operands[1])"
-+ "TARGET_64BIT && reload_completed
-+ && ix86_lea_for_add_ok (PLUS, insn, operands)"
- [(set (match_dup 0)
- (plus:DI (match_dup 1)
- (match_dup 2)))]
-@@ -6394,9 +6413,9 @@
-
-
- (define_insn "*addsi_1"
-- [(set (match_operand:SI 0 "nonimmediate_operand" "=r,rm,r")
-- (plus:SI (match_operand:SI 1 "nonimmediate_operand" "%0,0,r")
-- (match_operand:SI 2 "general_operand" "g,ri,li")))
-+ [(set (match_operand:SI 0 "nonimmediate_operand" "=r,rm,r,r")
-+ (plus:SI (match_operand:SI 1 "nonimmediate_operand" "%0,0,r,r")
-+ (match_operand:SI 2 "general_operand" "g,ri,0,li")))
- (clobber (reg:CC FLAGS_REG))]
- "ix86_binary_operator_ok (PLUS, SImode, operands)"
- {
-@@ -6417,6 +6436,10 @@
- }
-
- default:
-+ /* Use add as much as possible to replace lea for AGU optimization. */
-+ if (which_alternative == 2 && TARGET_OPT_AGU)
-+ return "add{l}\t{%1, %0|%0, %1}";
-+
- gcc_assert (rtx_equal_p (operands[0], operands[1]));
-
- /* Make things pretty and `subl $4,%eax' rather than `addl $-4, %eax'.
-@@ -6433,7 +6456,10 @@
- }
- }
- [(set (attr "type")
-- (cond [(eq_attr "alternative" "2")
-+ (cond [(and (eq_attr "alternative" "2")
-+ (eq (symbol_ref "TARGET_OPT_AGU") (const_int 0)))
-+ (const_string "lea")
-+ (eq_attr "alternative" "3")
- (const_string "lea")
- ; Current assemblers are broken and do not allow @GOTOFF in
- ; ought but a memory context.
-@@ -6451,8 +6477,7 @@
- (plus (match_operand 1 "register_operand" "")
- (match_operand 2 "nonmemory_operand" "")))
- (clobber (reg:CC FLAGS_REG))]
-- "reload_completed
-- && true_regnum (operands[0]) != true_regnum (operands[1])"
-+ "reload_completed && ix86_lea_for_add_ok (PLUS, insn, operands)"
- [(const_int 0)]
- {
- rtx pat;
-@@ -7553,6 +7578,7 @@
- "TARGET_64BIT && ix86_binary_operator_ok (MINUS, DImode, operands)"
- "sbb{q}\t{%2, %0|%0, %2}"
- [(set_attr "type" "alu")
-+ (set_attr "use_carry" "1")
- (set_attr "pent_pair" "pu")
- (set_attr "mode" "DI")])
-
-@@ -7601,6 +7627,7 @@
- "ix86_binary_operator_ok (MINUS, QImode, operands)"
- "sbb{b}\t{%2, %0|%0, %2}"
- [(set_attr "type" "alu")
-+ (set_attr "use_carry" "1")
- (set_attr "pent_pair" "pu")
- (set_attr "mode" "QI")])
-
-@@ -7613,6 +7640,7 @@
- "ix86_binary_operator_ok (MINUS, HImode, operands)"
- "sbb{w}\t{%2, %0|%0, %2}"
- [(set_attr "type" "alu")
-+ (set_attr "use_carry" "1")
- (set_attr "pent_pair" "pu")
- (set_attr "mode" "HI")])
-
-@@ -7625,6 +7653,7 @@
- "ix86_binary_operator_ok (MINUS, SImode, operands)"
- "sbb{l}\t{%2, %0|%0, %2}"
- [(set_attr "type" "alu")
-+ (set_attr "use_carry" "1")
- (set_attr "pent_pair" "pu")
- (set_attr "mode" "SI")])
-
-@@ -15164,7 +15193,7 @@
- ? gen_rtx_REG (XCmode, FIRST_FLOAT_REG) : NULL),
- operands[0], const0_rtx,
- GEN_INT ((TARGET_64BIT
-- ? (DEFAULT_ABI == SYSV_ABI
-+ ? (ix86_abi == SYSV_ABI
- ? X86_64_SSE_REGPARM_MAX
- : X64_SSE_REGPARM_MAX)
- : X86_32_SSE_REGPARM_MAX)
-@@ -15244,6 +15273,7 @@
- "reload_completed"
- "ret"
- [(set_attr "length" "1")
-+ (set_attr "atom_unit" "jeu")
- (set_attr "length_immediate" "0")
- (set_attr "modrm" "0")])
-
-@@ -15256,6 +15286,7 @@
- "reload_completed"
- "rep\;ret"
- [(set_attr "length" "1")
-+ (set_attr "atom_unit" "jeu")
- (set_attr "length_immediate" "0")
- (set_attr "prefix_rep" "1")
- (set_attr "modrm" "0")])
-@@ -15266,6 +15297,7 @@
- "reload_completed"
- "ret\t%0"
- [(set_attr "length" "3")
-+ (set_attr "atom_unit" "jeu")
- (set_attr "length_immediate" "2")
- (set_attr "modrm" "0")])
-
-@@ -16387,6 +16419,7 @@
- "TARGET_SSE_MATH"
- "%vrcpss\t{%1, %d0|%d0, %1}"
- [(set_attr "type" "sse")
-+ (set_attr "atom_sse_attr" "rcp")
- (set_attr "prefix" "maybe_vex")
- (set_attr "mode" "SF")])
-
-@@ -16738,6 +16771,7 @@
- "TARGET_SSE_MATH"
- "%vrsqrtss\t{%1, %d0|%d0, %1}"
- [(set_attr "type" "sse")
-+ (set_attr "atom_sse_attr" "rcp")
- (set_attr "prefix" "maybe_vex")
- (set_attr "mode" "SF")])
-
-@@ -16758,6 +16792,7 @@
- "SSE_FLOAT_MODE_P (<MODE>mode) && TARGET_SSE_MATH"
- "%vsqrts<ssemodefsuffix>\t{%1, %d0|%d0, %1}"
- [(set_attr "type" "sse")
-+ (set_attr "atom_sse_attr" "sqrt")
- (set_attr "prefix" "maybe_vex")
- (set_attr "mode" "<MODE>")
- (set_attr "athlon_decode" "*")
-@@ -19811,6 +19846,7 @@
- ; Since we don't have the proper number of operands for an alu insn,
- ; fill in all the blanks.
- [(set_attr "type" "alu")
-+ (set_attr "use_carry" "1")
- (set_attr "pent_pair" "pu")
- (set_attr "memory" "none")
- (set_attr "imm_disp" "false")
-@@ -19826,6 +19862,7 @@
- ""
- "sbb{q}\t%0, %0"
- [(set_attr "type" "alu")
-+ (set_attr "use_carry" "1")
- (set_attr "pent_pair" "pu")
- (set_attr "memory" "none")
- (set_attr "imm_disp" "false")
-@@ -19869,6 +19906,7 @@
- ; Since we don't have the proper number of operands for an alu insn,
- ; fill in all the blanks.
- [(set_attr "type" "alu")
-+ (set_attr "use_carry" "1")
- (set_attr "pent_pair" "pu")
- (set_attr "memory" "none")
- (set_attr "imm_disp" "false")
-@@ -19884,6 +19922,7 @@
- ""
- "sbb{l}\t%0, %0"
- [(set_attr "type" "alu")
-+ (set_attr "use_carry" "1")
- (set_attr "pent_pair" "pu")
- (set_attr "memory" "none")
- (set_attr "imm_disp" "false")
-@@ -20216,7 +20255,8 @@
- }
- }
- [(set (attr "type")
-- (cond [(eq_attr "alternative" "0")
-+ (cond [(and (eq_attr "alternative" "0")
-+ (eq (symbol_ref "TARGET_OPT_AGU") (const_int 0)))
- (const_string "alu")
- (match_operand:SI 2 "const0_operand" "")
- (const_string "imov")
-@@ -20259,7 +20299,8 @@
- }
- }
- [(set (attr "type")
-- (cond [(eq_attr "alternative" "0")
-+ (cond [(and (eq_attr "alternative" "0")
-+ (eq (symbol_ref "TARGET_OPT_AGU") (const_int 0)))
- (const_string "alu")
- (match_operand:DI 2 "const0_operand" "")
- (const_string "imov")
-@@ -21751,6 +21792,7 @@
- return patterns[locality];
- }
- [(set_attr "type" "sse")
-+ (set_attr "atom_sse_attr" "prefetch")
- (set_attr "memory" "none")])
-
- (define_insn "*prefetch_sse_rex"
-@@ -21769,6 +21811,7 @@
- return patterns[locality];
- }
- [(set_attr "type" "sse")
-+ (set_attr "atom_sse_attr" "prefetch")
- (set_attr "memory" "none")])
-
- (define_insn "*prefetch_3dnow"
-Index: gcc/config/i386/atom.md
-===================================================================
---- gcc/config/i386/atom.md (.../tags/gcc_4_4_0_release) (revision 0)
-+++ gcc/config/i386/atom.md (.../branches/ix86/gcc-4_4-branch) (revision 146537)
-@@ -0,0 +1,795 @@
-+;; Atom Scheduling
-+;; Copyright (C) 2009 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
-+;; <http://www.gnu.org/licenses/>.
-+;;
-+;; Atom is an in-order core with two integer pipelines.
-+
-+
-+(define_attr "atom_unit" "sishuf,simul,jeu,complex,other"
-+ (const_string "other"))
-+
-+(define_attr "atom_sse_attr" "rcp,movdup,lfence,fence,prefetch,sqrt,mxcsr,other"
-+ (const_string "other"))
-+
-+(define_automaton "atom")
-+
-+;; Atom has two ports: port 0 and port 1 connecting to all execution units
-+(define_cpu_unit "atom-port-0,atom-port-1" "atom")
-+
-+;; EU: Execution Unit
-+;; Atom EUs are connected by port 0 or port 1.
-+
-+(define_cpu_unit "atom-eu-0, atom-eu-1,
-+ atom-imul-1, atom-imul-2, atom-imul-3, atom-imul-4"
-+ "atom")
-+
-+;; Some EUs have duplicated copied and can be accessed via either
-+;; port 0 or port 1
-+;; (define_reservation "atom-port-either" "(atom-port-0 | atom-port-1)")
-+
-+;;; Some instructions is dual-pipe execution, need both ports
-+;;; Complex multi-op macro-instructoins need both ports and all EUs
-+(define_reservation "atom-port-dual" "(atom-port-0 + atom-port-1)")
-+(define_reservation "atom-all-eu" "(atom-eu-0 + atom-eu-1 +
-+ atom-imul-1 + atom-imul-2 + atom-imul-3 +
-+ atom-imul-4)")
-+
-+;;; Most of simple instructions have 1 cycle latency. Some of them
-+;;; issue in port 0, some in port 0 and some in either port.
-+(define_reservation "atom-simple-0" "(atom-port-0 + atom-eu-0)")
-+(define_reservation "atom-simple-1" "(atom-port-1 + atom-eu-1)")
-+(define_reservation "atom-simple-either" "(atom-simple-0 | atom-simple-1)")
-+
-+;;; Some insn issues in port 0 with 3 cycle latency and 1 cycle tput
-+(define_reservation "atom-eu-0-3-1" "(atom-port-0 + atom-eu-0, nothing*2)")
-+
-+;;; fmul insn can have 4 or 5 cycles latency
-+(define_reservation "atom-fmul-5c" "(atom-port-0 + atom-eu-0), nothing*4")
-+(define_reservation "atom-fmul-4c" "(atom-port-0 + atom-eu-0), nothing*3")
-+
-+;;; fadd can has 5 cycles latency depends on instruction forms
-+(define_reservation "atom-fadd-5c" "(atom-port-1 + atom-eu-1), nothing*5")
-+
-+;;; imul insn has 5 cycles latency
-+(define_reservation "atom-imul-32"
-+ "atom-imul-1, atom-imul-2, atom-imul-3, atom-imul-4,
-+ atom-port-0")
-+;;; imul instruction excludes other non-FP instructions.
-+(exclusion_set "atom-eu-0, atom-eu-1"
-+ "atom-imul-1, atom-imul-2, atom-imul-3, atom-imul-4")
-+
-+;;; dual-execution instructions can have 1,2,4,5 cycles latency depends on
-+;;; instruction forms
-+(define_reservation "atom-dual-1c" "(atom-port-dual + atom-eu-0 + atom-eu-1)")
-+(define_reservation "atom-dual-2c"
-+ "(atom-port-dual + atom-eu-0 + atom-eu-1, nothing)")
-+(define_reservation "atom-dual-5c"
-+ "(atom-port-dual + atom-eu-0 + atom-eu-1, nothing*4)")
-+
-+;;; Complex macro-instruction has variants of latency, and uses both ports.
-+(define_reservation "atom-complex" "(atom-port-dual + atom-all-eu)")
-+
-+(define_insn_reservation "atom_other" 9
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "other")
-+ (eq_attr "atom_unit" "!jeu")))
-+ "atom-complex, atom-all-eu*8")
-+
-+;; return has type "other" with atom_unit "jeu"
-+(define_insn_reservation "atom_other_2" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "other")
-+ (eq_attr "atom_unit" "jeu")))
-+ "atom-dual-1c")
-+
-+(define_insn_reservation "atom_multi" 9
-+ (and (eq_attr "cpu" "atom")
-+ (eq_attr "type" "multi"))
-+ "atom-complex, atom-all-eu*8")
-+
-+;; Normal alu insns without carry
-+(define_insn_reservation "atom_alu" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "alu")
-+ (and (eq_attr "memory" "none")
-+ (eq_attr "use_carry" "0"))))
-+ "atom-simple-either")
-+
-+;; Normal alu insns without carry
-+(define_insn_reservation "atom_alu_mem" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "alu")
-+ (and (eq_attr "memory" "!none")
-+ (eq_attr "use_carry" "0"))))
-+ "atom-simple-either")
-+
-+;; Alu insn consuming CF, such as add/sbb
-+(define_insn_reservation "atom_alu_carry" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "alu")
-+ (and (eq_attr "memory" "none")
-+ (eq_attr "use_carry" "1"))))
-+ "atom-simple-either")
-+
-+;; Alu insn consuming CF, such as add/sbb
-+(define_insn_reservation "atom_alu_carry_mem" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "alu")
-+ (and (eq_attr "memory" "!none")
-+ (eq_attr "use_carry" "1"))))
-+ "atom-simple-either")
-+
-+(define_insn_reservation "atom_alu1" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "alu1")
-+ (eq_attr "memory" "none")))
-+ "atom-simple-either")
-+
-+(define_insn_reservation "atom_alu1_mem" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "alu1")
-+ (eq_attr "memory" "!none")))
-+ "atom-simple-either")
-+
-+(define_insn_reservation "atom_negnot" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "negnot")
-+ (eq_attr "memory" "none")))
-+ "atom-simple-either")
-+
-+(define_insn_reservation "atom_negnot_mem" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "negnot")
-+ (eq_attr "memory" "!none")))
-+ "atom-simple-either")
-+
-+(define_insn_reservation "atom_imov" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "imov")
-+ (eq_attr "memory" "none")))
-+ "atom-simple-either")
-+
-+(define_insn_reservation "atom_imov_mem" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "imov")
-+ (eq_attr "memory" "!none")))
-+ "atom-simple-either")
-+
-+;; 16<-16, 32<-32
-+(define_insn_reservation "atom_imovx" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "imovx")
-+ (and (eq_attr "memory" "none")
-+ (ior (and (match_operand:HI 0 "register_operand")
-+ (match_operand:HI 1 "general_operand"))
-+ (and (match_operand:SI 0 "register_operand")
-+ (match_operand:SI 1 "general_operand"))))))
-+ "atom-simple-either")
-+
-+;; 16<-16, 32<-32, mem
-+(define_insn_reservation "atom_imovx_mem" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "imovx")
-+ (and (eq_attr "memory" "!none")
-+ (ior (and (match_operand:HI 0 "register_operand")
-+ (match_operand:HI 1 "general_operand"))
-+ (and (match_operand:SI 0 "register_operand")
-+ (match_operand:SI 1 "general_operand"))))))
-+ "atom-simple-either")
-+
-+;; 32<-16, 32<-8, 64<-16, 64<-8, 64<-32, 8<-8
-+(define_insn_reservation "atom_imovx_2" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "imovx")
-+ (and (eq_attr "memory" "none")
-+ (ior (match_operand:QI 0 "register_operand")
-+ (ior (and (match_operand:SI 0 "register_operand")
-+ (not (match_operand:SI 1 "general_operand")))
-+ (match_operand:DI 0 "register_operand"))))))
-+ "atom-simple-0")
-+
-+;; 32<-16, 32<-8, 64<-16, 64<-8, 64<-32, 8<-8, mem
-+(define_insn_reservation "atom_imovx_2_mem" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "imovx")
-+ (and (eq_attr "memory" "!none")
-+ (ior (match_operand:QI 0 "register_operand")
-+ (ior (and (match_operand:SI 0 "register_operand")
-+ (not (match_operand:SI 1 "general_operand")))
-+ (match_operand:DI 0 "register_operand"))))))
-+ "atom-simple-0")
-+
-+;; 16<-8
-+(define_insn_reservation "atom_imovx_3" 3
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "imovx")
-+ (and (match_operand:HI 0 "register_operand")
-+ (match_operand:QI 1 "general_operand"))))
-+ "atom-complex, atom-all-eu*2")
-+
-+(define_insn_reservation "atom_lea" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "lea")
-+ (eq_attr "mode" "!HI")))
-+ "atom-simple-either")
-+
-+;; lea 16bit address is complex insn
-+(define_insn_reservation "atom_lea_2" 2
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "lea")
-+ (eq_attr "mode" "HI")))
-+ "atom-complex, atom-all-eu")
-+
-+(define_insn_reservation "atom_incdec" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "incdec")
-+ (eq_attr "memory" "none")))
-+ "atom-simple-either")
-+
-+(define_insn_reservation "atom_incdec_mem" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "incdec")
-+ (eq_attr "memory" "!none")))
-+ "atom-simple-either")
-+
-+;; simple shift instruction use SHIFT eu, none memory
-+(define_insn_reservation "atom_ishift" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "ishift")
-+ (and (eq_attr "memory" "none") (eq_attr "prefix_0f" "0"))))
-+ "atom-simple-0")
-+
-+;; simple shift instruction use SHIFT eu, memory
-+(define_insn_reservation "atom_ishift_mem" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "ishift")
-+ (and (eq_attr "memory" "!none") (eq_attr "prefix_0f" "0"))))
-+ "atom-simple-0")
-+
-+;; DF shift (prefixed with 0f) is complex insn with latency of 7 cycles
-+(define_insn_reservation "atom_ishift_3" 7
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "ishift")
-+ (eq_attr "prefix_0f" "1")))
-+ "atom-complex, atom-all-eu*6")
-+
-+(define_insn_reservation "atom_ishift1" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "ishift1")
-+ (eq_attr "memory" "none")))
-+ "atom-simple-0")
-+
-+(define_insn_reservation "atom_ishift1_mem" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "ishift1")
-+ (eq_attr "memory" "!none")))
-+ "atom-simple-0")
-+
-+(define_insn_reservation "atom_rotate" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "rotate")
-+ (eq_attr "memory" "none")))
-+ "atom-simple-0")
-+
-+(define_insn_reservation "atom_rotate_mem" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "rotate")
-+ (eq_attr "memory" "!none")))
-+ "atom-simple-0")
-+
-+(define_insn_reservation "atom_rotate1" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "rotate1")
-+ (eq_attr "memory" "none")))
-+ "atom-simple-0")
-+
-+(define_insn_reservation "atom_rotate1_mem" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "rotate1")
-+ (eq_attr "memory" "!none")))
-+ "atom-simple-0")
-+
-+(define_insn_reservation "atom_imul" 5
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "imul")
-+ (and (eq_attr "memory" "none") (eq_attr "mode" "SI"))))
-+ "atom-imul-32")
-+
-+(define_insn_reservation "atom_imul_mem" 5
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "imul")
-+ (and (eq_attr "memory" "!none") (eq_attr "mode" "SI"))))
-+ "atom-imul-32")
-+
-+;; latency set to 10 as common 64x64 imul
-+(define_insn_reservation "atom_imul_3" 10
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "imul")
-+ (eq_attr "mode" "!SI")))
-+ "atom-complex, atom-all-eu*9")
-+
-+(define_insn_reservation "atom_idiv" 65
-+ (and (eq_attr "cpu" "atom")
-+ (eq_attr "type" "idiv"))
-+ "atom-complex, atom-all-eu*32, nothing*32")
-+
-+(define_insn_reservation "atom_icmp" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "icmp")
-+ (eq_attr "memory" "none")))
-+ "atom-simple-either")
-+
-+(define_insn_reservation "atom_icmp_mem" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "icmp")
-+ (eq_attr "memory" "!none")))
-+ "atom-simple-either")
-+
-+(define_insn_reservation "atom_test" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "test")
-+ (eq_attr "memory" "none")))
-+ "atom-simple-either")
-+
-+(define_insn_reservation "atom_test_mem" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "test")
-+ (eq_attr "memory" "!none")))
-+ "atom-simple-either")
-+
-+(define_insn_reservation "atom_ibr" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "ibr")
-+ (eq_attr "memory" "!load")))
-+ "atom-simple-1")
-+
-+;; complex if jump target is from address
-+(define_insn_reservation "atom_ibr_2" 2
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "ibr")
-+ (eq_attr "memory" "load")))
-+ "atom-complex, atom-all-eu")
-+
-+(define_insn_reservation "atom_setcc" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "setcc")
-+ (eq_attr "memory" "!store")))
-+ "atom-simple-either")
-+
-+;; 2 cycles complex if target is in memory
-+(define_insn_reservation "atom_setcc_2" 2
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "setcc")
-+ (eq_attr "memory" "store")))
-+ "atom-complex, atom-all-eu")
-+
-+(define_insn_reservation "atom_icmov" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "icmov")
-+ (eq_attr "memory" "none")))
-+ "atom-simple-either")
-+
-+(define_insn_reservation "atom_icmov_mem" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "icmov")
-+ (eq_attr "memory" "!none")))
-+ "atom-simple-either")
-+
-+;; UCODE if segreg, ignored
-+(define_insn_reservation "atom_push" 2
-+ (and (eq_attr "cpu" "atom")
-+ (eq_attr "type" "push"))
-+ "atom-dual-2c")
-+
-+;; pop r64 is 1 cycle. UCODE if segreg, ignored
-+(define_insn_reservation "atom_pop" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "pop")
-+ (eq_attr "mode" "DI")))
-+ "atom-dual-1c")
-+
-+;; pop non-r64 is 2 cycles. UCODE if segreg, ignored
-+(define_insn_reservation "atom_pop_2" 2
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "pop")
-+ (eq_attr "mode" "!DI")))
-+ "atom-dual-2c")
-+
-+;; UCODE if segreg, ignored
-+(define_insn_reservation "atom_call" 1
-+ (and (eq_attr "cpu" "atom")
-+ (eq_attr "type" "call"))
-+ "atom-dual-1c")
-+
-+(define_insn_reservation "atom_callv" 1
-+ (and (eq_attr "cpu" "atom")
-+ (eq_attr "type" "callv"))
-+ "atom-dual-1c")
-+
-+(define_insn_reservation "atom_leave" 3
-+ (and (eq_attr "cpu" "atom")
-+ (eq_attr "type" "leave"))
-+ "atom-complex, atom-all-eu*2")
-+
-+(define_insn_reservation "atom_str" 3
-+ (and (eq_attr "cpu" "atom")
-+ (eq_attr "type" "str"))
-+ "atom-complex, atom-all-eu*2")
-+
-+(define_insn_reservation "atom_sselog" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "sselog")
-+ (eq_attr "memory" "none")))
-+ "atom-simple-either")
-+
-+(define_insn_reservation "atom_sselog_mem" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "sselog")
-+ (eq_attr "memory" "!none")))
-+ "atom-simple-either")
-+
-+(define_insn_reservation "atom_sselog1" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "sselog1")
-+ (eq_attr "memory" "none")))
-+ "atom-simple-0")
-+
-+(define_insn_reservation "atom_sselog1_mem" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "sselog1")
-+ (eq_attr "memory" "!none")))
-+ "atom-simple-0")
-+
-+;; not pmad, not psad
-+(define_insn_reservation "atom_sseiadd" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "sseiadd")
-+ (and (not (match_operand:V2DI 0 "register_operand"))
-+ (and (eq_attr "atom_unit" "!simul")
-+ (eq_attr "atom_unit" "!complex")))))
-+ "atom-simple-either")
-+
-+;; pmad, psad and 64
-+(define_insn_reservation "atom_sseiadd_2" 4
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "sseiadd")
-+ (and (not (match_operand:V2DI 0 "register_operand"))
-+ (and (eq_attr "atom_unit" "simul" )
-+ (eq_attr "mode" "DI")))))
-+ "atom-fmul-4c")
-+
-+;; pmad, psad and 128
-+(define_insn_reservation "atom_sseiadd_3" 5
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "sseiadd")
-+ (and (not (match_operand:V2DI 0 "register_operand"))
-+ (and (eq_attr "atom_unit" "simul" )
-+ (eq_attr "mode" "TI")))))
-+ "atom-fmul-5c")
-+
-+;; if paddq(64 bit op), phadd/phsub
-+(define_insn_reservation "atom_sseiadd_4" 6
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "sseiadd")
-+ (ior (match_operand:V2DI 0 "register_operand")
-+ (eq_attr "atom_unit" "complex"))))
-+ "atom-complex, atom-all-eu*5")
-+
-+;; if immediate op.
-+(define_insn_reservation "atom_sseishft" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "sseishft")
-+ (and (eq_attr "atom_unit" "!sishuf")
-+ (match_operand 2 "immediate_operand"))))
-+ "atom-simple-either")
-+
-+;; if palignr or psrldq
-+(define_insn_reservation "atom_sseishft_2" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "sseishft")
-+ (and (eq_attr "atom_unit" "sishuf")
-+ (match_operand 2 "immediate_operand"))))
-+ "atom-simple-0")
-+
-+;; if reg/mem op
-+(define_insn_reservation "atom_sseishft_3" 2
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "sseishft")
-+ (not (match_operand 2 "immediate_operand"))))
-+ "atom-complex, atom-all-eu")
-+
-+(define_insn_reservation "atom_sseimul" 1
-+ (and (eq_attr "cpu" "atom")
-+ (eq_attr "type" "sseimul"))
-+ "atom-simple-0")
-+
-+;; rcpss or rsqrtss
-+(define_insn_reservation "atom_sse" 4
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "sse")
-+ (and (eq_attr "atom_sse_attr" "rcp") (eq_attr "mode" "SF"))))
-+ "atom-fmul-4c")
-+
-+;; movshdup, movsldup. Suggest to type sseishft
-+(define_insn_reservation "atom_sse_2" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "sse")
-+ (eq_attr "atom_sse_attr" "movdup")))
-+ "atom-simple-0")
-+
-+;; lfence
-+(define_insn_reservation "atom_sse_3" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "sse")
-+ (eq_attr "atom_sse_attr" "lfence")))
-+ "atom-simple-either")
-+
-+;; sfence,clflush,mfence, prefetch
-+(define_insn_reservation "atom_sse_4" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "sse")
-+ (ior (eq_attr "atom_sse_attr" "fence")
-+ (eq_attr "atom_sse_attr" "prefetch"))))
-+ "atom-simple-0")
-+
-+;; rcpps, rsqrtss, sqrt, ldmxcsr
-+(define_insn_reservation "atom_sse_5" 7
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "sse")
-+ (ior (ior (eq_attr "atom_sse_attr" "sqrt")
-+ (eq_attr "atom_sse_attr" "mxcsr"))
-+ (and (eq_attr "atom_sse_attr" "rcp")
-+ (eq_attr "mode" "V4SF")))))
-+ "atom-complex, atom-all-eu*6")
-+
-+;; xmm->xmm
-+(define_insn_reservation "atom_ssemov" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "ssemov")
-+ (and (match_operand 0 "register_operand" "xy") (match_operand 1 "register_operand" "xy"))))
-+ "atom-simple-either")
-+
-+;; reg->xmm
-+(define_insn_reservation "atom_ssemov_2" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "ssemov")
-+ (and (match_operand 0 "register_operand" "xy") (match_operand 1 "register_operand" "r"))))
-+ "atom-simple-0")
-+
-+;; xmm->reg
-+(define_insn_reservation "atom_ssemov_3" 3
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "ssemov")
-+ (and (match_operand 0 "register_operand" "r") (match_operand 1 "register_operand" "xy"))))
-+ "atom-eu-0-3-1")
-+
-+;; mov mem
-+(define_insn_reservation "atom_ssemov_4" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "ssemov")
-+ (and (eq_attr "movu" "0") (eq_attr "memory" "!none"))))
-+ "atom-simple-0")
-+
-+;; movu mem
-+(define_insn_reservation "atom_ssemov_5" 2
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "ssemov")
-+ (ior (eq_attr "movu" "1") (eq_attr "memory" "!none"))))
-+ "atom-complex, atom-all-eu")
-+
-+;; no memory simple
-+(define_insn_reservation "atom_sseadd" 5
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "sseadd")
-+ (and (eq_attr "memory" "none")
-+ (and (eq_attr "mode" "!V2DF")
-+ (eq_attr "atom_unit" "!complex")))))
-+ "atom-fadd-5c")
-+
-+;; memory simple
-+(define_insn_reservation "atom_sseadd_mem" 5
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "sseadd")
-+ (and (eq_attr "memory" "!none")
-+ (and (eq_attr "mode" "!V2DF")
-+ (eq_attr "atom_unit" "!complex")))))
-+ "atom-dual-5c")
-+
-+;; maxps, minps, *pd, hadd, hsub
-+(define_insn_reservation "atom_sseadd_3" 8
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "sseadd")
-+ (ior (eq_attr "mode" "V2DF") (eq_attr "atom_unit" "complex"))))
-+ "atom-complex, atom-all-eu*7")
-+
-+;; Except dppd/dpps
-+(define_insn_reservation "atom_ssemul" 5
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "ssemul")
-+ (eq_attr "mode" "!SF")))
-+ "atom-fmul-5c")
-+
-+;; Except dppd/dpps, 4 cycle if mulss
-+(define_insn_reservation "atom_ssemul_2" 4
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "ssemul")
-+ (eq_attr "mode" "SF")))
-+ "atom-fmul-4c")
-+
-+(define_insn_reservation "atom_ssecmp" 1
-+ (and (eq_attr "cpu" "atom")
-+ (eq_attr "type" "ssecmp"))
-+ "atom-simple-either")
-+
-+(define_insn_reservation "atom_ssecomi" 10
-+ (and (eq_attr "cpu" "atom")
-+ (eq_attr "type" "ssecomi"))
-+ "atom-complex, atom-all-eu*9")
-+
-+;; no memory and cvtpi2ps, cvtps2pi, cvttps2pi
-+(define_insn_reservation "atom_ssecvt" 5
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "ssecvt")
-+ (ior (and (match_operand:V2SI 0 "register_operand")
-+ (match_operand:V4SF 1 "register_operand"))
-+ (and (match_operand:V4SF 0 "register_operand")
-+ (match_operand:V2SI 1 "register_operand")))))
-+ "atom-fadd-5c")
-+
-+;; memory and cvtpi2ps, cvtps2pi, cvttps2pi
-+(define_insn_reservation "atom_ssecvt_2" 5
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "ssecvt")
-+ (ior (and (match_operand:V2SI 0 "register_operand")
-+ (match_operand:V4SF 1 "memory_operand"))
-+ (and (match_operand:V4SF 0 "register_operand")
-+ (match_operand:V2SI 1 "memory_operand")))))
-+ "atom-dual-5c")
-+
-+;; otherwise. 7 cycles average for cvtss2sd
-+(define_insn_reservation "atom_ssecvt_3" 7
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "ssecvt")
-+ (not (ior (and (match_operand:V2SI 0 "register_operand")
-+ (match_operand:V4SF 1 "nonimmediate_operand"))
-+ (and (match_operand:V4SF 0 "register_operand")
-+ (match_operand:V2SI 1 "nonimmediate_operand"))))))
-+ "atom-complex, atom-all-eu*6")
-+
-+;; memory and cvtsi2sd
-+(define_insn_reservation "atom_sseicvt" 5
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "sseicvt")
-+ (and (match_operand:V2DF 0 "register_operand")
-+ (match_operand:SI 1 "memory_operand"))))
-+ "atom-dual-5c")
-+
-+;; otherwise. 8 cycles average for cvtsd2si
-+(define_insn_reservation "atom_sseicvt_2" 8
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "sseicvt")
-+ (not (and (match_operand:V2DF 0 "register_operand")
-+ (match_operand:SI 1 "memory_operand")))))
-+ "atom-complex, atom-all-eu*7")
-+
-+(define_insn_reservation "atom_ssediv" 62
-+ (and (eq_attr "cpu" "atom")
-+ (eq_attr "type" "ssediv"))
-+ "atom-complex, atom-all-eu*12, nothing*49")
-+
-+;; simple for fmov
-+(define_insn_reservation "atom_fmov" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "fmov")
-+ (eq_attr "memory" "none")))
-+ "atom-simple-either")
-+
-+;; simple for fmov
-+(define_insn_reservation "atom_fmov_mem" 1
-+ (and (eq_attr "cpu" "atom")
-+ (and (eq_attr "type" "fmov")
-+ (eq_attr "memory" "!none")))
-+ "atom-simple-either")
-+
-+;; Define bypass here
-+
-+;; There will be no stall from lea to non-mem EX insns
-+(define_bypass 0 "atom_lea"
-+ "atom_alu_carry,
-+ atom_alu,atom_alu1,atom_negnot,atom_imov,atom_imovx,
-+ atom_incdec, atom_setcc, atom_icmov, atom_pop")
-+
-+(define_bypass 0 "atom_lea"
-+ "atom_alu_mem, atom_alu_carry_mem, atom_alu1_mem,
-+ atom_imovx_mem, atom_imovx_2_mem,
-+ atom_imov_mem, atom_icmov_mem, atom_fmov_mem"
-+ "!ix86_agi_dependent")
-+
-+;; There will be 3 cycles stall from EX insns to AGAN insns LEA
-+(define_bypass 4 "atom_alu_carry,
-+ atom_alu,atom_alu1,atom_negnot,atom_imov,atom_imovx,
-+ atom_incdec,atom_ishift,atom_ishift1,atom_rotate,
-+ atom_rotate1, atom_setcc, atom_icmov, atom_pop,
-+ atom_alu_mem, atom_alu_carry_mem, atom_alu1_mem,
-+ atom_imovx_mem, atom_imovx_2_mem,
-+ atom_imov_mem, atom_icmov_mem, atom_fmov_mem"
-+ "atom_lea")
-+
-+;; There will be 3 cycles stall from EX insns to insns need addr calculation
-+(define_bypass 4 "atom_alu_carry,
-+ atom_alu,atom_alu1,atom_negnot,atom_imov,atom_imovx,
-+ atom_incdec,atom_ishift,atom_ishift1,atom_rotate,
-+ atom_rotate1, atom_setcc, atom_icmov, atom_pop,
-+ atom_imovx_mem, atom_imovx_2_mem,
-+ atom_alu_mem, atom_alu_carry_mem, atom_alu1_mem,
-+ atom_imov_mem, atom_icmov_mem, atom_fmov_mem"
-+ "atom_alu_mem, atom_alu_carry_mem, atom_alu1_mem,
-+ atom_negnot_mem, atom_imov_mem, atom_incdec_mem,
-+ atom_imovx_mem, atom_imovx_2_mem,
-+ atom_imul_mem, atom_icmp_mem,
-+ atom_test_mem, atom_icmov_mem, atom_sselog_mem,
-+ atom_sselog1_mem, atom_fmov_mem, atom_sseadd_mem,
-+ atom_ishift_mem, atom_ishift1_mem,
-+ atom_rotate_mem, atom_rotate1_mem"
-+ "ix86_agi_dependent")
-+
-+;; Stall from imul to lea is 8 cycles.
-+(define_bypass 9 "atom_imul, atom_imul_mem" "atom_lea")
-+
-+;; Stall from imul to memory address is 8 cycles.
-+(define_bypass 9 "atom_imul, atom_imul_mem"
-+ "atom_alu_mem, atom_alu_carry_mem, atom_alu1_mem,
-+ atom_negnot_mem, atom_imov_mem, atom_incdec_mem,
-+ atom_ishift_mem, atom_ishift1_mem, atom_rotate_mem,
-+ atom_rotate1_mem, atom_imul_mem, atom_icmp_mem,
-+ atom_test_mem, atom_icmov_mem, atom_sselog_mem,
-+ atom_sselog1_mem, atom_fmov_mem, atom_sseadd_mem"
-+ "ix86_agi_dependent")
-+
-+;; There will be 0 cycle stall from cmp/test to jcc
-+
-+;; There will be 1 cycle stall from flag producer to cmov and adc/sbb
-+(define_bypass 2 "atom_icmp, atom_test, atom_alu, atom_alu_carry,
-+ atom_alu1, atom_negnot, atom_incdec, atom_ishift,
-+ atom_ishift1, atom_rotate, atom_rotate1"
-+ "atom_icmov, atom_alu_carry")
-+
-+;; lea to shift count stall is 2 cycles
-+(define_bypass 3 "atom_lea"
-+ "atom_ishift, atom_ishift1, atom_rotate, atom_rotate1,
-+ atom_ishift_mem, atom_ishift1_mem,
-+ atom_rotate_mem, atom_rotate1_mem"
-+ "ix86_dep_by_shift_count")
-+
-+;; lea to shift source stall is 1 cycle
-+(define_bypass 2 "atom_lea"
-+ "atom_ishift, atom_ishift1, atom_rotate, atom_rotate1"
-+ "!ix86_dep_by_shift_count")
-+
-+;; non-lea to shift count stall is 1 cycle
-+(define_bypass 2 "atom_alu_carry,
-+ atom_alu,atom_alu1,atom_negnot,atom_imov,atom_imovx,
-+ atom_incdec,atom_ishift,atom_ishift1,atom_rotate,
-+ atom_rotate1, atom_setcc, atom_icmov, atom_pop,
-+ atom_alu_mem, atom_alu_carry_mem, atom_alu1_mem,
-+ atom_imovx_mem, atom_imovx_2_mem,
-+ atom_imov_mem, atom_icmov_mem, atom_fmov_mem"
-+ "atom_ishift, atom_ishift1, atom_rotate, atom_rotate1,
-+ atom_ishift_mem, atom_ishift1_mem,
-+ atom_rotate_mem, atom_rotate1_mem"
-+ "ix86_dep_by_shift_count")
-Index: gcc/config/i386/sse.md
-===================================================================
---- gcc/config/i386/sse.md (.../tags/gcc_4_4_0_release) (revision 146537)
-+++ gcc/config/i386/sse.md (.../branches/ix86/gcc-4_4-branch) (revision 146537)
-@@ -338,6 +338,7 @@
- && !(MEM_P (operands[0]) && MEM_P (operands[1]))"
- "vmovup<avxmodesuffixf2c>\t{%1, %0|%0, %1}"
- [(set_attr "type" "ssemov")
-+ (set_attr "movu" "1")
- (set_attr "prefix" "vex")
- (set_attr "mode" "<MODE>")])
-
-@@ -363,6 +364,7 @@
- && !(MEM_P (operands[0]) && MEM_P (operands[1]))"
- "movup<ssemodesuffixf2c>\t{%1, %0|%0, %1}"
- [(set_attr "type" "ssemov")
-+ (set_attr "movu" "1")
- (set_attr "mode" "<MODE>")])
-
- (define_insn "avx_movdqu<avxmodesuffix>"
-@@ -373,6 +375,7 @@
- "TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))"
- "vmovdqu\t{%1, %0|%0, %1}"
- [(set_attr "type" "ssemov")
-+ (set_attr "movu" "1")
- (set_attr "prefix" "vex")
- (set_attr "mode" "<avxvecmode>")])
-
-@@ -383,6 +386,7 @@
- "TARGET_SSE2 && !(MEM_P (operands[0]) && MEM_P (operands[1]))"
- "movdqu\t{%1, %0|%0, %1}"
- [(set_attr "type" "ssemov")
-+ (set_attr "movu" "1")
- (set_attr "prefix_data16" "1")
- (set_attr "mode" "TI")])
-
-@@ -424,7 +428,7 @@
- UNSPEC_MOVNT))]
- "TARGET_SSE2"
- "movntdq\t{%1, %0|%0, %1}"
-- [(set_attr "type" "ssecvt")
-+ [(set_attr "type" "ssemov")
- (set_attr "prefix_data16" "1")
- (set_attr "mode" "TI")])
-
-@@ -434,7 +438,7 @@
- UNSPEC_MOVNT))]
- "TARGET_SSE2"
- "movnti\t{%1, %0|%0, %1}"
-- [(set_attr "type" "ssecvt")
-+ [(set_attr "type" "ssemov")
- (set_attr "mode" "V2DF")])
-
- (define_insn "avx_lddqu<avxmodesuffix>"
-@@ -445,6 +449,7 @@
- "TARGET_AVX"
- "vlddqu\t{%1, %0|%0, %1}"
- [(set_attr "type" "ssecvt")
-+ (set_attr "movu" "1")
- (set_attr "prefix" "vex")
- (set_attr "mode" "<avxvecmode>")])
-
-@@ -454,7 +459,8 @@
- UNSPEC_LDDQU))]
- "TARGET_SSE3"
- "lddqu\t{%1, %0|%0, %1}"
-- [(set_attr "type" "ssecvt")
-+ [(set_attr "type" "ssemov")
-+ (set_attr "movu" "1")
- (set_attr "prefix_rep" "1")
- (set_attr "mode" "TI")])
-
-@@ -761,6 +767,7 @@
- "TARGET_SSE"
- "%vrcpps\t{%1, %0|%0, %1}"
- [(set_attr "type" "sse")
-+ (set_attr "atom_sse_attr" "rcp")
- (set_attr "prefix" "maybe_vex")
- (set_attr "mode" "V4SF")])
-
-@@ -787,6 +794,7 @@
- "TARGET_SSE"
- "rcpss\t{%1, %0|%0, %1}"
- [(set_attr "type" "sse")
-+ (set_attr "atom_sse_attr" "rcp")
- (set_attr "mode" "SF")])
-
- (define_expand "sqrtv8sf2"
-@@ -832,6 +840,7 @@
- "TARGET_SSE"
- "%vsqrtps\t{%1, %0|%0, %1}"
- [(set_attr "type" "sse")
-+ (set_attr "atom_sse_attr" "sqrt")
- (set_attr "prefix" "maybe_vex")
- (set_attr "mode" "V4SF")])
-
-@@ -876,6 +885,7 @@
- "SSE_VEC_FLOAT_MODE_P (<MODE>mode)"
- "sqrts<ssemodesuffixf2c>\t{%1, %0|%0, %1}"
- [(set_attr "type" "sse")
-+ (set_attr "atom_sse_attr" "sqrt")
- (set_attr "mode" "<ssescalarmode>")])
-
- (define_expand "rsqrtv8sf2"
-@@ -1039,7 +1049,7 @@
- (const_int 1)))]
- "SSE_VEC_FLOAT_MODE_P (<MODE>mode)"
- "<maxminfprefix>s<ssemodesuffixf2c>\t{%2, %0|%0, %2}"
-- [(set_attr "type" "sse")
-+ [(set_attr "type" "sseadd")
- (set_attr "mode" "<ssescalarmode>")])
-
- ;; These versions of the min/max patterns implement exactly the operations
-@@ -1175,6 +1185,7 @@
- "TARGET_SSE3"
- "addsubpd\t{%2, %0|%0, %2}"
- [(set_attr "type" "sseadd")
-+ (set_attr "atom_unit" "complex")
- (set_attr "mode" "V2DF")])
-
- (define_insn "avx_h<plusminus_insn>v4df3"
-@@ -1298,6 +1309,7 @@
- "TARGET_SSE3"
- "h<plusminus_mnemonic>ps\t{%2, %0|%0, %2}"
- [(set_attr "type" "sseadd")
-+ (set_attr "atom_unit" "complex")
- (set_attr "prefix_rep" "1")
- (set_attr "mode" "V4SF")])
-
-@@ -5066,6 +5078,7 @@
- "TARGET_SSE2 && ix86_binary_operator_ok (MULT, V8HImode, operands)"
- "pmaddwd\t{%2, %0|%0, %2}"
- [(set_attr "type" "sseiadd")
-+ (set_attr "atom_unit" "simul")
- (set_attr "prefix_data16" "1")
- (set_attr "mode" "TI")])
-
-@@ -7025,6 +7038,7 @@
- movq\t{%H1, %0|%0, %H1}
- mov{q}\t{%H1, %0|%0, %H1}"
- [(set_attr "type" "ssemov,sseishft,ssemov,imov")
-+ (set_attr "atom_unit" "*,sishuf,*,*")
- (set_attr "memory" "*,none,*,*")
- (set_attr "mode" "V2SF,TI,TI,DI")])
-
-@@ -7057,6 +7071,7 @@
- psrldq\t{$8, %0|%0, 8}
- movq\t{%H1, %0|%0, %H1}"
- [(set_attr "type" "ssemov,sseishft,ssemov")
-+ (set_attr "atom_unit" "*,sishuf,*")
- (set_attr "memory" "*,none,*")
- (set_attr "mode" "V2SF,TI,TI")])
-
-@@ -7614,6 +7629,7 @@
- "TARGET_SSE2"
- "psadbw\t{%2, %0|%0, %2}"
- [(set_attr "type" "sseiadd")
-+ (set_attr "atom_unit" "simul")
- (set_attr "prefix_data16" "1")
- (set_attr "mode" "TI")])
-
-@@ -7635,7 +7651,7 @@
- UNSPEC_MOVMSK))]
- "SSE_VEC_FLOAT_MODE_P (<MODE>mode)"
- "%vmovmskp<ssemodesuffixf2c>\t{%1, %0|%0, %1}"
-- [(set_attr "type" "ssecvt")
-+ [(set_attr "type" "ssemov")
- (set_attr "prefix" "maybe_vex")
- (set_attr "mode" "<MODE>")])
-
-@@ -7645,7 +7661,7 @@
- UNSPEC_MOVMSK))]
- "TARGET_SSE2"
- "%vpmovmskb\t{%1, %0|%0, %1}"
-- [(set_attr "type" "ssecvt")
-+ [(set_attr "type" "ssemov")
- (set_attr "prefix_data16" "1")
- (set_attr "prefix" "maybe_vex")
- (set_attr "mode" "SI")])
-@@ -7668,7 +7684,7 @@
- "TARGET_SSE2 && !TARGET_64BIT"
- ;; @@@ check ordering of operands in intel/nonintel syntax
- "%vmaskmovdqu\t{%2, %1|%1, %2}"
-- [(set_attr "type" "ssecvt")
-+ [(set_attr "type" "ssemov")
- (set_attr "prefix_data16" "1")
- (set_attr "prefix" "maybe_vex")
- (set_attr "mode" "TI")])
-@@ -7682,7 +7698,7 @@
- "TARGET_SSE2 && TARGET_64BIT"
- ;; @@@ check ordering of operands in intel/nonintel syntax
- "%vmaskmovdqu\t{%2, %1|%1, %2}"
-- [(set_attr "type" "ssecvt")
-+ [(set_attr "type" "ssemov")
- (set_attr "prefix_data16" "1")
- (set_attr "prefix" "maybe_vex")
- (set_attr "mode" "TI")])
-@@ -7693,6 +7709,7 @@
- "TARGET_SSE"
- "%vldmxcsr\t%0"
- [(set_attr "type" "sse")
-+ (set_attr "atom_sse_attr" "mxcsr")
- (set_attr "prefix" "maybe_vex")
- (set_attr "memory" "load")])
-
-@@ -7702,6 +7719,7 @@
- "TARGET_SSE"
- "%vstmxcsr\t%0"
- [(set_attr "type" "sse")
-+ (set_attr "atom_sse_attr" "mxcsr")
- (set_attr "prefix" "maybe_vex")
- (set_attr "memory" "store")])
-
-@@ -7720,6 +7738,7 @@
- "TARGET_SSE || TARGET_3DNOW_A"
- "sfence"
- [(set_attr "type" "sse")
-+ (set_attr "atom_sse_attr" "fence")
- (set_attr "memory" "unknown")])
-
- (define_insn "sse2_clflush"
-@@ -7728,6 +7747,7 @@
- "TARGET_SSE2"
- "clflush\t%a0"
- [(set_attr "type" "sse")
-+ (set_attr "atom_sse_attr" "fence")
- (set_attr "memory" "unknown")])
-
- (define_expand "sse2_mfence"
-@@ -7745,6 +7765,7 @@
- "TARGET_64BIT || TARGET_SSE2"
- "mfence"
- [(set_attr "type" "sse")
-+ (set_attr "atom_sse_attr" "fence")
- (set_attr "memory" "unknown")])
-
- (define_expand "sse2_lfence"
-@@ -7762,6 +7783,7 @@
- "TARGET_SSE2"
- "lfence"
- [(set_attr "type" "sse")
-+ (set_attr "atom_sse_attr" "lfence")
- (set_attr "memory" "unknown")])
-
- (define_insn "sse3_mwait"
-@@ -7885,6 +7907,7 @@
- "TARGET_SSSE3"
- "phaddw\t{%2, %0|%0, %2}"
- [(set_attr "type" "sseiadd")
-+ (set_attr "atom_unit" "complex")
- (set_attr "prefix_data16" "1")
- (set_attr "prefix_extra" "1")
- (set_attr "mode" "TI")])
-@@ -7913,6 +7936,7 @@
- "TARGET_SSSE3"
- "phaddw\t{%2, %0|%0, %2}"
- [(set_attr "type" "sseiadd")
-+ (set_attr "atom_unit" "complex")
- (set_attr "prefix_extra" "1")
- (set_attr "mode" "DI")])
-
-@@ -7967,6 +7991,7 @@
- "TARGET_SSSE3"
- "phaddd\t{%2, %0|%0, %2}"
- [(set_attr "type" "sseiadd")
-+ (set_attr "atom_unit" "complex")
- (set_attr "prefix_data16" "1")
- (set_attr "prefix_extra" "1")
- (set_attr "mode" "TI")])
-@@ -7987,6 +8012,7 @@
- "TARGET_SSSE3"
- "phaddd\t{%2, %0|%0, %2}"
- [(set_attr "type" "sseiadd")
-+ (set_attr "atom_unit" "complex")
- (set_attr "prefix_extra" "1")
- (set_attr "mode" "DI")])
-
-@@ -8073,6 +8099,7 @@
- "TARGET_SSSE3"
- "phaddsw\t{%2, %0|%0, %2}"
- [(set_attr "type" "sseiadd")
-+ (set_attr "atom_unit" "complex")
- (set_attr "prefix_data16" "1")
- (set_attr "prefix_extra" "1")
- (set_attr "mode" "TI")])
-@@ -8101,6 +8128,7 @@
- "TARGET_SSSE3"
- "phaddsw\t{%2, %0|%0, %2}"
- [(set_attr "type" "sseiadd")
-+ (set_attr "atom_unit" "complex")
- (set_attr "prefix_extra" "1")
- (set_attr "mode" "DI")])
-
-@@ -8187,6 +8215,7 @@
- "TARGET_SSSE3"
- "phsubw\t{%2, %0|%0, %2}"
- [(set_attr "type" "sseiadd")
-+ (set_attr "atom_unit" "complex")
- (set_attr "prefix_data16" "1")
- (set_attr "prefix_extra" "1")
- (set_attr "mode" "TI")])
-@@ -8215,6 +8244,7 @@
- "TARGET_SSSE3"
- "phsubw\t{%2, %0|%0, %2}"
- [(set_attr "type" "sseiadd")
-+ (set_attr "atom_unit" "complex")
- (set_attr "prefix_extra" "1")
- (set_attr "mode" "DI")])
-
-@@ -8269,6 +8299,7 @@
- "TARGET_SSSE3"
- "phsubd\t{%2, %0|%0, %2}"
- [(set_attr "type" "sseiadd")
-+ (set_attr "atom_unit" "complex")
- (set_attr "prefix_data16" "1")
- (set_attr "prefix_extra" "1")
- (set_attr "mode" "TI")])
-@@ -8289,6 +8320,7 @@
- "TARGET_SSSE3"
- "phsubd\t{%2, %0|%0, %2}"
- [(set_attr "type" "sseiadd")
-+ (set_attr "atom_unit" "complex")
- (set_attr "prefix_extra" "1")
- (set_attr "mode" "DI")])
-
-@@ -8375,6 +8407,7 @@
- "TARGET_SSSE3"
- "phsubsw\t{%2, %0|%0, %2}"
- [(set_attr "type" "sseiadd")
-+ (set_attr "atom_unit" "complex")
- (set_attr "prefix_data16" "1")
- (set_attr "prefix_extra" "1")
- (set_attr "mode" "TI")])
-@@ -8403,6 +8436,7 @@
- "TARGET_SSSE3"
- "phsubsw\t{%2, %0|%0, %2}"
- [(set_attr "type" "sseiadd")
-+ (set_attr "atom_unit" "complex")
- (set_attr "prefix_extra" "1")
- (set_attr "mode" "DI")])
-
-@@ -8509,6 +8543,7 @@
- "TARGET_SSSE3"
- "pmaddubsw\t{%2, %0|%0, %2}"
- [(set_attr "type" "sseiadd")
-+ (set_attr "atom_unit" "simul")
- (set_attr "prefix_data16" "1")
- (set_attr "prefix_extra" "1")
- (set_attr "mode" "TI")])
-@@ -8547,6 +8582,7 @@
- "TARGET_SSSE3"
- "pmaddubsw\t{%2, %0|%0, %2}"
- [(set_attr "type" "sseiadd")
-+ (set_attr "atom_unit" "simul")
- (set_attr "prefix_extra" "1")
- (set_attr "mode" "DI")])
-
-@@ -8754,6 +8790,7 @@
- return "palignr\t{%3, %2, %0|%0, %2, %3}";
- }
- [(set_attr "type" "sseishft")
-+ (set_attr "atom_unit" "sishuf")
- (set_attr "prefix_data16" "1")
- (set_attr "prefix_extra" "1")
- (set_attr "mode" "TI")])
-@@ -8770,6 +8807,7 @@
- return "palignr\t{%3, %2, %0|%0, %2, %3}";
- }
- [(set_attr "type" "sseishft")
-+ (set_attr "atom_unit" "sishuf")
- (set_attr "prefix_extra" "1")
- (set_attr "mode" "DI")])
-
-@@ -8956,7 +8994,7 @@
- UNSPEC_MOVNTDQA))]
- "TARGET_SSE4_1"
- "%vmovntdqa\t{%1, %0|%0, %1}"
-- [(set_attr "type" "ssecvt")
-+ [(set_attr "type" "ssemov")
- (set_attr "prefix_extra" "1")
- (set_attr "prefix" "maybe_vex")
- (set_attr "mode" "TI")])
-Index: gcc/config/i386/i386.opt
-===================================================================
---- gcc/config/i386/i386.opt (.../tags/gcc_4_4_0_release) (revision 146537)
-+++ gcc/config/i386/i386.opt (.../branches/ix86/gcc-4_4-branch) (revision 146537)
-@@ -228,6 +228,10 @@
- Target RejectNegative Joined Var(ix86_tune_string)
- Schedule code for given CPU
-
-+mabi=
-+Target RejectNegative Joined Var(ix86_abi_string)
-+Generate code that conforms to the given ABI
-+
- mveclibabi=
- Target RejectNegative Joined Var(ix86_veclibabi_string)
- Vector library ABI to use
-Index: gcc/config/i386/i386-c.c
-===================================================================
---- gcc/config/i386/i386-c.c (.../tags/gcc_4_4_0_release) (revision 146537)
-+++ gcc/config/i386/i386-c.c (.../branches/ix86/gcc-4_4-branch) (revision 146537)
-@@ -119,6 +119,10 @@
- def_or_undef (parse_in, "__core2");
- def_or_undef (parse_in, "__core2__");
- break;
-+ case PROCESSOR_ATOM:
-+ def_or_undef (parse_in, "__atom");
-+ def_or_undef (parse_in, "__atom__");
-+ break;
- /* use PROCESSOR_max to not set/unset the arch macro. */
- case PROCESSOR_max:
- break;
-@@ -187,6 +191,9 @@
- case PROCESSOR_CORE2:
- def_or_undef (parse_in, "__tune_core2__");
- break;
-+ case PROCESSOR_ATOM:
-+ def_or_undef (parse_in, "__tune_atom__");
-+ break;
- case PROCESSOR_GENERIC32:
- case PROCESSOR_GENERIC64:
- break;
-Index: gcc/config/i386/mingw32.h
-===================================================================
---- gcc/config/i386/mingw32.h (.../tags/gcc_4_4_0_release) (revision 146537)
-+++ gcc/config/i386/mingw32.h (.../branches/ix86/gcc-4_4-branch) (revision 146537)
-@@ -38,7 +38,7 @@
- builtin_define_std ("WINNT"); \
- builtin_define_with_int_value ("_INTEGRAL_MAX_BITS", \
- TYPE_PRECISION (intmax_type_node));\
-- if (TARGET_64BIT && DEFAULT_ABI == MS_ABI) \
-+ if (TARGET_64BIT && ix86_abi == MS_ABI) \
- { \
- builtin_define ("__MINGW64__"); \
- builtin_define_std ("WIN64"); \
-Index: gcc/config/i386/i386-protos.h
-===================================================================
---- gcc/config/i386/i386-protos.h (.../tags/gcc_4_4_0_release) (revision 146537)
-+++ gcc/config/i386/i386-protos.h (.../branches/ix86/gcc-4_4-branch) (revision 146537)
-@@ -85,6 +85,9 @@
- extern void ix86_expand_binary_operator (enum rtx_code,
- enum machine_mode, rtx[]);
- extern int ix86_binary_operator_ok (enum rtx_code, enum machine_mode, rtx[]);
-+extern bool ix86_lea_for_add_ok (enum rtx_code, rtx, rtx[]);
-+extern bool ix86_dep_by_shift_count (const_rtx set_insn, const_rtx use_insn);
-+extern bool ix86_agi_dependent (rtx set_insn, rtx use_insn);
- extern void ix86_expand_unary_operator (enum rtx_code, enum machine_mode,
- rtx[]);
- extern rtx ix86_build_const_vector (enum machine_mode, bool, rtx);
-@@ -139,9 +142,8 @@
- extern bool ix86_sol10_return_in_memory (const_tree,const_tree);
- extern rtx ix86_force_to_memory (enum machine_mode, rtx);
- extern void ix86_free_from_memory (enum machine_mode);
--extern int ix86_cfun_abi (void);
--extern int ix86_function_abi (const_tree);
--extern int ix86_function_type_abi (const_tree);
-+extern enum calling_abi ix86_cfun_abi (void);
-+extern enum calling_abi ix86_function_type_abi (const_tree);
- extern void ix86_call_abi_override (const_tree);
- extern tree ix86_fn_abi_va_list (tree);
- extern tree ix86_canonical_va_list_type (tree);
-Index: gcc/config/i386/i386.c
-===================================================================
---- gcc/config/i386/i386.c (.../tags/gcc_4_4_0_release) (revision 146537)
-+++ gcc/config/i386/i386.c (.../branches/ix86/gcc-4_4-branch) (revision 146537)
-@@ -1036,6 +1036,79 @@
- 1, /* cond_not_taken_branch_cost. */
- };
-
-+static const
-+struct processor_costs atom_cost = {
-+ COSTS_N_INSNS (1), /* cost of an add instruction */
-+ COSTS_N_INSNS (1) + 1, /* cost of a lea instruction */
-+ COSTS_N_INSNS (1), /* variable shift costs */
-+ COSTS_N_INSNS (1), /* constant shift costs */
-+ {COSTS_N_INSNS (3), /* cost of starting multiply for QI */
-+ COSTS_N_INSNS (4), /* HI */
-+ COSTS_N_INSNS (3), /* SI */
-+ COSTS_N_INSNS (4), /* DI */
-+ COSTS_N_INSNS (2)}, /* other */
-+ 0, /* cost of multiply per each bit set */
-+ {COSTS_N_INSNS (18), /* cost of a divide/mod for QI */
-+ COSTS_N_INSNS (26), /* HI */
-+ COSTS_N_INSNS (42), /* SI */
-+ COSTS_N_INSNS (74), /* DI */
-+ COSTS_N_INSNS (74)}, /* other */
-+ COSTS_N_INSNS (1), /* cost of movsx */
-+ COSTS_N_INSNS (1), /* cost of movzx */
-+ 8, /* "large" insn */
-+ 17, /* MOVE_RATIO */
-+ 2, /* cost for loading QImode using movzbl */
-+ {4, 4, 4}, /* cost of loading integer registers
-+ in QImode, HImode and SImode.
-+ Relative to reg-reg move (2). */
-+ {4, 4, 4}, /* cost of storing integer registers */
-+ 4, /* cost of reg,reg fld/fst */
-+ {12, 12, 12}, /* cost of loading fp registers
-+ in SFmode, DFmode and XFmode */
-+ {6, 6, 8}, /* cost of storing fp registers
-+ in SFmode, DFmode and XFmode */
-+ 2, /* cost of moving MMX register */
-+ {8, 8}, /* cost of loading MMX registers
-+ in SImode and DImode */
-+ {8, 8}, /* cost of storing MMX registers
-+ in SImode and DImode */
-+ 2, /* cost of moving SSE register */
-+ {8, 8, 8}, /* cost of loading SSE registers
-+ in SImode, DImode and TImode */
-+ {8, 8, 8}, /* cost of storing SSE registers
-+ in SImode, DImode and TImode */
-+ 5, /* MMX or SSE register to integer */
-+ 32, /* size of l1 cache. */
-+ 256, /* size of l2 cache. */
-+ 64, /* size of prefetch block */
-+ 6, /* number of parallel prefetches */
-+ 3, /* Branch cost */
-+ COSTS_N_INSNS (8), /* cost of FADD and FSUB insns. */
-+ COSTS_N_INSNS (8), /* cost of FMUL instruction. */
-+ COSTS_N_INSNS (20), /* cost of FDIV instruction. */
-+ COSTS_N_INSNS (8), /* cost of FABS instruction. */
-+ COSTS_N_INSNS (8), /* cost of FCHS instruction. */
-+ COSTS_N_INSNS (40), /* cost of FSQRT instruction. */
-+ {{libcall, {{11, loop}, {-1, rep_prefix_4_byte}}},
-+ {libcall, {{32, loop}, {64, rep_prefix_4_byte},
-+ {8192, rep_prefix_8_byte}, {-1, libcall}}}},
-+ {{libcall, {{8, loop}, {15, unrolled_loop},
-+ {2048, rep_prefix_4_byte}, {-1, libcall}}},
-+ {libcall, {{24, loop}, {32, unrolled_loop},
-+ {8192, rep_prefix_8_byte}, {-1, libcall}}}},
-+ 1, /* scalar_stmt_cost. */
-+ 1, /* scalar load_cost. */
-+ 1, /* scalar_store_cost. */
-+ 1, /* vec_stmt_cost. */
-+ 1, /* vec_to_scalar_cost. */
-+ 1, /* scalar_to_vec_cost. */
-+ 1, /* vec_align_load_cost. */
-+ 2, /* vec_unalign_load_cost. */
-+ 1, /* vec_store_cost. */
-+ 3, /* cond_taken_branch_cost. */
-+ 1, /* cond_not_taken_branch_cost. */
-+};
-+
- /* Generic64 should produce code tuned for Nocona and K8. */
- static const
- struct processor_costs generic64_cost = {
-@@ -1194,6 +1267,7 @@
- #define m_PENT4 (1<<PROCESSOR_PENTIUM4)
- #define m_NOCONA (1<<PROCESSOR_NOCONA)
- #define m_CORE2 (1<<PROCESSOR_CORE2)
-+#define m_ATOM (1<<PROCESSOR_ATOM)
-
- #define m_GEODE (1<<PROCESSOR_GEODE)
- #define m_K6 (1<<PROCESSOR_K6)
-@@ -1231,10 +1305,11 @@
- m_486 | m_PENT,
-
- /* X86_TUNE_UNROLL_STRLEN */
-- m_486 | m_PENT | m_PPRO | m_AMD_MULTIPLE | m_K6 | m_CORE2 | m_GENERIC,
-+ m_486 | m_PENT | m_ATOM | m_PPRO | m_AMD_MULTIPLE | m_K6
-+ | m_CORE2 | m_GENERIC,
-
- /* X86_TUNE_DEEP_BRANCH_PREDICTION */
-- m_PPRO | m_K6_GEODE | m_AMD_MULTIPLE | m_PENT4 | m_GENERIC,
-+ m_ATOM | m_PPRO | m_K6_GEODE | m_AMD_MULTIPLE | m_PENT4 | m_GENERIC,
-
- /* X86_TUNE_BRANCH_PREDICTION_HINTS: Branch hints were put in P4 based
- on simulation result. But after P4 was made, no performance benefit
-@@ -1246,12 +1321,12 @@
- ~m_386,
-
- /* X86_TUNE_USE_SAHF */
-- m_PPRO | m_K6_GEODE | m_K8 | m_AMDFAM10 | m_PENT4
-+ m_ATOM | m_PPRO | m_K6_GEODE | m_K8 | m_AMDFAM10 | m_PENT4
- | m_NOCONA | m_CORE2 | m_GENERIC,
-
- /* X86_TUNE_MOVX: Enable to zero extend integer registers to avoid
- partial dependencies. */
-- m_AMD_MULTIPLE | m_PPRO | m_PENT4 | m_NOCONA
-+ m_AMD_MULTIPLE | m_ATOM | m_PPRO | m_PENT4 | m_NOCONA
- | m_CORE2 | m_GENERIC | m_GEODE /* m_386 | m_K6 */,
-
- /* X86_TUNE_PARTIAL_REG_STALL: We probably ought to watch for partial
-@@ -1271,13 +1346,13 @@
- m_386 | m_486 | m_K6_GEODE,
-
- /* X86_TUNE_USE_SIMODE_FIOP */
-- ~(m_PPRO | m_AMD_MULTIPLE | m_PENT | m_CORE2 | m_GENERIC),
-+ ~(m_PPRO | m_AMD_MULTIPLE | m_PENT | m_ATOM | m_CORE2 | m_GENERIC),
-
- /* X86_TUNE_USE_MOV0 */
- m_K6,
-
- /* X86_TUNE_USE_CLTD */
-- ~(m_PENT | m_K6 | m_CORE2 | m_GENERIC),
-+ ~(m_PENT | m_ATOM | m_K6 | m_CORE2 | m_GENERIC),
-
- /* X86_TUNE_USE_XCHGB: Use xchgb %rh,%rl instead of rolw/rorw $8,rx. */
- m_PENT4,
-@@ -1292,8 +1367,8 @@
- ~(m_PENT | m_PPRO),
-
- /* X86_TUNE_PROMOTE_QIMODE */
-- m_K6_GEODE | m_PENT | m_386 | m_486 | m_AMD_MULTIPLE | m_CORE2
-- | m_GENERIC /* | m_PENT4 ? */,
-+ m_K6_GEODE | m_PENT | m_ATOM | m_386 | m_486 | m_AMD_MULTIPLE
-+ | m_CORE2 | m_GENERIC /* | m_PENT4 ? */,
-
- /* X86_TUNE_FAST_PREFIX */
- ~(m_PENT | m_486 | m_386),
-@@ -1317,26 +1392,28 @@
- m_PPRO,
-
- /* X86_TUNE_ADD_ESP_4: Enable if add/sub is preferred over 1/2 push/pop. */
-- m_AMD_MULTIPLE | m_K6_GEODE | m_PENT4 | m_NOCONA | m_CORE2 | m_GENERIC,
-+ m_ATOM | m_AMD_MULTIPLE | m_K6_GEODE | m_PENT4 | m_NOCONA
-+ | m_CORE2 | m_GENERIC,
-
- /* X86_TUNE_ADD_ESP_8 */
-- m_AMD_MULTIPLE | m_PPRO | m_K6_GEODE | m_386
-+ m_AMD_MULTIPLE | m_ATOM | m_PPRO | m_K6_GEODE | m_386
- | m_486 | m_PENT4 | m_NOCONA | m_CORE2 | m_GENERIC,
-
- /* X86_TUNE_SUB_ESP_4 */
-- m_AMD_MULTIPLE | m_PPRO | m_PENT4 | m_NOCONA | m_CORE2 | m_GENERIC,
-+ m_AMD_MULTIPLE | m_ATOM | m_PPRO | m_PENT4 | m_NOCONA | m_CORE2
-+ | m_GENERIC,
-
- /* X86_TUNE_SUB_ESP_8 */
-- m_AMD_MULTIPLE | m_PPRO | m_386 | m_486
-+ m_AMD_MULTIPLE | m_ATOM | m_PPRO | m_386 | m_486
- | m_PENT4 | m_NOCONA | m_CORE2 | m_GENERIC,
-
- /* X86_TUNE_INTEGER_DFMODE_MOVES: Enable if integer moves are preferred
- for DFmode copies */
-- ~(m_AMD_MULTIPLE | m_PENT4 | m_NOCONA | m_PPRO | m_CORE2
-+ ~(m_AMD_MULTIPLE | m_ATOM | m_PENT4 | m_NOCONA | m_PPRO | m_CORE2
- | m_GENERIC | m_GEODE),
-
- /* X86_TUNE_PARTIAL_REG_DEPENDENCY */
-- m_AMD_MULTIPLE | m_PENT4 | m_NOCONA | m_CORE2 | m_GENERIC,
-+ m_AMD_MULTIPLE | m_ATOM | m_PENT4 | m_NOCONA | m_CORE2 | m_GENERIC,
-
- /* X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY: In the Generic model we have a
- conflict here in between PPro/Pentium4 based chips that thread 128bit
-@@ -1347,7 +1424,8 @@
- shows that disabling this option on P4 brings over 20% SPECfp regression,
- while enabling it on K8 brings roughly 2.4% regression that can be partly
- masked by careful scheduling of moves. */
-- m_PENT4 | m_NOCONA | m_PPRO | m_CORE2 | m_GENERIC | m_AMDFAM10,
-+ m_ATOM | m_PENT4 | m_NOCONA | m_PPRO | m_CORE2 | m_GENERIC
-+ | m_AMDFAM10,
-
- /* X86_TUNE_SSE_UNALIGNED_MOVE_OPTIMAL */
- m_AMDFAM10,
-@@ -1365,13 +1443,13 @@
- m_PPRO | m_PENT4 | m_NOCONA,
-
- /* X86_TUNE_MEMORY_MISMATCH_STALL */
-- m_AMD_MULTIPLE | m_PENT4 | m_NOCONA | m_CORE2 | m_GENERIC,
-+ m_AMD_MULTIPLE | m_ATOM | m_PENT4 | m_NOCONA | m_CORE2 | m_GENERIC,
-
- /* X86_TUNE_PROLOGUE_USING_MOVE */
-- m_ATHLON_K8 | m_PPRO | m_CORE2 | m_GENERIC,
-+ m_ATHLON_K8 | m_ATOM | m_PPRO | m_CORE2 | m_GENERIC,
-
- /* X86_TUNE_EPILOGUE_USING_MOVE */
-- m_ATHLON_K8 | m_PPRO | m_CORE2 | m_GENERIC,
-+ m_ATHLON_K8 | m_ATOM | m_PPRO | m_CORE2 | m_GENERIC,
-
- /* X86_TUNE_SHIFT1 */
- ~m_486,
-@@ -1380,29 +1458,32 @@
- m_AMD_MULTIPLE,
-
- /* X86_TUNE_INTER_UNIT_MOVES */
-- ~(m_AMD_MULTIPLE | m_GENERIC),
-+ ~(m_AMD_MULTIPLE | m_ATOM | m_GENERIC),
-
- /* X86_TUNE_INTER_UNIT_CONVERSIONS */
- ~(m_AMDFAM10),
-
- /* X86_TUNE_FOUR_JUMP_LIMIT: Some CPU cores are not able to predict more
- than 4 branch instructions in the 16 byte window. */
-- m_PPRO | m_AMD_MULTIPLE | m_PENT4 | m_NOCONA | m_CORE2 | m_GENERIC,
-+ m_ATOM | m_PPRO | m_AMD_MULTIPLE | m_PENT4 | m_NOCONA | m_CORE2
-+ | m_GENERIC,
-
- /* X86_TUNE_SCHEDULE */
-- m_PPRO | m_AMD_MULTIPLE | m_K6_GEODE | m_PENT | m_CORE2 | m_GENERIC,
-+ m_PPRO | m_AMD_MULTIPLE | m_K6_GEODE | m_PENT | m_ATOM | m_CORE2
-+ | m_GENERIC,
-
- /* X86_TUNE_USE_BT */
-- m_AMD_MULTIPLE | m_CORE2 | m_GENERIC,
-+ m_AMD_MULTIPLE | m_ATOM | m_CORE2 | m_GENERIC,
-
- /* X86_TUNE_USE_INCDEC */
-- ~(m_PENT4 | m_NOCONA | m_GENERIC),
-+ ~(m_PENT4 | m_NOCONA | m_GENERIC | m_ATOM),
-
- /* X86_TUNE_PAD_RETURNS */
- m_AMD_MULTIPLE | m_CORE2 | m_GENERIC,
-
- /* X86_TUNE_EXT_80387_CONSTANTS */
-- m_K6_GEODE | m_ATHLON_K8 | m_PENT4 | m_NOCONA | m_PPRO | m_CORE2 | m_GENERIC,
-+ m_K6_GEODE | m_ATHLON_K8 | m_ATOM | m_PENT4 | m_NOCONA | m_PPRO
-+ | m_CORE2 | m_GENERIC,
-
- /* X86_TUNE_SHORTEN_X87_SSE */
- ~m_K8,
-@@ -1447,6 +1528,10 @@
- with a subsequent conditional jump instruction into a single
- compare-and-branch uop. */
- m_CORE2,
-+
-+ /* X86_TUNE_OPT_AGU: Optimize for Address Generation Unit. This flag
-+ will impact LEA instruction selection. */
-+ m_ATOM,
- };
-
- /* Feature tests against the various architecture variations. */
-@@ -1472,10 +1557,11 @@
- };
-
- static const unsigned int x86_accumulate_outgoing_args
-- = m_AMD_MULTIPLE | m_PENT4 | m_NOCONA | m_PPRO | m_CORE2 | m_GENERIC;
-+ = m_AMD_MULTIPLE | m_ATOM | m_PENT4 | m_NOCONA | m_PPRO | m_CORE2
-+ | m_GENERIC;
-
- static const unsigned int x86_arch_always_fancy_math_387
-- = m_PENT | m_PPRO | m_AMD_MULTIPLE | m_PENT4
-+ = m_PENT | m_ATOM | m_PPRO | m_AMD_MULTIPLE | m_PENT4
- | m_NOCONA | m_CORE2 | m_GENERIC;
-
- static enum stringop_alg stringop_alg = no_stringop;
-@@ -1743,6 +1829,9 @@
- /* Alignment for incoming stack boundary in bits. */
- unsigned int ix86_incoming_stack_boundary;
-
-+/* The abi used by target. */
-+enum calling_abi ix86_abi;
-+
- /* Values 1-5: see jump.c */
- int ix86_branch_cost;
-
-@@ -1819,6 +1908,8 @@
- static bool ix86_can_inline_p (tree, tree);
- static void ix86_set_current_function (tree);
-
-+static enum calling_abi ix86_function_abi (const_tree);
-+
- \f
- /* The svr4 ABI for the i386 says that records and unions are returned
- in memory. */
-@@ -1953,7 +2044,8 @@
- {&core2_cost, 16, 10, 16, 10, 16},
- {&generic32_cost, 16, 7, 16, 7, 16},
- {&generic64_cost, 16, 10, 16, 10, 16},
-- {&amdfam10_cost, 32, 24, 32, 7, 32}
-+ {&amdfam10_cost, 32, 24, 32, 7, 32},
-+ {&atom_cost, 16, 7, 16, 7, 16}
- };
-
- static const char *const cpu_names[TARGET_CPU_DEFAULT_max] =
-@@ -1971,6 +2063,7 @@
- "prescott",
- "nocona",
- "core2",
-+ "atom",
- "geode",
- "k6",
- "k6-2",
-@@ -2529,6 +2622,9 @@
- {"core2", PROCESSOR_CORE2, CPU_CORE2,
- PTA_64BIT | PTA_MMX | PTA_SSE | PTA_SSE2 | PTA_SSE3
- | PTA_SSSE3 | PTA_CX16},
-+ {"atom", PROCESSOR_ATOM, CPU_ATOM,
-+ PTA_64BIT | PTA_MMX | PTA_SSE | PTA_SSE2 | PTA_SSE3
-+ | PTA_SSSE3 | PTA_CX16},
- {"geode", PROCESSOR_GEODE, CPU_GEODE,
- PTA_MMX | PTA_3DNOW | PTA_3DNOW_A |PTA_PREFETCH_SSE},
- {"k6", PROCESSOR_K6, CPU_K6, PTA_MMX},
-@@ -2716,6 +2812,20 @@
- error ("bad value (%s) for %sarch=%s %s",
- ix86_arch_string, prefix, suffix, sw);
-
-+ /* Validate -mabi= value. */
-+ if (ix86_abi_string)
-+ {
-+ if (strcmp (ix86_abi_string, "sysv") == 0)
-+ ix86_abi = SYSV_ABI;
-+ else if (strcmp (ix86_abi_string, "ms") == 0)
-+ ix86_abi = MS_ABI;
-+ else
-+ error ("unknown ABI (%s) for %sabi=%s %s",
-+ ix86_abi_string, prefix, suffix, sw);
-+ }
-+ else
-+ ix86_abi = DEFAULT_ABI;
-+
- if (ix86_cmodel_string != 0)
- {
- if (!strcmp (ix86_cmodel_string, "small"))
-@@ -4515,14 +4625,14 @@
- default ABI. */
-
- /* RAX is used as hidden argument to va_arg functions. */
-- if (DEFAULT_ABI == SYSV_ABI && regno == AX_REG)
-+ if (ix86_abi == SYSV_ABI && regno == AX_REG)
- return true;
-
-- if (DEFAULT_ABI == MS_ABI)
-+ if (ix86_abi == MS_ABI)
- parm_regs = x86_64_ms_abi_int_parameter_registers;
- else
- parm_regs = x86_64_int_parameter_registers;
-- for (i = 0; i < (DEFAULT_ABI == MS_ABI ? X64_REGPARM_MAX
-+ for (i = 0; i < (ix86_abi == MS_ABI ? X64_REGPARM_MAX
- : X86_64_REGPARM_MAX); i++)
- if (regno == parm_regs[i])
- return true;
-@@ -4550,7 +4660,7 @@
- int
- ix86_reg_parm_stack_space (const_tree fndecl)
- {
-- int call_abi = SYSV_ABI;
-+ enum calling_abi call_abi = SYSV_ABI;
- if (fndecl != NULL_TREE && TREE_CODE (fndecl) == FUNCTION_DECL)
- call_abi = ix86_function_abi (fndecl);
- else
-@@ -4562,37 +4672,39 @@
-
- /* Returns value SYSV_ABI, MS_ABI dependent on fntype, specifying the
- call abi used. */
--int
-+enum calling_abi
- ix86_function_type_abi (const_tree fntype)
- {
- if (TARGET_64BIT && fntype != NULL)
- {
-- int abi;
-- if (DEFAULT_ABI == SYSV_ABI)
-- abi = lookup_attribute ("ms_abi", TYPE_ATTRIBUTES (fntype)) ? MS_ABI : SYSV_ABI;
-- else
-- abi = lookup_attribute ("sysv_abi", TYPE_ATTRIBUTES (fntype)) ? SYSV_ABI : MS_ABI;
--
-+ enum calling_abi abi = ix86_abi;
-+ if (abi == SYSV_ABI)
-+ {
-+ if (lookup_attribute ("ms_abi", TYPE_ATTRIBUTES (fntype)))
-+ abi = MS_ABI;
-+ }
-+ else if (lookup_attribute ("sysv_abi", TYPE_ATTRIBUTES (fntype)))
-+ abi = SYSV_ABI;
- return abi;
- }
-- return DEFAULT_ABI;
-+ return ix86_abi;
- }
-
--int
-+static enum calling_abi
- ix86_function_abi (const_tree fndecl)
- {
- if (! fndecl)
-- return DEFAULT_ABI;
-+ return ix86_abi;
- return ix86_function_type_abi (TREE_TYPE (fndecl));
- }
-
- /* Returns value SYSV_ABI, MS_ABI dependent on cfun, specifying the
- call abi used. */
--int
-+enum calling_abi
- ix86_cfun_abi (void)
- {
- if (! cfun || ! TARGET_64BIT)
-- return DEFAULT_ABI;
-+ return ix86_abi;
- return cfun->machine->call_abi;
- }
-
-@@ -4606,7 +4718,7 @@
- ix86_call_abi_override (const_tree fndecl)
- {
- if (fndecl == NULL_TREE)
-- cfun->machine->call_abi = DEFAULT_ABI;
-+ cfun->machine->call_abi = ix86_abi;
- else
- cfun->machine->call_abi = ix86_function_type_abi (TREE_TYPE (fndecl));
- }
-@@ -4646,8 +4758,8 @@
- cum->nregs = ix86_regparm;
- if (TARGET_64BIT)
- {
-- if (cum->call_abi != DEFAULT_ABI)
-- cum->nregs = DEFAULT_ABI != SYSV_ABI ? X86_64_REGPARM_MAX
-+ if (cum->call_abi != ix86_abi)
-+ cum->nregs = ix86_abi != SYSV_ABI ? X86_64_REGPARM_MAX
- : X64_REGPARM_MAX;
- }
- if (TARGET_SSE)
-@@ -4655,8 +4767,8 @@
- cum->sse_nregs = SSE_REGPARM_MAX;
- if (TARGET_64BIT)
- {
-- if (cum->call_abi != DEFAULT_ABI)
-- cum->sse_nregs = DEFAULT_ABI != SYSV_ABI ? X86_64_SSE_REGPARM_MAX
-+ if (cum->call_abi != ix86_abi)
-+ cum->sse_nregs = ix86_abi != SYSV_ABI ? X86_64_SSE_REGPARM_MAX
- : X64_SSE_REGPARM_MAX;
- }
- }
-@@ -5619,7 +5731,7 @@
- if (type)
- mode = type_natural_mode (type, NULL);
-
-- if (TARGET_64BIT && (cum ? cum->call_abi : DEFAULT_ABI) == MS_ABI)
-+ if (TARGET_64BIT && (cum ? cum->call_abi : ix86_abi) == MS_ABI)
- function_arg_advance_ms_64 (cum, bytes, words);
- else if (TARGET_64BIT)
- function_arg_advance_64 (cum, mode, type, words, named);
-@@ -5765,9 +5877,9 @@
- if (mode == VOIDmode)
- return GEN_INT (cum->maybe_vaarg
- ? (cum->sse_nregs < 0
-- ? (cum->call_abi == DEFAULT_ABI
-+ ? (cum->call_abi == ix86_abi
- ? SSE_REGPARM_MAX
-- : (DEFAULT_ABI != SYSV_ABI ? X86_64_SSE_REGPARM_MAX
-+ : (ix86_abi != SYSV_ABI ? X86_64_SSE_REGPARM_MAX
- : X64_SSE_REGPARM_MAX))
- : cum->sse_regno)
- : -1);
-@@ -5861,7 +5973,7 @@
- if (type && TREE_CODE (type) == VECTOR_TYPE)
- mode = type_natural_mode (type, cum);
-
-- if (TARGET_64BIT && (cum ? cum->call_abi : DEFAULT_ABI) == MS_ABI)
-+ if (TARGET_64BIT && (cum ? cum->call_abi : ix86_abi) == MS_ABI)
- return function_arg_ms_64 (cum, mode, omode, named, bytes);
- else if (TARGET_64BIT)
- return function_arg_64 (cum, mode, omode, type, named);
-@@ -5881,7 +5993,7 @@
- const_tree type, bool named ATTRIBUTE_UNUSED)
- {
- /* See Windows x64 Software Convention. */
-- if (TARGET_64BIT && (cum ? cum->call_abi : DEFAULT_ABI) == MS_ABI)
-+ if (TARGET_64BIT && (cum ? cum->call_abi : ix86_abi) == MS_ABI)
- {
- int msize = (int) GET_MODE_SIZE (mode);
- if (type)
-@@ -6021,7 +6133,7 @@
- /* TODO: The function should depend on current function ABI but
- builtins.c would need updating then. Therefore we use the
- default ABI. */
-- if (TARGET_64BIT && DEFAULT_ABI == MS_ABI)
-+ if (TARGET_64BIT && ix86_abi == MS_ABI)
- return false;
- return TARGET_FLOAT_RETURNS_IN_80387;
-
-@@ -6417,13 +6529,13 @@
- static tree
- ix86_build_builtin_va_list (void)
- {
-- tree ret = ix86_build_builtin_va_list_abi (DEFAULT_ABI);
-+ tree ret = ix86_build_builtin_va_list_abi (ix86_abi);
-
- /* Initialize abi specific va_list builtin types. */
- if (TARGET_64BIT)
- {
- tree t;
-- if (DEFAULT_ABI == MS_ABI)
-+ if (ix86_abi == MS_ABI)
- {
- t = ix86_build_builtin_va_list_abi (SYSV_ABI);
- if (TREE_CODE (t) != RECORD_TYPE)
-@@ -6437,7 +6549,7 @@
- t = build_variant_type_copy (t);
- sysv_va_list_type_node = t;
- }
-- if (DEFAULT_ABI != MS_ABI)
-+ if (ix86_abi != MS_ABI)
- {
- t = ix86_build_builtin_va_list_abi (MS_ABI);
- if (TREE_CODE (t) != RECORD_TYPE)
-@@ -6470,8 +6582,8 @@
- int i;
- int regparm = ix86_regparm;
-
-- if (cum->call_abi != DEFAULT_ABI)
-- regparm = DEFAULT_ABI != SYSV_ABI ? X86_64_REGPARM_MAX : X64_REGPARM_MAX;
-+ if (cum->call_abi != ix86_abi)
-+ regparm = ix86_abi != SYSV_ABI ? X86_64_REGPARM_MAX : X64_REGPARM_MAX;
-
- /* GPR size of varargs save area. */
- if (cfun->va_list_gpr_size)
-@@ -6624,7 +6736,7 @@
- return true;
- canonic = ix86_canonical_va_list_type (type);
- return (canonic == ms_va_list_type_node
-- || (DEFAULT_ABI == MS_ABI && canonic == va_list_type_node));
-+ || (ix86_abi == MS_ABI && canonic == va_list_type_node));
- }
-
- /* Implement va_start. */
-@@ -12903,6 +13015,316 @@
- emit_move_insn (operands[0], dst);
- }
-
-+#define LEA_SEARCH_THRESHOLD 12
-+
-+/* Search backward for non-agu definition of register number REGNO1
-+ or register number REGNO2 in INSN's basic block until
-+ 1. Pass LEA_SEARCH_THRESHOLD instructions, or
-+ 2. Reach BB boundary, or
-+ 3. Reach agu definition.
-+ Returns the distance between the non-agu definition point and INSN.
-+ If no definition point, returns -1. */
-+
-+static int
-+distance_non_agu_define (unsigned int regno1, unsigned int regno2,
-+ rtx insn)
-+{
-+ basic_block bb = BLOCK_FOR_INSN (insn);
-+ int distance = 0;
-+ df_ref *def_rec;
-+ enum attr_type insn_type;
-+
-+ if (insn != BB_HEAD (bb))
-+ {
-+ rtx prev = PREV_INSN (insn);
-+ while (prev && distance < LEA_SEARCH_THRESHOLD)
-+ {
-+ if (INSN_P (prev))
-+ {
-+ distance++;
-+ for (def_rec = DF_INSN_DEFS (prev); *def_rec; def_rec++)
-+ if (DF_REF_TYPE (*def_rec) == DF_REF_REG_DEF
-+ && !DF_REF_IS_ARTIFICIAL (*def_rec)
-+ && (regno1 == DF_REF_REGNO (*def_rec)
-+ || regno2 == DF_REF_REGNO (*def_rec)))
-+ {
-+ insn_type = get_attr_type (prev);
-+ if (insn_type != TYPE_LEA)
-+ goto done;
-+ }
-+ }
-+ if (prev == BB_HEAD (bb))
-+ break;
-+ prev = PREV_INSN (prev);
-+ }
-+ }
-+
-+ if (distance < LEA_SEARCH_THRESHOLD)
-+ {
-+ edge e;
-+ edge_iterator ei;
-+ bool simple_loop = false;
-+
-+ FOR_EACH_EDGE (e, ei, bb->preds)
-+ if (e->src == bb)
-+ {
-+ simple_loop = true;
-+ break;
-+ }
-+
-+ if (simple_loop)
-+ {
-+ rtx prev = BB_END (bb);
-+ while (prev
-+ && prev != insn
-+ && distance < LEA_SEARCH_THRESHOLD)
-+ {
-+ if (INSN_P (prev))
-+ {
-+ distance++;
-+ for (def_rec = DF_INSN_DEFS (prev); *def_rec; def_rec++)
-+ if (DF_REF_TYPE (*def_rec) == DF_REF_REG_DEF
-+ && !DF_REF_IS_ARTIFICIAL (*def_rec)
-+ && (regno1 == DF_REF_REGNO (*def_rec)
-+ || regno2 == DF_REF_REGNO (*def_rec)))
-+ {
-+ insn_type = get_attr_type (prev);
-+ if (insn_type != TYPE_LEA)
-+ goto done;
-+ }
-+ }
-+ prev = PREV_INSN (prev);
-+ }
-+ }
-+ }
-+
-+ distance = -1;
-+
-+done:
-+ /* get_attr_type may modify recog data. We want to make sure
-+ that recog data is valid for instruction INSN, on which
-+ distance_non_agu_define is called. INSN is unchanged here. */
-+ extract_insn_cached (insn);
-+ return distance;
-+}
-+
-+/* Return the distance between INSN and the next insn that uses
-+ register number REGNO0 in memory address. Return -1 if no such
-+ a use is found within LEA_SEARCH_THRESHOLD or REGNO0 is set. */
-+
-+static int
-+distance_agu_use (unsigned int regno0, rtx insn)
-+{
-+ basic_block bb = BLOCK_FOR_INSN (insn);
-+ int distance = 0;
-+ df_ref *def_rec;
-+ df_ref *use_rec;
-+
-+ if (insn != BB_END (bb))
-+ {
-+ rtx next = NEXT_INSN (insn);
-+ while (next && distance < LEA_SEARCH_THRESHOLD)
-+ {
-+ if (INSN_P (next))
-+ {
-+ distance++;
-+
-+ for (use_rec = DF_INSN_USES (next); *use_rec; use_rec++)
-+ if ((DF_REF_TYPE (*use_rec) == DF_REF_REG_MEM_LOAD
-+ || DF_REF_TYPE (*use_rec) == DF_REF_REG_MEM_STORE)
-+ && regno0 == DF_REF_REGNO (*use_rec))
-+ {
-+ /* Return DISTANCE if OP0 is used in memory
-+ address in NEXT. */
-+ return distance;
-+ }
-+
-+ for (def_rec = DF_INSN_DEFS (next); *def_rec; def_rec++)
-+ if (DF_REF_TYPE (*def_rec) == DF_REF_REG_DEF
-+ && !DF_REF_IS_ARTIFICIAL (*def_rec)
-+ && regno0 == DF_REF_REGNO (*def_rec))
-+ {
-+ /* Return -1 if OP0 is set in NEXT. */
-+ return -1;
-+ }
-+ }
-+ if (next == BB_END (bb))
-+ break;
-+ next = NEXT_INSN (next);
-+ }
-+ }
-+
-+ if (distance < LEA_SEARCH_THRESHOLD)
-+ {
-+ edge e;
-+ edge_iterator ei;
-+ bool simple_loop = false;
-+
-+ FOR_EACH_EDGE (e, ei, bb->succs)
-+ if (e->dest == bb)
-+ {
-+ simple_loop = true;
-+ break;
-+ }
-+
-+ if (simple_loop)
-+ {
-+ rtx next = BB_HEAD (bb);
-+ while (next
-+ && next != insn
-+ && distance < LEA_SEARCH_THRESHOLD)
-+ {
-+ if (INSN_P (next))
-+ {
-+ distance++;
-+
-+ for (use_rec = DF_INSN_USES (next); *use_rec; use_rec++)
-+ if ((DF_REF_TYPE (*use_rec) == DF_REF_REG_MEM_LOAD
-+ || DF_REF_TYPE (*use_rec) == DF_REF_REG_MEM_STORE)
-+ && regno0 == DF_REF_REGNO (*use_rec))
-+ {
-+ /* Return DISTANCE if OP0 is used in memory
-+ address in NEXT. */
-+ return distance;
-+ }
-+
-+ for (def_rec = DF_INSN_DEFS (next); *def_rec; def_rec++)
-+ if (DF_REF_TYPE (*def_rec) == DF_REF_REG_DEF
-+ && !DF_REF_IS_ARTIFICIAL (*def_rec)
-+ && regno0 == DF_REF_REGNO (*def_rec))
-+ {
-+ /* Return -1 if OP0 is set in NEXT. */
-+ return -1;
-+ }
-+
-+ }
-+ next = NEXT_INSN (next);
-+ }
-+ }
-+ }
-+
-+ return -1;
-+}
-+
-+/* Define this macro to tune LEA priority vs ADD, it take effect when
-+ there is a dilemma of choicing LEA or ADD
-+ Negative value: ADD is more preferred than LEA
-+ Zero: Netrual
-+ Positive value: LEA is more preferred than ADD*/
-+#define IX86_LEA_PRIORITY 2
-+
-+/* Return true if it is ok to optimize an ADD operation to LEA
-+ operation to avoid flag register consumation. For the processors
-+ like ATOM, if the destination register of LEA holds an actual
-+ address which will be used soon, LEA is better and otherwise ADD
-+ is better. */
-+
-+bool
-+ix86_lea_for_add_ok (enum rtx_code code ATTRIBUTE_UNUSED,
-+ rtx insn, rtx operands[])
-+{
-+ unsigned int regno0 = true_regnum (operands[0]);
-+ unsigned int regno1 = true_regnum (operands[1]);
-+ unsigned int regno2;
-+
-+ if (!TARGET_OPT_AGU || optimize_function_for_size_p (cfun))
-+ return regno0 != regno1;
-+
-+ regno2 = true_regnum (operands[2]);
-+
-+ /* If a = b + c, (a!=b && a!=c), must use lea form. */
-+ if (regno0 != regno1 && regno0 != regno2)
-+ return true;
-+ else
-+ {
-+ int dist_define, dist_use;
-+ dist_define = distance_non_agu_define (regno1, regno2, insn);
-+ if (dist_define <= 0)
-+ return true;
-+
-+ /* If this insn has both backward non-agu dependence and forward
-+ agu dependence, the one with short distance take effect. */
-+ dist_use = distance_agu_use (regno0, insn);
-+ if (dist_use <= 0
-+ || (dist_define + IX86_LEA_PRIORITY) < dist_use)
-+ return false;
-+
-+ return true;
-+ }
-+}
-+
-+/* Return true if destination reg of SET_BODY is shift count of
-+ USE_BODY. */
-+
-+static bool
-+ix86_dep_by_shift_count_body (const_rtx set_body, const_rtx use_body)
-+{
-+ rtx set_dest;
-+ rtx shift_rtx;
-+ int i;
-+
-+ /* Retrieve destination of SET_BODY. */
-+ switch (GET_CODE (set_body))
-+ {
-+ case SET:
-+ set_dest = SET_DEST (set_body);
-+ if (!set_dest || !REG_P (set_dest))
-+ return false;
-+ break;
-+ case PARALLEL:
-+ for (i = XVECLEN (set_body, 0) - 1; i >= 0; i--)
-+ if (ix86_dep_by_shift_count_body (XVECEXP (set_body, 0, i),
-+ use_body))
-+ return true;
-+ default:
-+ return false;
-+ break;
-+ }
-+
-+ /* Retrieve shift count of USE_BODY. */
-+ switch (GET_CODE (use_body))
-+ {
-+ case SET:
-+ shift_rtx = XEXP (use_body, 1);
-+ break;
-+ case PARALLEL:
-+ for (i = XVECLEN (use_body, 0) - 1; i >= 0; i--)
-+ if (ix86_dep_by_shift_count_body (set_body,
-+ XVECEXP (use_body, 0, i)))
-+ return true;
-+ default:
-+ return false;
-+ break;
-+ }
-+
-+ if (shift_rtx
-+ && (GET_CODE (shift_rtx) == ASHIFT
-+ || GET_CODE (shift_rtx) == LSHIFTRT
-+ || GET_CODE (shift_rtx) == ASHIFTRT
-+ || GET_CODE (shift_rtx) == ROTATE
-+ || GET_CODE (shift_rtx) == ROTATERT))
-+ {
-+ rtx shift_count = XEXP (shift_rtx, 1);
-+
-+ /* Return true if shift count is dest of SET_BODY. */
-+ if (REG_P (shift_count)
-+ && true_regnum (set_dest) == true_regnum (shift_count))
-+ return true;
-+ }
-+
-+ return false;
-+}
-+
-+/* Return true if destination reg of SET_INSN is shift count of
-+ USE_INSN. */
-+
-+bool
-+ix86_dep_by_shift_count (const_rtx set_insn, const_rtx use_insn)
-+{
-+ return ix86_dep_by_shift_count_body (PATTERN (set_insn),
-+ PATTERN (use_insn));
-+}
-+
- /* Return TRUE or FALSE depending on whether the unary operator meets the
- appropriate constraints. */
-
-@@ -18761,7 +19183,7 @@
- f = GGC_CNEW (struct machine_function);
- f->use_fast_prologue_epilogue_nregs = -1;
- f->tls_descriptor_call_expanded_p = 0;
-- f->call_abi = DEFAULT_ABI;
-+ f->call_abi = ix86_abi;
-
- return f;
- }
-@@ -19022,6 +19444,7 @@
- switch (ix86_tune)
- {
- case PROCESSOR_PENTIUM:
-+ case PROCESSOR_ATOM:
- case PROCESSOR_K6:
- return 2;
-
-@@ -19088,41 +19511,21 @@
- return 1;
- }
-
--/* A subroutine of ix86_adjust_cost -- return true iff INSN has a memory
-- address with operands set by DEP_INSN. */
-+/* Return true iff USE_INSN has a memory address with operands set by
-+ SET_INSN. */
-
--static int
--ix86_agi_dependent (rtx insn, rtx dep_insn, enum attr_type insn_type)
-+bool
-+ix86_agi_dependent (rtx set_insn, rtx use_insn)
- {
-- rtx addr;
--
-- if (insn_type == TYPE_LEA
-- && TARGET_PENTIUM)
-- {
-- addr = PATTERN (insn);
--
-- if (GET_CODE (addr) == PARALLEL)
-- addr = XVECEXP (addr, 0, 0);
--
-- gcc_assert (GET_CODE (addr) == SET);
--
-- addr = SET_SRC (addr);
-- }
-- else
-- {
-- int i;
-- extract_insn_cached (insn);
-- for (i = recog_data.n_operands - 1; i >= 0; --i)
-- if (MEM_P (recog_data.operand[i]))
-- {
-- addr = XEXP (recog_data.operand[i], 0);
-- goto found;
-- }
-- return 0;
-- found:;
-- }
--
-- return modified_in_p (addr, dep_insn);
-+ int i;
-+ extract_insn_cached (use_insn);
-+ for (i = recog_data.n_operands - 1; i >= 0; --i)
-+ if (MEM_P (recog_data.operand[i]))
-+ {
-+ rtx addr = XEXP (recog_data.operand[i], 0);
-+ return modified_in_p (addr, set_insn) != 0;
-+ }
-+ return false;
- }
-
- static int
-@@ -19150,7 +19553,20 @@
- {
- case PROCESSOR_PENTIUM:
- /* Address Generation Interlock adds a cycle of latency. */
-- if (ix86_agi_dependent (insn, dep_insn, insn_type))
-+ if (insn_type == TYPE_LEA)
-+ {
-+ rtx addr = PATTERN (insn);
-+
-+ if (GET_CODE (addr) == PARALLEL)
-+ addr = XVECEXP (addr, 0, 0);
-+
-+ gcc_assert (GET_CODE (addr) == SET);
-+
-+ addr = SET_SRC (addr);
-+ if (modified_in_p (addr, dep_insn))
-+ cost += 1;
-+ }
-+ else if (ix86_agi_dependent (dep_insn, insn))
- cost += 1;
-
- /* ??? Compares pair with jump/setcc. */
-@@ -19160,7 +19576,7 @@
- /* Floating point stores require value to be ready one cycle earlier. */
- if (insn_type == TYPE_FMOV
- && get_attr_memory (insn) == MEMORY_STORE
-- && !ix86_agi_dependent (insn, dep_insn, insn_type))
-+ && !ix86_agi_dependent (dep_insn, insn))
- cost += 1;
- break;
-
-@@ -19183,7 +19599,7 @@
- in parallel with previous instruction in case
- previous instruction is not needed to compute the address. */
- if ((memory == MEMORY_LOAD || memory == MEMORY_BOTH)
-- && !ix86_agi_dependent (insn, dep_insn, insn_type))
-+ && !ix86_agi_dependent (dep_insn, insn))
- {
- /* Claim moves to take one cycle, as core can issue one load
- at time and the next load can start cycle later. */
-@@ -19212,7 +19628,7 @@
- in parallel with previous instruction in case
- previous instruction is not needed to compute the address. */
- if ((memory == MEMORY_LOAD || memory == MEMORY_BOTH)
-- && !ix86_agi_dependent (insn, dep_insn, insn_type))
-+ && !ix86_agi_dependent (dep_insn, insn))
- {
- /* Claim moves to take one cycle, as core can issue one load
- at time and the next load can start cycle later. */
-@@ -19229,6 +19645,7 @@
- case PROCESSOR_ATHLON:
- case PROCESSOR_K8:
- case PROCESSOR_AMDFAM10:
-+ case PROCESSOR_ATOM:
- case PROCESSOR_GENERIC32:
- case PROCESSOR_GENERIC64:
- memory = get_attr_memory (insn);
-@@ -19237,7 +19654,7 @@
- in parallel with previous instruction in case
- previous instruction is not needed to compute the address. */
- if ((memory == MEMORY_LOAD || memory == MEMORY_BOTH)
-- && !ix86_agi_dependent (insn, dep_insn, insn_type))
-+ && !ix86_agi_dependent (dep_insn, insn))
- {
- enum attr_unit unit = get_attr_unit (insn);
- int loadcost = 3;
-@@ -29480,14 +29897,11 @@
- tree
- ix86_fn_abi_va_list (tree fndecl)
- {
-- int abi;
--
- if (!TARGET_64BIT)
- return va_list_type_node;
- gcc_assert (fndecl != NULL_TREE);
-- abi = ix86_function_abi ((const_tree) fndecl);
-
-- if (abi == MS_ABI)
-+ if (ix86_function_abi ((const_tree) fndecl) == MS_ABI)
- return ms_va_list_type_node;
- else
- return sysv_va_list_type_node;
-
-Property changes on: libstdc++-v3/testsuite/27_io/basic_ofstream/cons/char/1.cc
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-
-Property changes on: libstdc++-v3/testsuite/27_io/basic_ofstream/pthread2.cc
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-
-Property changes on: libstdc++-v3/testsuite/27_io/basic_fstream/open/char/1.cc
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-
-Property changes on: libstdc++-v3/testsuite/27_io/basic_fstream/cons/1.cc
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-
-Property changes on: libstdc++-v3/testsuite/27_io/basic_ostringstream/pthread3.cc
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-
-Property changes on: libstdc++-v3/testsuite/18_support/pthread_guard.cc
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-
-Property changes on: libstdc++-v3/testsuite/21_strings/char_traits/requirements/explicit_instantiation/wchar_t/1.cc
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-
-Property changes on: libstdc++-v3/testsuite/21_strings/char_traits/requirements/explicit_instantiation/char/1.cc
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-
-Property changes on: libstdc++-v3/testsuite/21_strings/basic_string/pthread18185.cc
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-
-Property changes on: libstdc++-v3/testsuite/21_strings/basic_string/pthread4.cc
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-
-Property changes on: libstdc++-v3/testsuite/30_threads/thread/members
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-
-Property changes on: libstdc++-v3/testsuite/30_threads/thread/swap
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-
-Property changes on: libstdc++-v3/testsuite/30_threads/condition_variable/members
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-
-Property changes on: libstdc++-v3/testsuite/30_threads/this_thread
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-
-Property changes on: libstdc++-v3/testsuite/ext/rope/pthread7-rope.cc
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-
-Property changes on: libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/requirements/typedefs.cc
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-
-Property changes on: libstdc++-v3/testsuite/tr1/6_containers/unordered_set/requirements/typedefs.cc
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-
-Property changes on: libstdc++-v3/testsuite/tr1/6_containers/unordered_map/requirements/typedefs.cc
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-
-Property changes on: libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/requirements/typedefs.cc
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-
-Property changes on: libstdc++-v3/testsuite/23_containers/unordered_map/requirements/typedefs.cc
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-
-Property changes on: libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/typedefs.cc
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-
-Property changes on: libstdc++-v3/testsuite/23_containers/unordered_set/requirements/typedefs.cc
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-
-Property changes on: libstdc++-v3/testsuite/23_containers/headers/forward_list/synopsis.cc
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-
-Property changes on: libstdc++-v3/testsuite/23_containers/list/pthread5.cc
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-
-Property changes on: libstdc++-v3/testsuite/23_containers/list/pthread1.cc
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-
-Property changes on: libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/typedefs.cc
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-
-Property changes on: libstdc++-v3/testsuite/23_containers/map/pthread6.cc
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-
-Property changes on: libstdc++-v3/testsuite/20_util/unique_ptr/assign/assign_neg.cc
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-
-Property changes on: libstdc++-v3/testsuite/20_util/ratio/cons/cons_overflow_neg.cc
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-
-Property changes on: libstdc++-v3/testsuite/20_util/ratio/operations/ops_overflow_neg.cc
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-
-Property changes on: libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc
-___________________________________________________________________
-Deleted: svn:mergeinfo
-
-
-Property changes on: libjava/classpath
-___________________________________________________________________
-Deleted: svn:mergeinfo
- Reverse-merged /branches/CLASSPATH/libjava/classpath:r144110
-
-
-Property changes on: .
-___________________________________________________________________
-Added: svn:mergeinfo
- Merged /branches/gcc-4_4-branch:r145147-146513
- Merged /trunk:r145624
-