[arch-commits] Commit in gcc-multilib/trunk (4 files)

Jan Steffens heftig at archlinux.org
Sun May 3 20:23:27 UTC 2015


    Date: Sunday, May 3, 2015 @ 22:23:27
  Author: heftig
Revision: 132666

5.1.0-2

Added:
  gcc-multilib/trunk/pr65801.patch
  gcc-multilib/trunk/pr65822.patch
  gcc-multilib/trunk/pr65873.patch
Modified:
  gcc-multilib/trunk/PKGBUILD

---------------+
 PKGBUILD      |   45 ++++++++++++++++++++++++++++++--------
 pr65801.patch |   54 +++++++++++++++++++++++++++++++++++++++++++++
 pr65822.patch |   66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 pr65873.patch |   17 ++++++++++++++
 4 files changed, 173 insertions(+), 9 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2015-05-03 18:49:47 UTC (rev 132665)
+++ PKGBUILD	2015-05-03 20:23:27 UTC (rev 132666)
@@ -9,8 +9,8 @@
 pkgver=5.1.0
 _pkgver=5
 _islver=0.14.1
-pkgrel=1
-#_snapshot=5.1.0-RC-20150412
+pkgrel=2
+_snapshot=5-20150428
 pkgdesc="The GNU Compiler Collection for multilib"
 arch=('x86_64')
 license=('GPL' 'LGPL' 'FDL' 'custom')
@@ -19,11 +19,17 @@
              'lib32-glibc>=2.21')
 checkdepends=('dejagnu' 'inetutils')
 options=('!emptydirs')
-source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2
-        #ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-${_snapshot}.tar.bz2
-        http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2)
-md5sums=('d5525b1127d07d215960e6051c5da35e'
-         '118d1a379abf7606a3334c98a8411c79')
+source=(#ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2
+        ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-${_snapshot}.tar.bz2
+        http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2
+        pr65801.patch
+        pr65822.patch
+        pr65873.patch)
+md5sums=('6068bb8e23caa1172a127026e05ed311'
+         '118d1a379abf7606a3334c98a8411c79'
+         '0e0ab8f824573f51733aaeee84254df6'
+         '9a9cc98e916fd37c7b3dad50f29d2f48'
+         'cad91055efb6e20919fb81aff1600d8e')
 
 if [ -n "${_snapshot}" ]; then
   _basedir=gcc-${_snapshot}
@@ -50,6 +56,15 @@
   # hack! - some configure tests for header files using "$CPP $CPPFLAGS"
   sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure
 
+  # commit 346ee8b5
+  patch -p1 -i ${srcdir}/pr65801.patch
+
+  # https://gcc.gnu.org/ml/gcc-patches/2015-04/msg01558.html
+  patch -p1 -i ${srcdir}/pr65822.patch
+
+  # commit a64b35493
+  patch -p1 -i ${srcdir}/pr65873.patch
+
   mkdir ${srcdir}/gcc-build
 }
 
@@ -66,7 +81,7 @@
       --mandir=/usr/share/man --infodir=/usr/share/info \
       --with-bugurl=https://bugs.archlinux.org/ \
       --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ \
-      --enable-shared --enable-threads=posix \
+      --enable-shared --enable-threads=posix --enable-libmpx \
       --with-system-zlib --with-isl --enable-__cxa_atexit \
       --disable-libunwind-exceptions --enable-clocale=gnu \
       --disable-libstdcxx-pch --disable-libssp \
@@ -120,6 +135,9 @@
 
   make -C $CHOST/32/libobjc DESTDIR=${pkgdir} install-libs
 
+  make -C $CHOST/32/libmpx DESTDIR=${pkgdir} install
+  rm ${pkgdir}/usr/lib32/libmpx.spec
+
   # remove stuff in gcc-libs-multilib
   rm -r ${pkgdir}/usr/lib
 
@@ -161,6 +179,9 @@
 
   make -C $CHOST/libstdc++-v3/po DESTDIR=${pkgdir} install
 
+  make -C $CHOST/libmpx DESTDIR=${pkgdir} install
+  rm ${pkgdir}/usr/lib/libmpx.spec
+
   for lib in libgomp \
              libitm \
              libquadmath; do
@@ -213,7 +234,11 @@
 
   make DESTDIR=${pkgdir} install-fixincludes
   make -C gcc DESTDIR=${pkgdir} install-mkheaders
+
   make -C lto-plugin DESTDIR=${pkgdir} install
+  install -dm755 ${pkgdir}/usr/lib/bfd-plugins/
+  ln -s /usr/lib/gcc/$CHOST/${pkgver}/liblto_plugin.so \
+    ${pkgdir}/usr/lib/bfd-plugins/
 
   make -C $CHOST/libcilkrts DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS \
     install-nodist_cilkincludeHEADERS
@@ -223,11 +248,13 @@
   make -C $CHOST/libquadmath DESTDIR=${pkgdir} install-nodist_libsubincludeHEADERS
   make -C $CHOST/libsanitizer DESTDIR=${pkgdir} install-nodist_{saninclude,toolexeclib}HEADERS
   make -C $CHOST/libsanitizer/asan DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS
+  make -C $CHOST/libmpx DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS
   make -C $CHOST/32/libcilkrts DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS
   make -C $CHOST/32/libgomp DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS
   make -C $CHOST/32/libitm DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS
   make -C $CHOST/32/libsanitizer DESTDIR=${pkgdir} install-nodist_{saninclude,toolexeclib}HEADERS
   make -C $CHOST/32/libsanitizer/asan DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS
+  make -C $CHOST/32/libmpx DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS
 
   make -C libiberty DESTDIR=${pkgdir} install
   # install PIC version of libiberty
@@ -363,7 +390,7 @@
   pkgdesc="Go front-end for GCC for multilib"
   depends=("gcc-multilib=$pkgver-$pkgrel")
   provides=("gcc-go=$pkgver-$pkgrel")
-  conflicts=('gcc-go')
+  conflicts=('go' 'gcc-go')
   options=('!emptydirs')
   install=gcc-go.install
 

Added: pr65801.patch
===================================================================
--- pr65801.patch	                        (rev 0)
+++ pr65801.patch	2015-05-03 20:23:27 UTC (rev 132666)
@@ -0,0 +1,54 @@
+diff --git a/gcc/cp/typeck2.c b/gcc/cp/typeck2.c
+index 80a6939..884957b 100644
+--- a/gcc/cp/typeck2.c
++++ b/gcc/cp/typeck2.c
+@@ -957,9 +957,13 @@ check_narrowing (tree type, tree init, tsubst_flags_t complain)
+ 	    }
+ 	}
+       else if (complain & tf_error)
+-	error_at (EXPR_LOC_OR_LOC (init, input_location),
+-		  "narrowing conversion of %qE from %qT to %qT inside { }",
+-		  init, ftype, type);
++	{
++	  global_dc->pedantic_errors = 1;
++	  pedwarn (EXPR_LOC_OR_LOC (init, input_location), OPT_Wnarrowing,
++		   "narrowing conversion of %qE from %qT to %qT inside { }",
++		   init, ftype, type);
++	  global_dc->pedantic_errors = flag_pedantic_errors;
++	}
+     }
+ 
+   return cxx_dialect == cxx98 || ok; 
+diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
+index 520c2c5..4ef8f7f 100644
+--- a/gcc/doc/invoke.texi
++++ b/gcc/doc/invoke.texi
+@@ -2703,10 +2703,10 @@ int i = @{ 2.2 @}; // error: narrowing from double to int
+ 
+ This flag is included in @option{-Wall} and @option{-Wc++11-compat}.
+ 
+-With @option{-std=c++11}, @option{-Wno-narrowing} suppresses for
+-non-constants the diagnostic required by the standard.  Note that this
+-does not affect the meaning of well-formed code; narrowing conversions
+-are still considered ill-formed in SFINAE context.
++With @option{-std=c++11}, @option{-Wno-narrowing} suppresses the diagnostic
++required by the standard.  Note that this does not affect the meaning
++of well-formed code; narrowing conversions are still considered
++ill-formed in SFINAE context.
+ 
+ @item -Wnoexcept @r{(C++ and Objective-C++ only)}
+ @opindex Wnoexcept
+diff --git a/gcc/testsuite/g++.dg/cpp0x/Wnarrowing2.C b/gcc/testsuite/g++.dg/cpp0x/Wnarrowing2.C
+new file mode 100644
+index 0000000..fc806f9
+--- /dev/null
++++ b/gcc/testsuite/g++.dg/cpp0x/Wnarrowing2.C
+@@ -0,0 +1,5 @@
++// PR c++/65801
++// { dg-do compile { target c++11 } }
++// { dg-options "-Wno-narrowing" }
++
++static struct zai { unsigned int x; } x = {-1};
+-- 
+2.3.6
+

Added: pr65822.patch
===================================================================
--- pr65822.patch	                        (rev 0)
+++ pr65822.patch	2015-05-03 20:23:27 UTC (rev 132666)
@@ -0,0 +1,66 @@
+diff --git a/gcc/cp/call.c b/gcc/cp/call.c
+index 7bdf236..689d542 100644
+--- a/gcc/cp/call.c
++++ b/gcc/cp/call.c
+@@ -5677,8 +5677,9 @@ build_new_op_1 (location_t loc, enum tree_code code, int flags, tree arg1,
+     case TRUTH_ORIF_EXPR:
+     case TRUTH_AND_EXPR:
+     case TRUTH_OR_EXPR:
+-      warn_logical_operator (loc, code, boolean_type_node,
+-			     code_orig_arg1, arg1, code_orig_arg2, arg2);
++      if (complain & tf_warning)
++	warn_logical_operator (loc, code, boolean_type_node,
++			       code_orig_arg1, arg1, code_orig_arg2, arg2);
+       /* Fall through.  */
+     case GT_EXPR:
+     case LT_EXPR:
+@@ -5686,8 +5687,9 @@ build_new_op_1 (location_t loc, enum tree_code code, int flags, tree arg1,
+     case LE_EXPR:
+     case EQ_EXPR:
+     case NE_EXPR:
+-      if ((code_orig_arg1 == BOOLEAN_TYPE)
+-	  ^ (code_orig_arg2 == BOOLEAN_TYPE))
++      if ((complain & tf_warning)
++	  && ((code_orig_arg1 == BOOLEAN_TYPE)
++	      ^ (code_orig_arg2 == BOOLEAN_TYPE)))
+ 	maybe_warn_bool_compare (loc, code, arg1, arg2);
+       /* Fall through.  */
+     case PLUS_EXPR:
+diff --git a/gcc/testsuite/g++.dg/diagnostic/inhibit-warn.C b/gcc/testsuite/g++.dg/diagnostic/inhibit-warn.C
+new file mode 100644
+index 0000000..5655eb4
+--- /dev/null
++++ b/gcc/testsuite/g++.dg/diagnostic/inhibit-warn.C
+@@ -0,0 +1,32 @@
++// PR c++/65882
++// { dg-do compile { target c++11 } }
++// { dg-options "-Wbool-compare" }
++
++// Check that we don't ICE because of reentering error reporting routines while
++// evaluating template parameters
++
++template<typename>
++struct type_function {
++  static constexpr bool value = false;
++};
++
++template<bool>
++struct dependent_type {
++  typedef int type;
++};
++
++template<typename T>
++typename dependent_type<(5 > type_function<T>::value)>::type
++bar();
++
++template<typename T>
++typename dependent_type<(5 > type_function<T>::value)>::type
++foo()
++{
++  return bar<int>();
++}
++
++int main()
++{
++  foo<int>();
++}

Added: pr65873.patch
===================================================================
--- pr65873.patch	                        (rev 0)
+++ pr65873.patch	2015-05-03 20:23:27 UTC (rev 132666)
@@ -0,0 +1,17 @@
+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
+



More information about the arch-commits mailing list