[arch-commits] Commit in gcc-multilib/trunk (4 files)
Jan Steffens
heftig at archlinux.org
Wed May 6 16:57:28 UTC 2015
Date: Wednesday, May 6, 2015 @ 18:57:28
Author: heftig
Revision: 132831
5.1.0-3
Added:
gcc-multilib/trunk/pr65882.patch
Modified:
gcc-multilib/trunk/PKGBUILD
Deleted:
gcc-multilib/trunk/pr65801.patch
gcc-multilib/trunk/pr65822.patch
---------------+
PKGBUILD | 15 ++++--------
pr65801.patch | 54 ---------------------------------------------
pr65822.patch | 66 --------------------------------------------------------
pr65882.patch | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 71 insertions(+), 130 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2015-05-06 16:02:49 UTC (rev 132830)
+++ PKGBUILD 2015-05-06 16:57:28 UTC (rev 132831)
@@ -9,8 +9,8 @@
pkgver=5.1.0
_pkgver=5
_islver=0.14.1
-pkgrel=2
-_snapshot=5-20150428
+pkgrel=3
+_snapshot=5-20150505
pkgdesc="The GNU Compiler Collection for multilib"
arch=('x86_64')
license=('GPL' 'LGPL' 'FDL' 'custom')
@@ -22,12 +22,10 @@
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
+ pr65882.patch
pr65873.patch)
-md5sums=('6068bb8e23caa1172a127026e05ed311'
+md5sums=('8acc1b53380be0dd56e67990ba1fc06e'
'118d1a379abf7606a3334c98a8411c79'
- '0e0ab8f824573f51733aaeee84254df6'
'9a9cc98e916fd37c7b3dad50f29d2f48'
'cad91055efb6e20919fb81aff1600d8e')
@@ -56,11 +54,8 @@
# 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
+ patch -p1 -i ${srcdir}/pr65882.patch
# commit a64b35493
patch -p1 -i ${srcdir}/pr65873.patch
Deleted: pr65801.patch
===================================================================
--- pr65801.patch 2015-05-06 16:02:49 UTC (rev 132830)
+++ pr65801.patch 2015-05-06 16:57:28 UTC (rev 132831)
@@ -1,54 +0,0 @@
-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
-
Deleted: pr65822.patch
===================================================================
--- pr65822.patch 2015-05-06 16:02:49 UTC (rev 132830)
+++ pr65822.patch 2015-05-06 16:57:28 UTC (rev 132831)
@@ -1,66 +0,0 @@
-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: pr65882.patch
===================================================================
--- pr65882.patch (rev 0)
+++ pr65882.patch 2015-05-06 16:57:28 UTC (rev 132831)
@@ -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>();
++}
More information about the arch-commits
mailing list