+++ /dev/null
---- libgomp/configure.tgt.jj 2008-01-10 20:53:48.000000000 +0100
-+++ libgomp/configure.tgt 2008-03-27 12:44:51.000000000 +0100
-@@ -67,7 +67,7 @@ if test $enable_linux_futex = yes; then
- ;;
- *)
- if test -z "$with_arch"; then
-- XCFLAGS="${XCFLAGS} -march=i486 -mtune=${target_cpu}"
-+ XCFLAGS="${XCFLAGS} -march=i486 -mtune=generic"
- fi
- esac
- ;;
-@@ -79,7 +79,7 @@ if test $enable_linux_futex = yes; then
- config_path="linux/x86 linux posix"
- case " ${CC} ${CFLAGS} " in
- *" -m32 "*)
-- XCFLAGS="${XCFLAGS} -march=i486 -mtune=i686"
-+ XCFLAGS="${XCFLAGS} -march=i486 -mtune=generic"
- ;;
- esac
- ;;
+++ /dev/null
-2013-06-17 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/56493
- * convert.c (convert_to_real, convert_to_expr, convert_to_complex):
- Handle COMPOUND_EXPR.
-
- * c-c++-common/pr56493.c: New test.
-
---- gcc/convert.c.jj 2013-05-13 09:44:53.000000000 +0200
-+++ gcc/convert.c 2013-06-16 12:16:13.754108523 +0200
-@@ -95,6 +95,15 @@ convert_to_real (tree type, tree expr)
- enum built_in_function fcode = builtin_mathfn_code (expr);
- tree itype = TREE_TYPE (expr);
-
-+ if (TREE_CODE (expr) == COMPOUND_EXPR)
-+ {
-+ tree t = convert_to_real (type, TREE_OPERAND (expr, 1));
-+ if (t == TREE_OPERAND (expr, 1))
-+ return expr;
-+ return build2_loc (EXPR_LOCATION (expr), COMPOUND_EXPR, TREE_TYPE (t),
-+ TREE_OPERAND (expr, 0), t);
-+ }
-+
- /* Disable until we figure out how to decide whether the functions are
- present in runtime. */
- /* Convert (float)sqrt((double)x) where x is float into sqrtf(x) */
-@@ -366,6 +375,15 @@ convert_to_integer (tree type, tree expr
- return error_mark_node;
- }
-
-+ if (ex_form == COMPOUND_EXPR)
-+ {
-+ tree t = convert_to_integer (type, TREE_OPERAND (expr, 1));
-+ if (t == TREE_OPERAND (expr, 1))
-+ return expr;
-+ return build2_loc (EXPR_LOCATION (expr), COMPOUND_EXPR, TREE_TYPE (t),
-+ TREE_OPERAND (expr, 0), t);
-+ }
-+
- /* Convert e.g. (long)round(d) -> lround(d). */
- /* If we're converting to char, we may encounter differing behavior
- between converting from double->char vs double->long->char.
-@@ -854,6 +872,14 @@ convert_to_complex (tree type, tree expr
-
- if (TYPE_MAIN_VARIANT (elt_type) == TYPE_MAIN_VARIANT (subtype))
- return expr;
-+ else if (TREE_CODE (expr) == COMPOUND_EXPR)
-+ {
-+ tree t = convert_to_complex (type, TREE_OPERAND (expr, 1));
-+ if (t == TREE_OPERAND (expr, 1))
-+ return expr;
-+ return build2_loc (EXPR_LOCATION (expr), COMPOUND_EXPR,
-+ TREE_TYPE (t), TREE_OPERAND (expr, 0), t);
-+ }
- else if (TREE_CODE (expr) == COMPLEX_EXPR)
- return fold_build2 (COMPLEX_EXPR, type,
- convert (subtype, TREE_OPERAND (expr, 0)),
---- gcc/testsuite/c-c++-common/pr56493.c.jj 2013-06-17 10:24:36.891659600 +0200
-+++ gcc/testsuite/c-c++-common/pr56493.c 2013-06-17 10:24:33.164720149 +0200
-@@ -0,0 +1,16 @@
-+/* PR c++/56493 */
-+/* { dg-do compile } */
-+/* { dg-options "-O2 -fdump-tree-gimple" } */
-+
-+unsigned long long bar (void);
-+int x;
-+
-+void
-+foo (void)
-+{
-+ x += bar ();
-+}
-+
-+/* Verify we narrow the addition from unsigned long long to unsigned int type. */
-+/* { dg-final { scan-tree-dump " (\[a-zA-Z._0-9]*) = \\(unsigned int\\) \[^;\n\r]*;.* (\[a-zA-Z._0-9]*) = \\(unsigned int\\) \[^;\n\r]*;.* = \\1 \\+ \\2;" "gimple" { target { ilp32 || lp64 } } } } */
-+/* { dg-final { cleanup-tree-dump "gimple" } } */