[arch-commits] Commit in gcc/trunk (PKGBUILD pr65873.patch pr66035.patch)

Allan McRae allan at archlinux.org
Thu May 21 12:13:20 UTC 2015


    Date: Thursday, May 21, 2015 @ 14:13:20
  Author: allan
Revision: 239610

upgpkg: gcc 5.1.0-4

new snapshot, remove patch applied upstream and add a new one...

Added:
  gcc/trunk/pr66035.patch
Modified:
  gcc/trunk/PKGBUILD
Deleted:
  gcc/trunk/pr65873.patch

---------------+
 PKGBUILD      |   14 +++++++-------
 pr65873.patch |   17 -----------------
 pr66035.patch |   48 ++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 55 insertions(+), 24 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2015-05-21 12:12:04 UTC (rev 239609)
+++ PKGBUILD	2015-05-21 12:13:20 UTC (rev 239610)
@@ -8,8 +8,8 @@
 pkgver=5.1.0
 _pkgver=5
 _islver=0.14.1
-pkgrel=3
-_snapshot=5-20150505
+pkgrel=4
+_snapshot=5-20150519
 pkgdesc="The GNU Compiler Collection"
 arch=('i686' 'x86_64')
 license=('GPL' 'LGPL' 'FDL' 'custom')
@@ -21,11 +21,11 @@
         ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-${_snapshot}.tar.bz2
         http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2
         pr65882.patch
-        pr65873.patch)
-md5sums=('8acc1b53380be0dd56e67990ba1fc06e'
+        pr66035.patch)
+md5sums=('84f261b2f23e154ec6d9bd4149851a21'
          '118d1a379abf7606a3334c98a8411c79'
          '9a9cc98e916fd37c7b3dad50f29d2f48'
-         'cad91055efb6e20919fb81aff1600d8e')
+         '5b980076cd5fcbc3aff6014f306282dd')
 
 if [ -n "${_snapshot}" ]; then
   _basedir=gcc-${_snapshot}
@@ -55,8 +55,8 @@
   # https://gcc.gnu.org/ml/gcc-patches/2015-04/msg01558.html
   patch -p1 -i ${srcdir}/pr65882.patch
 
-  # commit a64b35493
-  patch -p1 -i ${srcdir}/pr65873.patch
+  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66035
+  patch -p1 -i ${srcdir}/pr66035.patch
 
   mkdir ${srcdir}/gcc-build
 }

Deleted: pr65873.patch
===================================================================
--- pr65873.patch	2015-05-21 12:12:04 UTC (rev 239609)
+++ pr65873.patch	2015-05-21 12:13:20 UTC (rev 239610)
@@ -1,17 +0,0 @@
-diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c
-index 565c5e3..1427761 100644
---- a/gcc/ipa-inline.c
-+++ b/gcc/ipa-inline.c
-@@ -439,9 +439,6 @@ can_inline_edge_p (struct cgraph_edge *e, bool report,
- 	       == !opt_for_fn (callee->decl, optimize) || !always_inline))
- 	  || check_match (flag_wrapv)
- 	  || check_match (flag_trapv)
--	  /* Strictly speaking only when the callee contains memory
--	     accesses that are not using alias-set zero anyway.  */
--	  || check_maybe_down (flag_strict_aliasing)
- 	  /* Strictly speaking only when the callee uses FP math.  */
- 	  || check_maybe_up (flag_rounding_math)
- 	  || check_maybe_up (flag_trapping_math)
--- 
-2.3.6
-

Added: pr66035.patch
===================================================================
--- pr66035.patch	                        (rev 0)
+++ pr66035.patch	2015-05-21 12:13:20 UTC (rev 239610)
@@ -0,0 +1,48 @@
+--- a/gcc/fortran/trans-expr.c	
++++ a/gcc/fortran/trans-expr.c	
+@@ -6897,6 +6897,30 @@ alloc_scalar_allocatable_for_subcomponent_assignment (stmtblock_t *block,
+ 				       TREE_TYPE (tmp), tmp,
+ 				       fold_convert (TREE_TYPE (tmp), size));
+     }
++  else if (cm->ts.type == BT_CLASS)
++    {
++      gcc_assert (expr2->ts.type == BT_CLASS || expr2->ts.type == BT_DERIVED);
++      if (expr2->ts.type == BT_DERIVED)
++	{
++	  tmp = gfc_get_symbol_decl (gfc_find_vtab (&expr2->ts));
++	  tmp = gfc_build_addr_expr (NULL_TREE, tmp);
++	  size = fold_convert (size_type_node, gfc_vptr_size_get (tmp));
++	}
++      else
++	{
++	  gfc_expr *e2vtab;
++	  gfc_se se;
++	  e2vtab = gfc_find_and_cut_at_last_class_ref (expr2);
++	  gfc_add_vptr_component (e2vtab);
++	  gfc_add_size_component (e2vtab);
++	  gfc_init_se (&se, NULL);
++	  gfc_conv_expr (&se, e2vtab);
++	  gfc_add_block_to_block (block, &se.pre);
++	  size = fold_convert (size_type_node, se.expr);
++	  gfc_free_expr (e2vtab);
++	}
++      size_in_bytes = size;
++    }
+   else
+     {
+       /* Otherwise use the length in bytes of the rhs.  */
+@@ -7068,6 +7092,14 @@ gfc_trans_subcomponent_assign (tree dest, gfc_component * cm, gfc_expr * expr,
+ 	  tmp = gfc_build_memcpy_call (tmp, se.expr, size);
+ 	  gfc_add_expr_to_block (&block, tmp);
+ 	}
++      else if (cm->ts.type == BT_CLASS && expr->ts.type == BT_CLASS)
++	{
++	  tmp = gfc_copy_class_to_class (se.expr, dest, integer_one_node,
++				   CLASS_DATA (cm)->attr.unlimited_polymorphic);
++	  gfc_add_expr_to_block (&block, tmp);
++	  gfc_add_modify (&block, gfc_class_vptr_get (dest),
++			  gfc_class_vptr_get (se.expr));
++	}
+       else
+ 	gfc_add_modify (&block, tmp,
+ 			fold_convert (TREE_TYPE (tmp), se.expr));



More information about the arch-commits mailing list