Date: Monday, July 20, 2015 @ 08:43:30 Author: heftig Revision: 242381
remove unused patches Deleted: gcc/trunk/pr65882.patch gcc/trunk/pr66647.patch ---------------+ pr65882.patch | 106 -------------------------------------------------------- pr66647.patch | 87 --------------------------------------------- 2 files changed, 193 deletions(-) Deleted: pr65882.patch =================================================================== --- pr65882.patch 2015-07-20 06:08:17 UTC (rev 242380) +++ pr65882.patch 2015-07-20 06:43:30 UTC (rev 242381) @@ -1,106 +0,0 @@ -Index: gcc/testsuite/g++.dg/diagnostic/inhibit-warn-1.C -=================================================================== ---- gcc/testsuite/g++.dg/diagnostic/inhibit-warn-1.C (revision 0) -+++ gcc/testsuite/g++.dg/diagnostic/inhibit-warn-1.C (revision 224864) -@@ -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>(); -+} -Index: gcc/testsuite/g++.dg/diagnostic/inhibit-warn-2.C -=================================================================== ---- gcc/testsuite/g++.dg/diagnostic/inhibit-warn-2.C (revision 0) -+++ gcc/testsuite/g++.dg/diagnostic/inhibit-warn-2.C (revision 224864) -@@ -0,0 +1,36 @@ -+// PR c++/65882 -+// PR c++/66467 -+// { dg-do compile } -+ -+template <bool> -+struct A -+{ -+ typedef int type; -+}; -+ -+struct B -+{ -+ static const int value = 0; -+}; -+ -+template <class> -+struct C -+{ -+ typedef int type; -+}; -+ -+template <class> -+struct F : B {}; -+ -+class D -+{ -+ template <class Expr> -+ typename A<F<typename C<Expr>::type>::value || B::value>::type -+ operator=(Expr); // { dg-message "declared" } -+}; -+ -+void fn1() -+{ -+ D opt; -+ opt = 0; // { dg-error "private" } -+} -Index: gcc/cp/call.c -=================================================================== ---- gcc/cp/call.c (revision 224863) -+++ gcc/cp/call.c (revision 224864) -@@ -5687,8 +5687,9 @@ - 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: -@@ -5696,8 +5697,9 @@ - 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: Deleted: pr66647.patch =================================================================== --- pr66647.patch 2015-07-20 06:08:17 UTC (rev 242380) +++ pr66647.patch 2015-07-20 06:43:30 UTC (rev 242381) @@ -1,87 +0,0 @@ -Index: gcc/testsuite/g++.dg/cpp0x/alias-decl-49.C -=================================================================== ---- gcc/testsuite/g++.dg/cpp0x/alias-decl-49.C (revision 0) -+++ gcc/testsuite/g++.dg/cpp0x/alias-decl-49.C (revision 224921) -@@ -0,0 +1,54 @@ -+// PR c++/66647 -+// { dg-do compile { target c++11 } } -+ -+template <typename _Tp> struct A -+{ -+ static constexpr _Tp value = 1; -+}; -+template <typename> class B -+{ -+public: -+ template <typename> struct rebind -+ { -+ }; -+}; -+ -+template <typename _Alloc, typename _Tp> class C -+{ -+ template <typename _Alloc2, typename _Tp2> -+ static A<int> _S_chk (typename _Alloc2::template rebind<_Tp2> *); -+ -+public: -+ using __type = decltype (_S_chk<_Alloc, _Tp> (0)); -+}; -+ -+template <typename _Alloc, typename _Tp, int = C<_Alloc, _Tp>::__type::value> -+struct D; -+template <typename _Alloc, typename _Tp> struct D<_Alloc, _Tp, 1> -+{ -+ typedef typename _Alloc::template rebind<_Tp> __type; -+}; -+template <typename _Alloc> struct F -+{ -+ template <typename _Tp> using rebind_alloc = typename D<_Alloc, _Tp>::__type; -+}; -+template <typename _Alloc> struct __alloc_traits -+{ -+ template <typename> struct rebind -+ { -+ typedef typename F<_Alloc>::template rebind_alloc<int> other; -+ }; -+}; -+template <typename _Alloc> struct G -+{ -+ typename __alloc_traits<_Alloc>::template rebind<int>::other _Tp_alloc_type; -+}; -+template <typename _Tp, typename _Alloc = B<_Tp> > class vector : G<_Alloc> -+{ -+}; -+ -+template <int> using tfuncptr = void(); -+template <int d> struct H -+{ -+ vector<tfuncptr<d> > funcs; -+}; -Index: gcc/cp/pt.c -=================================================================== ---- gcc/cp/pt.c (revision 224920) -+++ gcc/cp/pt.c (revision 224921) -@@ -20975,6 +20975,12 @@ - names a dependent type. */ - if (TREE_CODE (type) == TYPENAME_TYPE) - return true; -+ -+ /* An alias template specialization can be dependent even if the -+ resulting type is not. */ -+ if (dependent_alias_template_spec_p (type)) -+ return true; -+ - /* -- a cv-qualified type where the cv-unqualified type is - dependent. - No code is necessary for this bullet; the code below handles -@@ -21026,10 +21032,6 @@ - && (any_dependent_template_arguments_p - (INNERMOST_TEMPLATE_ARGS (CLASSTYPE_TI_ARGS (type))))) - return true; -- /* For an alias template specialization, check the arguments both to the -- class template and the alias template. */ -- else if (dependent_alias_template_spec_p (type)) -- return true; - - /* All TYPEOF_TYPEs, DECLTYPE_TYPEs, and UNDERLYING_TYPEs are - dependent; if the argument of the `typeof' expression is not