From 471a14dd25e5ce141ff20a4e617fd67e278c1242 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Thu, 17 Jul 2014 07:55:15 +0200 Subject: [PATCH] gcc: update to 4.9.1. --- .../patches/gcc-4.9-tree-ssa-threadedge.patch | 40 ------------------- srcpkgs/gcc/template | 6 +-- 2 files changed, 3 insertions(+), 43 deletions(-) delete mode 100644 srcpkgs/gcc/patches/gcc-4.9-tree-ssa-threadedge.patch diff --git a/srcpkgs/gcc/patches/gcc-4.9-tree-ssa-threadedge.patch b/srcpkgs/gcc/patches/gcc-4.9-tree-ssa-threadedge.patch deleted file mode 100644 index ef1751b6cf7..00000000000 --- a/srcpkgs/gcc/patches/gcc-4.9-tree-ssa-threadedge.patch +++ /dev/null @@ -1,40 +0,0 @@ -http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60902 - ---- gcc/tree-ssa-threadedge.c 2014/04/23 17:53:56 209715 -+++ gcc/tree-ssa-threadedge.c 2014/04/23 18:04:46 209716 -@@ -387,7 +387,34 @@ - && (gimple_code (stmt) != GIMPLE_CALL - || gimple_call_lhs (stmt) == NULL_TREE - || TREE_CODE (gimple_call_lhs (stmt)) != SSA_NAME)) -- continue; -+ { -+ /* STMT might still have DEFS and we need to invalidate any known -+ equivalences for them. -+ -+ Consider if STMT is a GIMPLE_ASM with one or more outputs that -+ feeds a conditional inside a loop. We might derive an equivalence -+ due to the conditional. */ -+ tree op; -+ ssa_op_iter iter; -+ -+ if (backedge_seen) -+ FOR_EACH_SSA_TREE_OPERAND (op, stmt, iter, SSA_OP_DEF) -+ { -+ /* This call only invalidates equivalences created by -+ PHI nodes. This is by design to keep the cost of -+ of invalidation reasonable. */ -+ invalidate_equivalences (op, stack, src_map, dst_map); -+ -+ /* However, conditionals can imply values for real -+ operands as well. And those won't be recorded in the -+ maps. In fact, those equivalences may be recorded totally -+ outside the threading code. We can just create a new -+ temporary NULL equivalence here. */ -+ record_temporary_equivalence (op, NULL_TREE, stack); -+ } -+ -+ continue; -+ } - - /* The result of __builtin_object_size depends on all the arguments - of a phi node. Temporarily using only one edge produces invalid diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template index 19e5db0ccf0..972c70a9cc2 100644 --- a/srcpkgs/gcc/template +++ b/srcpkgs/gcc/template @@ -1,14 +1,14 @@ # Template build file for 'gcc' pkgname=gcc _majorver=4.9 -version=${_majorver}.0 -revision=6 +version=${_majorver}.1 +revision=1 short_desc="The GNU C Compiler" maintainer="Juan RP " homepage="http://gcc.gnu.org" license="GFDL-1.2, GPL-3, LGPL-2.1" distfiles="http://ftp.gnu.org/pub/gnu/gcc/gcc-$version/gcc-$version.tar.bz2" -checksum=b9b047a97bade9c1c89970bc8e211ff57b7b8998a1730a80a653d329f8ed1257 +checksum=d334781a124ada6f38e63b545e2a3b8c2183049515a1abab6d513f109f1d717e lib32disabled=yes bootstrap=yes